1// OffsetStream.h
2
3#ifndef __OFFSETSTREAM_H
4#define __OFFSETSTREAM_H
5
6#include "Common/MyCom.h"
7#include "../IStream.h"
8
9class COffsetOutStream:
10  public IOutStream,
11  public CMyUnknownImp
12{
13  UInt64 _offset;
14  CMyComPtr<IOutStream> _stream;
15public:
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