1 // CrossThreadProgress.h
3 #ifndef __CROSSTHREADPROGRESS_H
4 #define __CROSSTHREADPROGRESS_H
6 #include "../../ICoder.h"
7 #include "../../../Windows/Synchronization.h"
8 #include "../../../Common/MyCom.h"
10 class CCrossThreadProgress:
11 public ICompressProgressInfo,
16 const UInt64 *OutSize;
18 NWindows::NSynchronization::CAutoResetEvent ProgressEvent;
19 NWindows::NSynchronization::CAutoResetEvent WaitEvent;
23 RINOK(ProgressEvent.CreateIfNotCreated());
24 return WaitEvent.CreateIfNotCreated();
28 ProgressEvent.Reset();
34 STDMETHOD(SetRatioInfo)(const UInt64 *inSize, const UInt64 *outSize);