other-licenses/7zstub/src/7zip/Common/OffsetStream.h

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 // OffsetStream.h
     3 #ifndef __OFFSETSTREAM_H
     4 #define __OFFSETSTREAM_H
     6 #include "Common/MyCom.h"
     7 #include "../IStream.h"
     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);
    18   MY_UNKNOWN_IMP
    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 };
    25 #endif

mercurial