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>