benchmarkviewmodel.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef BENCHMARKVIEWMODEL_H
  2. #define BENCHMARKVIEWMODEL_H
  3. #include <QObject>
  4. class BenchmarkViewModel : public QObject
  5. {
  6. Q_OBJECT
  7. Q_PROPERTY(int itemsCount READ itemsCount WRITE setItemsCount NOTIFY itemsCountChanged)
  8. Q_PROPERTY(quint64 submitTime READ submitTime WRITE setSubmitTime NOTIFY submitTimeChanged)
  9. Q_PROPERTY(quint64 receiveTime READ receiveTime WRITE setReceiveTime NOTIFY receiveTimeChanged)
  10. Q_PROPERTY(quint64 removeTime READ removeTime WRITE setRemoveTime NOTIFY removeTimeChanged)
  11. Q_PROPERTY(bool inProgress READ inProgress WRITE setInProgress NOTIFY inProgressChanged)
  12. public:
  13. explicit BenchmarkViewModel(QObject *parent = nullptr);
  14. Q_INVOKABLE void startBenchmark();
  15. int itemsCount() const;
  16. void setItemsCount(int newItemsCount);
  17. quint64 submitTime() const;
  18. void setSubmitTime(quint64 newSubmitTime);
  19. quint64 receiveTime() const;
  20. void setReceiveTime(quint64 newReceiveTime);
  21. quint64 removeTime() const;
  22. void setRemoveTime(quint64 newRemoveTime);
  23. bool inProgress() const;
  24. void setInProgress(bool newInProgress);
  25. signals:
  26. void itemsCountChanged();
  27. void submitTimeChanged();
  28. void receiveTimeChanged();
  29. void removeTimeChanged();
  30. void inProgressChanged();
  31. private:
  32. void submitBenchmark();
  33. void receiveAndDeleteBenchmark();
  34. int m_itemsCount = 0;
  35. quint64 m_submitTime = 0;
  36. quint64 m_receiveTime = 0;
  37. quint64 m_removeTime = 0;
  38. bool m_inProgress = false;
  39. };
  40. #endif // BENCHMARKVIEWMODEL_H