Annotation of elwix/tools/oldlzma/SRC/7zip/Common/FileStreams.h, revision 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>