Home | History | Annotate | Download | only in Common
      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)(UInt64 newSize);
     23 };
     24 
     25 #endif
     26