• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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