38 lines
767 B
C++
38 lines
767 B
C++
// CrossThreadProgress.h
|
|
|
|
#ifndef __CROSSTHREADPROGRESS_H
|
|
#define __CROSSTHREADPROGRESS_H
|
|
|
|
#include "../../ICoder.h"
|
|
#include "../../../Windows/Synchronization.h"
|
|
#include "../../../Common/MyCom.h"
|
|
|
|
class CCrossThreadProgress:
|
|
public ICompressProgressInfo,
|
|
public CMyUnknownImp
|
|
{
|
|
public:
|
|
const UInt64 *InSize;
|
|
const UInt64 *OutSize;
|
|
HRESULT Result;
|
|
NWindows::NSynchronization::CAutoResetEvent ProgressEvent;
|
|
NWindows::NSynchronization::CAutoResetEvent WaitEvent;
|
|
|
|
HRes Create()
|
|
{
|
|
RINOK(ProgressEvent.CreateIfNotCreated());
|
|
return WaitEvent.CreateIfNotCreated();
|
|
}
|
|
void Init()
|
|
{
|
|
ProgressEvent.Reset();
|
|
WaitEvent.Reset();
|
|
}
|
|
|
|
MY_UNKNOWN_IMP
|
|
|
|
STDMETHOD(SetRatioInfo)(const UInt64 *inSize, const UInt64 *outSize);
|
|
};
|
|
|
|
#endif
|