misc/libphysfs/lzma/CPP/7zip/Archive/Common/CrossThreadProgress.h
author unc0rr
Thu, 11 Oct 2018 23:43:31 +0200
changeset 13880 5f819b90d479
parent 12213 bb5522e88ab2
permissions -rw-r--r--
- Fix insert() for strings in pas2c - Implement insert() for ansistrings

// 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