Recovered from cvs revision 2007-07-20 09:23:00
This commit is contained in:
parent
3a52d14974
commit
f263c4f96f
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: Awk.cpp,v 1.7 2007/07/18 11:12:34 bacon Exp $
|
* $Id: Awk.cpp,v 1.8 2007/07/19 14:35:10 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
@ -124,8 +124,9 @@ namespace ASE
|
|||||||
|
|
||||||
int openPipe (Pipe& io)
|
int openPipe (Pipe& io)
|
||||||
{
|
{
|
||||||
ASE::Net::Awk::Pipe^ nio = gcnew ASE::Net::Awk::Pipe ();
|
ASE::Net::Awk::Pipe^ nio = gcnew ASE::Net::Awk::Pipe (
|
||||||
nio->Mode = (ASE::Net::Awk::Pipe::MODE)io.getMode();
|
gcnew System::String (io.getName ()),
|
||||||
|
(ASE::Net::Awk::Pipe::MODE)io.getMode());
|
||||||
|
|
||||||
GCHandle gh = GCHandle::Alloc (nio);
|
GCHandle gh = GCHandle::Alloc (nio);
|
||||||
io.setHandle (GCHandle::ToIntPtr(gh).ToPointer());
|
io.setHandle (GCHandle::ToIntPtr(gh).ToPointer());
|
||||||
@ -171,8 +172,9 @@ namespace ASE
|
|||||||
|
|
||||||
int openFile (File& io)
|
int openFile (File& io)
|
||||||
{
|
{
|
||||||
ASE::Net::Awk::File^ nio = gcnew ASE::Net::Awk::File ();
|
ASE::Net::Awk::File^ nio = gcnew ASE::Net::Awk::File (
|
||||||
nio->Mode = (ASE::Net::Awk::File::MODE)io.getMode();
|
gcnew System::String (io.getName ()),
|
||||||
|
(ASE::Net::Awk::File::MODE)io.getMode());
|
||||||
|
|
||||||
GCHandle gh = GCHandle::Alloc (nio);
|
GCHandle gh = GCHandle::Alloc (nio);
|
||||||
io.setHandle (GCHandle::ToIntPtr(gh).ToPointer());
|
io.setHandle (GCHandle::ToIntPtr(gh).ToPointer());
|
||||||
@ -218,8 +220,9 @@ namespace ASE
|
|||||||
|
|
||||||
int openConsole (Console& io)
|
int openConsole (Console& io)
|
||||||
{
|
{
|
||||||
ASE::Net::Awk::Console^ nio = gcnew ASE::Net::Awk::Console ();
|
ASE::Net::Awk::Console^ nio = gcnew ASE::Net::Awk::Console (
|
||||||
nio->Mode = (ASE::Net::Awk::Console::MODE)io.getMode();
|
gcnew System::String (io.getName ()),
|
||||||
|
(ASE::Net::Awk::Console::MODE)io.getMode());
|
||||||
|
|
||||||
GCHandle gh = GCHandle::Alloc (nio);
|
GCHandle gh = GCHandle::Alloc (nio);
|
||||||
io.setHandle (GCHandle::ToIntPtr(gh).ToPointer());
|
io.setHandle (GCHandle::ToIntPtr(gh).ToPointer());
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: Awk.hpp,v 1.5 2007/07/18 11:12:34 bacon Exp $
|
* $Id: Awk.hpp,v 1.6 2007/07/19 14:35:10 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
@ -39,8 +39,9 @@ namespace ASE
|
|||||||
ref class Extio
|
ref class Extio
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Extio (): handle (nullptr)
|
Extio (System::String^ name): handle (nullptr)
|
||||||
{
|
{
|
||||||
|
this->name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
property Object^ Handle
|
property Object^ Handle
|
||||||
@ -49,8 +50,14 @@ namespace ASE
|
|||||||
void set (Object^ handle) { this->handle = handle; }
|
void set (Object^ handle) { this->handle = handle; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
property System::String^ Name
|
||||||
|
{
|
||||||
|
System::String^ get () { return this->name; }
|
||||||
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Object^ handle;
|
Object^ handle;
|
||||||
|
System::String^ name;
|
||||||
};
|
};
|
||||||
|
|
||||||
ref class Pipe: public Extio
|
ref class Pipe: public Extio
|
||||||
@ -65,9 +72,13 @@ namespace ASE
|
|||||||
property MODE^ Mode
|
property MODE^ Mode
|
||||||
{
|
{
|
||||||
MODE^ get () { return this->mode; }
|
MODE^ get () { return this->mode; }
|
||||||
void set (MODE^ mode) { this->mode = mode; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Pipe (System::String^ name, MODE^ mode): Extio (name)
|
||||||
|
{
|
||||||
|
this->mode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MODE^ mode;
|
MODE^ mode;
|
||||||
};
|
};
|
||||||
@ -85,9 +96,13 @@ namespace ASE
|
|||||||
property MODE^ Mode
|
property MODE^ Mode
|
||||||
{
|
{
|
||||||
MODE^ get () { return this->mode; }
|
MODE^ get () { return this->mode; }
|
||||||
void set (MODE^ mode) { this->mode = mode; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
File (System::String^ name, MODE^ mode): Extio (name)
|
||||||
|
{
|
||||||
|
this->mode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MODE^ mode;
|
MODE^ mode;
|
||||||
};
|
};
|
||||||
@ -104,9 +119,13 @@ namespace ASE
|
|||||||
property MODE^ Mode
|
property MODE^ Mode
|
||||||
{
|
{
|
||||||
MODE^ get () { return this->mode; }
|
MODE^ get () { return this->mode; }
|
||||||
void set (MODE^ mode) { this->mode = mode; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Console (System::String^ name, MODE^ mode): Extio (name)
|
||||||
|
{
|
||||||
|
this->mode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MODE^ mode;
|
MODE^ mode;
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: StdAwk.cpp,v 1.1 2007/07/15 16:31:59 bacon Exp $
|
* $Id: StdAwk.cpp,v 1.2 2007/07/19 14:35:10 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
@ -11,5 +11,106 @@ namespace ASE
|
|||||||
namespace Net
|
namespace Net
|
||||||
{
|
{
|
||||||
|
|
||||||
|
StdAwk::StdAwk ()
|
||||||
|
{
|
||||||
|
OpenFileHandler += gcnew OpenFile (this, &StdAwk::openFile);
|
||||||
|
CloseFileHandler += gcnew CloseFile (this, &StdAwk::closeFile);
|
||||||
|
ReadFileHandler += gcnew ReadFile (this, &StdAwk::readFile);
|
||||||
|
WriteFileHandler += gcnew WriteFile (this, &StdAwk::writeFile);
|
||||||
|
FlushFileHandler += gcnew FlushFile (this, &StdAwk::flushFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
StdAwk::~StdAwk ()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
int StdAwk::openFile (File^ file)
|
||||||
|
{
|
||||||
|
System::IO::FileMode mode;
|
||||||
|
System::IO::FileAccess access;
|
||||||
|
System::IO::FileStream^ fs;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (file->Mode->Equals(File::MODE::READ))
|
||||||
|
{
|
||||||
|
mode = System::IO::FileMode::Open;
|
||||||
|
access = System::IO::FileAccess::Read;
|
||||||
|
|
||||||
|
fs = gcnew System::IO::FileStream (file->Name, mode, access);
|
||||||
|
System::IO::StreamReader^ rd = gcnew System::IO::StreamReader (fs);
|
||||||
|
file->Handle = rd;
|
||||||
|
}
|
||||||
|
else if (file->Mode->Equals(File::MODE::WRITE))
|
||||||
|
{
|
||||||
|
mode = System::IO::FileMode::Create;
|
||||||
|
access = System::IO::FileAccess::Write;
|
||||||
|
|
||||||
|
fs = gcnew System::IO::FileStream (file->Name, mode, access);
|
||||||
|
System::IO::StreamWriter^ wr = gcnew System::IO::StreamWriter (fs);
|
||||||
|
file->Handle = wr;
|
||||||
|
}
|
||||||
|
else /* File::MODE::APPEND */
|
||||||
|
{
|
||||||
|
mode = System::IO::FileMode::Append;
|
||||||
|
access = System::IO::FileAccess::Write;
|
||||||
|
|
||||||
|
fs = gcnew System::IO::FileStream (file->Name, mode, access);
|
||||||
|
System::IO::StreamWriter^ wr = gcnew System::IO::StreamWriter (fs);
|
||||||
|
file->Handle = wr;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
catch (System::Exception^)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int StdAwk::closeFile (File^ file)
|
||||||
|
{
|
||||||
|
if (file->Mode == File::MODE::READ)
|
||||||
|
{
|
||||||
|
System::IO::StreamReader^ sr = (System::IO::StreamReader^)file->Handle;
|
||||||
|
sr->Close ();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
System::IO::StreamWriter^ sw = (System::IO::StreamWriter^)file->Handle;
|
||||||
|
sw->Close ();
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int StdAwk::readFile (File^ file, cli::array<char_t>^ buf, int len)
|
||||||
|
{
|
||||||
|
System::IO::StreamReader^ sr = (System::IO::StreamReader^)file->Handle;
|
||||||
|
try { return sr->Read (buf, 0, len); }
|
||||||
|
catch (System::Exception^) { return -1; }
|
||||||
|
}
|
||||||
|
|
||||||
|
int StdAwk::writeFile (File^ file, cli::array<char_t>^ buf, int len)
|
||||||
|
{
|
||||||
|
System::IO::StreamWriter^ sw = (System::IO::StreamWriter^)file->Handle;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
sw->Write (buf, 0, len);
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
catch (System::Exception^) { return -1; }
|
||||||
|
}
|
||||||
|
|
||||||
|
int StdAwk::flushFile (File^ file)
|
||||||
|
{
|
||||||
|
System::IO::StreamWriter^ sw = (System::IO::StreamWriter^)file->Handle;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
sw->Flush ();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
catch (System::Exception^) { return -1; }
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: StdAwk.hpp,v 1.2 2007/07/16 11:12:12 bacon Exp $
|
* $Id: StdAwk.hpp,v 1.3 2007/07/19 14:35:10 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <ase/net/Awk.hpp>
|
#include <ase/net/Awk.hpp>
|
||||||
@ -12,7 +12,17 @@ namespace ASE
|
|||||||
public ref class StdAwk: Awk
|
public ref class StdAwk: Awk
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
StdAwk ();
|
||||||
|
~StdAwk ();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
int openFile (File^ file);
|
||||||
|
int closeFile (File^ file);
|
||||||
|
int readFile (File^ file, cli::array<char_t>^ buf, int len);
|
||||||
|
int writeFile (File^ file, cli::array<char_t>^ buf, int len);
|
||||||
|
int flushFile (File^ file);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,8 +19,8 @@ namespace asetestnet
|
|||||||
{
|
{
|
||||||
ASE.Net.Awk awk = new ASE.Net.StdAwk();
|
ASE.Net.Awk awk = new ASE.Net.StdAwk();
|
||||||
|
|
||||||
awk.OpenFileHandler += new ASE.Net.Awk.OpenFile (OpenFile);
|
/*awk.OpenFileHandler += new ASE.Net.Awk.OpenFile (OpenFile);
|
||||||
awk.CloseFileHandler += CloseFile;
|
awk.CloseFileHandler += CloseFile;*/
|
||||||
|
|
||||||
//awk.Open();
|
//awk.Open();
|
||||||
awk.SourceInputStream = new System.IO.FileStream("t.awk", System.IO.FileMode.Open, System.IO.FileAccess.Read);
|
awk.SourceInputStream = new System.IO.FileStream("t.awk", System.IO.FileMode.Open, System.IO.FileAccess.Read);
|
||||||
@ -30,6 +30,7 @@ namespace asetestnet
|
|||||||
awk.Run();
|
awk.Run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
private int OpenFile(ASE.Net.Awk.File file)
|
private int OpenFile(ASE.Net.Awk.File file)
|
||||||
{
|
{
|
||||||
MessageBox.Show("OpenFile");
|
MessageBox.Show("OpenFile");
|
||||||
@ -41,7 +42,7 @@ namespace asetestnet
|
|||||||
{
|
{
|
||||||
MessageBox.Show("CloseFile" + (string)file.Handle);
|
MessageBox.Show("CloseFile" + (string)file.Handle);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user