michael@0: // CrossThreadProgress.h michael@0: michael@0: #ifndef __CROSSTHREADPROGRESS_H michael@0: #define __CROSSTHREADPROGRESS_H michael@0: michael@0: #include "../../ICoder.h" michael@0: #include "../../../Windows/Synchronization.h" michael@0: #include "../../../Common/MyCom.h" michael@0: michael@0: class CCrossThreadProgress: michael@0: public ICompressProgressInfo, michael@0: public CMyUnknownImp michael@0: { michael@0: public: michael@0: const UInt64 *InSize; michael@0: const UInt64 *OutSize; michael@0: HRESULT Result; michael@0: NWindows::NSynchronization::CAutoResetEvent ProgressEvent; michael@0: NWindows::NSynchronization::CAutoResetEvent WaitEvent; michael@0: void Init() michael@0: { michael@0: ProgressEvent.Reset(); michael@0: WaitEvent.Reset(); michael@0: } michael@0: michael@0: MY_UNKNOWN_IMP michael@0: michael@0: STDMETHOD(SetRatioInfo)(const UInt64 *inSize, const UInt64 *outSize); michael@0: }; michael@0: michael@0: #endif