ImagingTools Core SDK
CProcessingInfo.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// ACF includes
6#include <ilog/CMessageContainer.h>
7
8// Acula includes
9#include <imthype/IProcessingInfo.h>
10
11
12namespace imthype
13{
14
15
16class CProcessingInfo: virtual public IProcessingInfo
17{
18public:
19 typedef ilog::CMessageContainer BaseClass;
20
21 CProcessingInfo();
22
26 void SetStartTime(const QDateTime& startTime);
27
31 void SetFinishedTime(const QDateTime& finishedTime);
32
36 void SetResultCategory(istd::IInformationProvider::InformationCategory resultCategory);
37
41 void SetInformationDescription(const QString& informationDescription);
42
46 void SetProcessingLog(const ilog::IMessageContainer& processingLog);
47
48 // reimplemented (IJobOutput)
49 virtual ProcessingInfo GetProcessingInfo() const override;
50 virtual const ilog::IMessageContainer& GetProcessingLog() const override;
51
52 // reimplemented (istd::IInformationProvider)
53 virtual QDateTime GetInformationTimeStamp() const override;
54 virtual InformationCategory GetInformationCategory() const override;
55 virtual int GetInformationId() const override;
56 virtual QString GetInformationDescription() const override;
57 virtual QString GetInformationSource() const override;
58 virtual int GetInformationFlags() const override;
59
60 // reimplemented (iser::ISerializable)
61 virtual bool Serialize(iser::IArchive& archive) override;
62
63 // reimplemented (istd::IChangeable)
64 virtual bool CopyFrom(const istd::IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
65 virtual bool IsEqual(const istd::IChangeable& object) const override;
66 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
67 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
68
69private:
70 istd::IInformationProvider::InformationCategory m_resultCategory;
71 QDateTime m_startedAt;
72 QDateTime m_resultTimeStamp;
73 QString m_informationDescription;
74
75 ilog::CMessageContainer m_processingLog;
76};
77
78
79} // namespace imthype
80
81