ImagingTools Core SDK
CEventContainer.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// Qt includes
6#include <QtCore/QDateTime>
7
8// ACF includes
9#include <ilog/CMessageContainer.h>
10
11// ImtCore includes
12#include <imtbase/CTimeRange.h>
13
14
15namespace imtlog
16{
17
18
19class CEventContainer: protected ilog::CMessageContainer
20{
21public:
22 typedef ilog::CMessageContainer BaseClass;
23
24 int GetMessagesCount() const;
25 imtbase::CTimeRange GetTimeRange() const;
26
27 // reimplemented (ilog::IMessageContainer)
28 virtual istd::IInformationProvider::InformationCategory GetWorstCategory() const override;
29 virtual Messages GetMessages() const override;
30 virtual void ClearMessages() override;
31
32 // reimplemented (ilog::IMessageConsumer)
33 virtual bool IsMessageSupported(
34 int messageCategory = -1,
35 int messageId = -1,
36 const istd::IInformationProvider* messagePtr = nullptr) const override;
37 virtual void AddMessage(const IMessageConsumer::MessagePtr& messagePtr) override;
38
39 // reimplemented (iser::ISerializable)
40 virtual bool Serialize(iser::IArchive & archive) override;
41
42private:
43 mutable QMutex m_mutex;
44};
45
46
47} // namespace imtlog
48
49