1
0
Fork 0
mirror of https://github.com/HamletDuFromage/aio-switch-updater.git synced 2024-11-08 11:31:43 +00:00
AIO-switch-updater/include/progress_event.hpp

44 lines
1.2 KiB
C++
Raw Normal View History

2020-09-20 01:21:28 +01:00
#pragma once
class ProgressEvent{
private:
ProgressEvent() {}
int _current = 0;
int _max = 60;
double _now = 0;
double _total = 0;
double _speed = 0;
2020-09-20 01:21:28 +01:00
public:
ProgressEvent(const ProgressEvent&) = delete;
ProgressEvent& operator=(const ProgressEvent &) = delete;
ProgressEvent(ProgressEvent &&) = delete;
ProgressEvent & operator=(ProgressEvent &&) = delete;
static auto& instance(){
static ProgressEvent event;
return event;
}
void reset() {
_current = 0;
_max = 60;
_now = 0;
_total = 0;
_speed = 0;
2020-09-20 01:21:28 +01:00
}
inline void setTotalSteps(int steps) { _max = steps; }
inline void setTotalCount(double total) { _total = total; }
inline void setSpeed(double speed) { _speed = speed; }
2020-09-20 01:21:28 +01:00
inline void setStep(int step) { _current = step; }
2021-05-28 14:51:30 +01:00
inline void incrementStep(int increment) {_current += increment; }
inline void setNow(double now) { _now = now; }
2020-09-20 01:21:28 +01:00
inline int getStep() { return _current; }
inline double getNow() { return _now; }
2020-09-20 01:21:28 +01:00
inline bool finished() { return (_current == _max) ; }
inline int getMax() { return _max; }
inline double getTotal() { return _total; }
inline double getSpeed() { return _speed; }
2020-09-20 01:21:28 +01:00
};