misc/libphysfs/lzma/CPP/7zip/Archive/Common/CrossThreadProgress.h
changeset 13904 99b265e0d1d0
parent 13903 5f819b90d479
child 13905 b172a5d40eee
equal deleted inserted replaced
13903:5f819b90d479 13904:99b265e0d1d0
     1 // CrossThreadProgress.h
       
     2 
       
     3 #ifndef __CROSSTHREADPROGRESS_H
       
     4 #define __CROSSTHREADPROGRESS_H
       
     5 
       
     6 #include "../../ICoder.h"
       
     7 #include "../../../Windows/Synchronization.h"
       
     8 #include "../../../Common/MyCom.h"
       
     9 
       
    10 class CCrossThreadProgress: 
       
    11   public ICompressProgressInfo,
       
    12   public CMyUnknownImp
       
    13 {
       
    14 public:
       
    15   const UInt64 *InSize;
       
    16   const UInt64 *OutSize;
       
    17   HRESULT Result;
       
    18   NWindows::NSynchronization::CAutoResetEvent ProgressEvent;
       
    19   NWindows::NSynchronization::CAutoResetEvent WaitEvent;
       
    20 
       
    21   HRes Create()
       
    22   {
       
    23     RINOK(ProgressEvent.CreateIfNotCreated());
       
    24     return WaitEvent.CreateIfNotCreated();
       
    25   }
       
    26   void Init()
       
    27   {
       
    28     ProgressEvent.Reset();
       
    29     WaitEvent.Reset();
       
    30   }
       
    31 
       
    32   MY_UNKNOWN_IMP
       
    33 
       
    34   STDMETHOD(SetRatioInfo)(const UInt64 *inSize, const UInt64 *outSize);
       
    35 };
       
    36 
       
    37 #endif