ImagingTools Core SDK
IEventStatistics.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// STL includes
6#include <vector>
7
8// ACF includes
9#include <istd/IChangeable.h>
10
11// Qt includes
12#include <QtCore/QDateTime>
13
14
15namespace imtbase
16{
17
18
19class IEventStatistics: virtual public istd::IChangeable
20{
21public:
22 struct EventsInfo
23 {
24 quint64 count;
25 quint64 oks;
26 quint64 warnings;
27 quint64 noks;
28
32 quint64 errors;
33
34 EventsInfo()
35 :count(0),
36 oks(0),
37 warnings(0),
38 noks(0),
39 errors(0)
40 {
41 }
42 };
43
44 struct StatisticsItem
45 {
46 EventsInfo info;
47 qint64 time;
48 };
49
50 typedef std::vector<StatisticsItem> StatisticsTimeline;
51
55 virtual quint64 GetStatisticsItemCount() const = 0;
56
60 virtual StatisticsItem GetStatisticsItem(quint64 index) const = 0;
61};
62
63
64} // namespace imtbase
65
66