Upload 2.0.2
[physicsfs] / lzma / CPP / 7zip / Common / OffsetStream.h
1 // OffsetStream.h
2
3 #ifndef __OFFSETSTREAM_H
4 #define __OFFSETSTREAM_H
5
6 #include "Common/MyCom.h"
7 #include "../IStream.h"
8
9 class COffsetOutStream: 
10   public IOutStream,
11   public CMyUnknownImp
12 {
13   UInt64 _offset;
14   CMyComPtr<IOutStream> _stream;
15 public:
16   HRESULT Init(IOutStream *stream, UInt64 offset);
17   
18   MY_UNKNOWN_IMP
19
20   STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize);
21   STDMETHOD(Seek)(Int64 offset, UInt32 seekOrigin, UInt64 *newPosition);
22   STDMETHOD(SetSize)(Int64 newSize);
23 };
24
25 #endif