21#include <vrs/VrsExport.h>
35 static constexpr double kDefaultUpdateDelay = 2;
40 explicit ProgressLogger(
bool detailedProgress =
false,
double updateDelay = kDefaultUpdateDelay);
46 virtual void setStepCount(
int stepCount);
49 virtual void setDetailedProgress(
bool detailedProgress);
53 return detailedProgress_;
61 virtual bool logNewStep(
const string& stepName,
size_t progress = 0,
size_t maxProgress = 100);
69 bool logProgress(
const string& stepName,
size_t progress = 0,
size_t maxProgress = 100) {
70 return logProgress(stepName, progress, maxProgress,
false);
74 bool logProgress(
const string& stepName, int64_t progress, int64_t maxProgress) {
76 stepName,
static_cast<size_t>(progress),
static_cast<size_t>(maxProgress),
false);
83 virtual bool logStatus(
const string& stepName,
int status = 0);
90 virtual bool logDuration(
const string& operationName,
double duration,
int precision = 1);
99 logProgress(
const string& stepName,
size_t progress,
size_t maxProgress,
bool newStep);
103 virtual void logMessage(
const string& message);
107 virtual void logErrorMessage(
const string& message);
111 virtual void updateStep(
size_t progress = 0,
size_t maxProgress = 100);
113 virtual void updateNextProgressTime();
118 virtual bool shouldKeepGoing();
121 bool detailedProgress_;
125 double nextProgressTime_;
132 bool logProgress(
const string&,
size_t = 0,
size_t = 100,
bool =
false)
override {
ProgressLogger class to be notified of some process' progress.
Definition ProgressLogger.h:33
bool logProgress(const string &stepName, size_t progress=0, size_t maxProgress=100)
Definition ProgressLogger.h:69
bool logProgress(const string &stepName, int64_t progress, int64_t maxProgress)
Definition ProgressLogger.h:74
bool getDetailedProgress() const
Definition ProgressLogger.h:52
Progress logger to ignore all progress notifications.
Definition ProgressLogger.h:129
bool logDuration(const string &, double, int=1) override
Definition ProgressLogger.h:138
bool logStatus(const string &, int=0) override
Definition ProgressLogger.h:135
bool logProgress(const string &, size_t=0, size_t=100, bool=false) override
Definition ProgressLogger.h:132
Definition Compressor.cpp:113