Annotation of elwix/tools/oldlzma/SRC/7zip/Common/FileStreams.h, revision 1.1.1.1

1.1       misho       1: // FileStreams.h
                      2: 
                      3: #ifndef __FILESTREAMS_H
                      4: #define __FILESTREAMS_H
                      5: 
                      6: #ifdef _WIN32
                      7: #include "../../Windows/FileIO.h"
                      8: #else
                      9: #include "../../Common/C_FileIO.h"
                     10: #endif
                     11: 
                     12: #include "../IStream.h"
                     13: #include "../../Common/MyCom.h"
                     14: 
                     15: class CInFileStream: 
                     16:   public IInStream,
                     17:   public IStreamGetSize,
                     18:   public CMyUnknownImp
                     19: {
                     20: public:
                     21:   #ifdef _WIN32
                     22:   NWindows::NFile::NIO::CInFile File;
                     23:   #else
                     24:   NC::NFile::NIO::CInFile File;
                     25:   #endif
                     26:   CInFileStream() {}
                     27:   virtual ~CInFileStream() {}
                     28: 
                     29:   bool Open(LPCTSTR fileName);
                     30:   #ifdef _WIN32
                     31:   #ifndef _UNICODE
                     32:   bool Open(LPCWSTR fileName);
                     33:   #endif
                     34:   #endif
                     35: 
                     36:   MY_UNKNOWN_IMP2(IInStream, IStreamGetSize)
                     37: 
                     38:   STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize);
                     39:   STDMETHOD(ReadPart)(void *data, UInt32 size, UInt32 *processedSize);
                     40:   STDMETHOD(Seek)(Int64 offset, UInt32 seekOrigin, UInt64 *newPosition);
                     41: 
                     42:   STDMETHOD(GetSize)(UInt64 *size);
                     43: };
                     44: 
                     45: #ifndef _WIN32_WCE
                     46: class CStdInFileStream: 
                     47:   public ISequentialInStream,
                     48:   public CMyUnknownImp
                     49: {
                     50: public:
                     51:   // HANDLE File;
                     52:   // CStdInFileStream() File(INVALID_HANDLE_VALUE): {}
                     53:   // void Open() { File = GetStdHandle(STD_INPUT_HANDLE); };
                     54:   MY_UNKNOWN_IMP
                     55: 
                     56:   virtual ~CStdInFileStream() {}
                     57:   STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize);
                     58:   STDMETHOD(ReadPart)(void *data, UInt32 size, UInt32 *processedSize);
                     59: };
                     60: #endif
                     61: 
                     62: class COutFileStream: 
                     63:   public IOutStream,
                     64:   public CMyUnknownImp
                     65: {
                     66: public:
                     67:   #ifdef _WIN32
                     68:   NWindows::NFile::NIO::COutFile File;
                     69:   #else
                     70:   NC::NFile::NIO::COutFile File;
                     71:   #endif
                     72:   virtual ~COutFileStream() {}
                     73:   bool Create(LPCTSTR fileName, bool createAlways);
                     74:   #ifdef _WIN32
                     75:   #ifndef _UNICODE
                     76:   bool Create(LPCWSTR fileName, bool createAlways);
                     77:   #endif
                     78:   #endif
                     79:   
                     80:   MY_UNKNOWN_IMP1(IOutStream)
                     81: 
                     82:   STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize);
                     83:   STDMETHOD(WritePart)(const void *data, UInt32 size, UInt32 *processedSize);
                     84:   STDMETHOD(Seek)(Int64 offset, UInt32 seekOrigin, UInt64 *newPosition);
                     85:   STDMETHOD(SetSize)(Int64 newSize);
                     86: };
                     87: 
                     88: #ifndef _WIN32_WCE
                     89: class CStdOutFileStream: 
                     90:   public ISequentialOutStream,
                     91:   public CMyUnknownImp
                     92: {
                     93: public:
                     94:   MY_UNKNOWN_IMP
                     95: 
                     96:   virtual ~CStdOutFileStream() {}
                     97:   STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize);
                     98:   STDMETHOD(WritePart)(const void *data, UInt32 size, UInt32 *processedSize);
                     99: };
                    100: #endif
                    101: 
                    102: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>