ImagingTools Core SDK
COperationDescription.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 <imtbase/IOperationDescription.h>
7
8
9namespace imtbase
10{
11
12
13class COperationDescription: virtual public imtbase::IOperationDescription
14{
15public:
16 COperationDescription();
17
18 void SetOperationTypeId(const QByteArray& operationTypeId);
19 void SetKey(const QByteArray& key);
20 void SetKeyName(const QString& keyName);
21 void SetOldValue(const QByteArray& oldValue);
22 void SetNewValue(const QByteArray& newValue);
23
24 // reimplemented (imtbase::IOperationDescription)
25 virtual QByteArray GetOperationTypeId() const override;
26 virtual QByteArray GetKey() const override;
27 virtual QString GetKeyName() const override;
28 virtual QByteArray GetOldValue() const override;
29 virtual QByteArray GetNewValue() const override;
30
31 // reimplemented (iser::ISerializable)
32 virtual bool Serialize(iser::IArchive& archive) override;
33
34 // reimplemented (istd::IChangeable)
35 virtual int GetSupportedOperations() const override;
36 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
37 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
38 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
39
40private:
41 QByteArray m_operationTypeId;
42 QByteArray m_key;
43 QString m_keyName;
44 QByteArray m_oldValue;
45 QByteArray m_newValue;
46};
47
48
49} // namespace imtbase
50
51