other-licenses/7zstub/src/7zip/Common/ProgressUtils.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.

michael@0 1 // ProgressUtils.h
michael@0 2
michael@0 3 #ifndef __PROGRESSUTILS_H
michael@0 4 #define __PROGRESSUTILS_H
michael@0 5
michael@0 6 #include "../../Common/MyCom.h"
michael@0 7
michael@0 8 #include "../ICoder.h"
michael@0 9 #include "../IProgress.h"
michael@0 10
michael@0 11 class CLocalCompressProgressInfo:
michael@0 12 public ICompressProgressInfo,
michael@0 13 public CMyUnknownImp
michael@0 14 {
michael@0 15 CMyComPtr<ICompressProgressInfo> _progress;
michael@0 16 bool _inStartValueIsAssigned;
michael@0 17 bool _outStartValueIsAssigned;
michael@0 18 UInt64 _inStartValue;
michael@0 19 UInt64 _outStartValue;
michael@0 20 public:
michael@0 21 void Init(ICompressProgressInfo *progress,
michael@0 22 const UInt64 *inStartValue, const UInt64 *outStartValue);
michael@0 23
michael@0 24 MY_UNKNOWN_IMP
michael@0 25
michael@0 26 STDMETHOD(SetRatioInfo)(const UInt64 *inSize, const UInt64 *outSize);
michael@0 27 };
michael@0 28
michael@0 29 class CLocalProgress:
michael@0 30 public ICompressProgressInfo,
michael@0 31 public CMyUnknownImp
michael@0 32 {
michael@0 33 CMyComPtr<IProgress> _progress;
michael@0 34 bool _inSizeIsMain;
michael@0 35 public:
michael@0 36 void Init(IProgress *progress, bool inSizeIsMain);
michael@0 37
michael@0 38 MY_UNKNOWN_IMP
michael@0 39
michael@0 40 STDMETHOD(SetRatioInfo)(const UInt64 *inSize, const UInt64 *outSize);
michael@0 41 };
michael@0 42
michael@0 43 #endif

mercurial