www.pudn.com > acdx.rar > TransactionFile.h
#if !defined(TransactionFile_H) #define TransactionFile_H #includeusing namespace std; #include "Lock.h" #include "SysEvent.h" //////////////////////////////////////////////////////////////////////////////// // TransactionFile // // Purpose: text file class //##ModelId=424BB63F023A class TransactionFile : public Lock, public SysEvent { //##ModelId=424BB63F024B long m_readOffset; // current read offset //##ModelId=424BB63F0259 long m_writeOffset; // current write offset //##ModelId=424BB63F025A DWORD m_readWait; // time (ms) to wait after read //##ModelId=424BB63F0269 DWORD m_writeWait; // time (ms) to wait after write //##ModelId=424BB63F0278 DWORD m_openFlags; // flags used to open file //##ModelId=424BB63F027A string m_name; // name of file public: //##ModelId=424BB63F0288 HANDLE m_hFile; //##ModelId=424BB63F0289 TransactionFile (); //##ModelId=424BB63F0298 ~TransactionFile (); // show error //##ModelId=424BB63F0299 void showLastError (); //##ModelId=424BB63F029A bool invalidFile (); // open methods //##ModelId=424BB63F029B bool create ( string & fileName ); //##ModelId=424BB63F02A8 bool open ( string & fileName ); //##ModelId=424BB63F02AA bool openAlways ( string & fileName ); //##ModelId=424BB63F02B8 bool open ( string & fileName, DWORD openFlags ); //##ModelId=424BB63F02C6 void close (); // file info/position methods //##ModelId=424BB63F02C7 bool setPosition ( DWORD position, bool read = true ); //##ModelId=424BB63F02D6 long size (); //##ModelId=424BB63F02D7 bool offsetPosition ( DWORD offset, bool read = true ); // clear the file //##ModelId=424BB63F02E6 void clear (); // read/write methods //##ModelId=424BB63F02E7 bool write ( LPTSTR pBuffer, DWORD noToWrite, bool wait = true ); //##ModelId=424BB63F02F6 bool read ( LPTSTR pBuffer, DWORD noToRead, bool wait = true ); //##ModelId=424BB63F0306 void operator << ( string & buffer ) { write( (LPTSTR) buffer.c_str(), buffer.size() ); } //##ModelId=424BB63F0308 operator HANDLE () { return m_hFile; } //##ModelId=424BB63F0309 void setReadWait ( DWORD wait ) { m_readWait = wait; } //##ModelId=424BB63F0316 void setWriteWait ( DWORD wait ) { m_writeWait = wait; } }; void operator << ( stringstream & strm, TransactionFile & file ); void operator << ( TransactionFile & file, stringstream & strm ); #endif