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