ImagingTools Core SDK
CJobExecutionLog.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// ImtCore includes
6#include <imthype/IJobExecutionLog.h>
7
8// ACF includes
9#include <ilog/CMessageContainer.h>
10#include <iser/ISerializable.h>
11
12
13namespace imthype
14{
15
16
23 public ilog::CMessageContainer,
24 virtual public IJobExecutionLog,
25 virtual public iser::ISerializable
26{
27public:
28 typedef ilog::CMessageContainer BaseClass;
29
31
32 // reimplemented (IJobExecutionLog)
33 virtual void LogExecutionEvent(
34 ExecutionEventType eventType,
35 const QString& message,
36 const QDateTime& timestamp = QDateTime::currentDateTime()) override;
37 virtual ilog::IMessageContainer::Messages GetExecutionEvents(ExecutionEventType eventType) const override;
38
39 // reimplemented (iser::ISerializable)
40 virtual bool Serialize(iser::IArchive& archive) override;
41
42 // reimplemented (istd::IChangeable)
43 virtual bool CopyFrom(const istd::IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
44 virtual bool IsEqual(const istd::IChangeable& object) const override;
45 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
46 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
47};
48
49
50typedef istd::TSharedInterfacePtr<CJobExecutionLog> CJobExecutionLogSharedPtr;
51
52
53} // namespace imthype
54
55