ImagingTools Core SDK
CUserRecentAction.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// ImtCore includes
9#include <imtbase/TIdentifiableWrap.h>
10#include <imtauth/IUserRecentAction.h>
11
12
13namespace imtauth
14{
15
16
17class CUserRecentAction: virtual public IUserRecentAction
18{
19public:
20 // reimplemented (imtauth::IUserRecentAction)
21 virtual UserInfo GetUserInfo() const override;
22 virtual void SetUserInfo(UserInfo userInfo) override;
23 virtual ActionTypeInfo GetActionTypeInfo() const override;
24 virtual void SetActionTypeInfo(ActionTypeInfo actionTypeInfo) override;
25 virtual TargetInfo GetTargetInfo() const override;
26 virtual void SetTargetInfo(TargetInfo targetInfo) override;
27 virtual QDateTime GetTimestamp() const override;
28 virtual void SetTimestamp(const QDateTime& timestamp) override;
29 virtual iser::ISerializableSharedPtr GetActionData() const override;
30 virtual void SetActionData(const iser::ISerializableSharedPtr& actionDataPtr) override;
31 virtual void SetActionDataFactory(const ActionDataFactoryFunction& factory) override;
32
33 // reimplemented (iser::ISerializable)
34 virtual bool Serialize(iser::IArchive& archive) override;
35
36 // reimplemented (iser::IChangeable)
37 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
38 virtual bool IsEqual(const IChangeable& object) const override;
39 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
40 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
41
42private:
43 UserInfo m_userInfo;
44 ActionTypeInfo m_actionTypeInfo;
45 TargetInfo m_targetInfo;
46 QDateTime m_timestamp;
47 iser::ISerializableSharedPtr m_actionDataPtr;
48 ActionDataFactoryFunction m_actionDataFactory;
49};
50
51
52typedef imtbase::TIdentifiableWrap<CUserRecentAction> CIdentifiableUserRecentAction;
53
54
55} // namespace imtauth
56
57