1370b324cSopenharmony_ci// ProgressUtils.h
2370b324cSopenharmony_ci
3370b324cSopenharmony_ci#ifndef ZIP7_INC_PROGRESS_UTILS_H
4370b324cSopenharmony_ci#define ZIP7_INC_PROGRESS_UTILS_H
5370b324cSopenharmony_ci
6370b324cSopenharmony_ci#include "../../Common/MyCom.h"
7370b324cSopenharmony_ci
8370b324cSopenharmony_ci#include "../ICoder.h"
9370b324cSopenharmony_ci#include "../IProgress.h"
10370b324cSopenharmony_ci
11370b324cSopenharmony_ciZ7_CLASS_IMP_COM_1(
12370b324cSopenharmony_ci  CLocalProgress
13370b324cSopenharmony_ci  , ICompressProgressInfo
14370b324cSopenharmony_ci)
15370b324cSopenharmony_cipublic:
16370b324cSopenharmony_ci  bool SendRatio;
17370b324cSopenharmony_ci  bool SendProgress;
18370b324cSopenharmony_ciprivate:
19370b324cSopenharmony_ci  bool _inSizeIsMain;
20370b324cSopenharmony_ci  CMyComPtr<IProgress> _progress;
21370b324cSopenharmony_ci  CMyComPtr<ICompressProgressInfo> _ratioProgress;
22370b324cSopenharmony_cipublic:
23370b324cSopenharmony_ci  UInt64 ProgressOffset;
24370b324cSopenharmony_ci  UInt64 InSize;
25370b324cSopenharmony_ci  UInt64 OutSize;
26370b324cSopenharmony_ci
27370b324cSopenharmony_ci  CLocalProgress();
28370b324cSopenharmony_ci
29370b324cSopenharmony_ci  void Init(IProgress *progress, bool inSizeIsMain);
30370b324cSopenharmony_ci  HRESULT SetCur();
31370b324cSopenharmony_ci};
32370b324cSopenharmony_ci
33370b324cSopenharmony_ci#endif
34