allow coexistance of N build and AC build.
[tomato.git] / release / src-rt-6.x / linux / linux-2.6 / scripts / squashfs / lzma / C / 7zip / Common / FileStreams.h
blobe6494f679b413804f9523c5f297717df549352c7
1 // FileStreams.h
3 #ifndef __FILESTREAMS_H
4 #define __FILESTREAMS_H
6 #ifdef _WIN32
7 #include "../../Windows/FileIO.h"
8 #else
9 #include "../../Common/C_FileIO.h"
10 #endif
12 #include "../IStream.h"
13 #include "../../Common/MyCom.h"
15 class CInFileStream:
16 public IInStream,
17 public IStreamGetSize,
18 public CMyUnknownImp
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() {}
29 bool Open(LPCTSTR fileName);
30 #ifdef _WIN32
31 #ifndef _UNICODE
32 bool Open(LPCWSTR fileName);
33 #endif
34 #endif
36 MY_UNKNOWN_IMP2(IInStream, IStreamGetSize)
38 STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize);
39 STDMETHOD(Seek)(Int64 offset, UInt32 seekOrigin, UInt64 *newPosition);
41 STDMETHOD(GetSize)(UInt64 *size);
44 #ifndef _WIN32_WCE
45 class CStdInFileStream:
46 public ISequentialInStream,
47 public CMyUnknownImp
49 public:
50 // HANDLE File;
51 // CStdInFileStream() File(INVALID_HANDLE_VALUE): {}
52 // void Open() { File = GetStdHandle(STD_INPUT_HANDLE); };
53 MY_UNKNOWN_IMP
55 virtual ~CStdInFileStream() {}
56 STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize);
58 #endif
60 class COutFileStream:
61 public IOutStream,
62 public CMyUnknownImp
64 public:
65 #ifdef _WIN32
66 NWindows::NFile::NIO::COutFile File;
67 #else
68 NC::NFile::NIO::COutFile File;
69 #endif
70 virtual ~COutFileStream() {}
71 bool Create(LPCTSTR fileName, bool createAlways);
72 #ifdef _WIN32
73 #ifndef _UNICODE
74 bool Create(LPCWSTR fileName, bool createAlways);
75 #endif
76 #endif
78 MY_UNKNOWN_IMP1(IOutStream)
80 STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize);
81 STDMETHOD(Seek)(Int64 offset, UInt32 seekOrigin, UInt64 *newPosition);
82 STDMETHOD(SetSize)(Int64 newSize);
85 #ifndef _WIN32_WCE
86 class CStdOutFileStream:
87 public ISequentialOutStream,
88 public CMyUnknownImp
90 public:
91 MY_UNKNOWN_IMP
93 virtual ~CStdOutFileStream() {}
94 STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize);
96 #endif
98 #endif