diff options
Diffstat (limited to 'jindroush/include/cprefile.h')
-rw-r--r-- | jindroush/include/cprefile.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/jindroush/include/cprefile.h b/jindroush/include/cprefile.h new file mode 100644 index 0000000..1e748bb --- /dev/null +++ b/jindroush/include/cprefile.h @@ -0,0 +1,56 @@ +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// + +#include "jintypes.h" +#include "cgenfile.h" + +#ifndef __CPREFILE_H__ +#define __CPREFILE_H__ + + +class CPreFile : public CGenFile +{ +public: + CPreFile(); + ~CPreFile(); + + BOOL Open( CGenFile*, int ); + + BOOL Read( void*, int, int* = NULL ); + BOOL Write( void*, int, int* = NULL ); + + BOOL Seek( long, int ); + long GetLength() { return m_lLength; }; + DWORD GetLastError() { return m_dwLastError; }; + void Close(); + +private: + BOOL PreRead(); + + BOOL m_bOpened; + + DWORD m_dwLastError; + + long m_lCacheStartOffset; + long m_lCacheEndOffset; + + long m_lLength; + BYTE* m_pbtCache; + long m_lCacheLen; + + CGenFile* m_pcf; +}; + +#endif //__CPreFILE_H__ |