Files
beerlog/viewmodels/benchmarkviewmodel.h

55 lines
1.5 KiB
C++

#ifndef BENCHMARKVIEWMODEL_H
#define BENCHMARKVIEWMODEL_H
#include <QObject>
class BenchmarkViewModel : public QObject
{
Q_OBJECT
Q_PROPERTY(int itemsCount READ itemsCount WRITE setItemsCount NOTIFY itemsCountChanged)
Q_PROPERTY(quint64 submitTime READ submitTime WRITE setSubmitTime NOTIFY submitTimeChanged)
Q_PROPERTY(quint64 receiveTime READ receiveTime WRITE setReceiveTime NOTIFY receiveTimeChanged)
Q_PROPERTY(quint64 removeTime READ removeTime WRITE setRemoveTime NOTIFY removeTimeChanged)
Q_PROPERTY(bool inProgress READ inProgress WRITE setInProgress NOTIFY inProgressChanged)
public:
explicit BenchmarkViewModel(QObject *parent = nullptr);
Q_INVOKABLE void startBenchmark();
int itemsCount() const;
void setItemsCount(int newItemsCount);
quint64 submitTime() const;
void setSubmitTime(quint64 newSubmitTime);
quint64 receiveTime() const;
void setReceiveTime(quint64 newReceiveTime);
quint64 removeTime() const;
void setRemoveTime(quint64 newRemoveTime);
bool inProgress() const;
void setInProgress(bool newInProgress);
signals:
void itemsCountChanged();
void submitTimeChanged();
void receiveTimeChanged();
void removeTimeChanged();
void inProgressChanged();
private:
void submitBenchmark();
void receiveAndDeleteBenchmark();
int m_itemsCount = 0;
quint64 m_submitTime = 0;
quint64 m_receiveTime = 0;
quint64 m_removeTime = 0;
bool m_inProgress = false;
};
#endif // BENCHMARKVIEWMODEL_H