ImagingTools Core SDK
CUserRecentActionComp.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 <icomp/CComponentBase.h>
7#include <iser/ISerializable.h>
8
9// ImtCore includes
10#include <imtauth/CUserRecentAction.h>
11
12
13namespace imtauth
14{
15
16
17class CUserRecentActionComp:
18 public icomp::CComponentBase,
19 public CIdentifiableUserRecentAction
20{
21public:
22 typedef icomp::CComponentBase BaseClass;
23 typedef CUserRecentAction BaseClass2;
24
25 I_BEGIN_COMPONENT(CUserRecentActionComp);
26 I_REGISTER_INTERFACE(IUserRecentAction);
27 I_REGISTER_INTERFACE(iser::ISerializable);
28 I_REGISTER_INTERFACE(istd::IChangeable);
29 I_ASSIGN_MULTI_0(m_actionDataFactPtr, "ActionDataFactories", "Factory used for creation of action data instance", false);
30 I_ASSIGN_MULTI_0(m_actionTypeIdsAttrPtr, "ActionTypeIds", "List of type IDs for user action", false);
31 I_END_COMPONENT;
32
33protected:
34 // reimplemented (icomp::CComponentBase)
35 virtual void OnComponentCreated() override;
36
37private:
38 I_MULTIATTR(QByteArray, m_actionTypeIdsAttrPtr);
39 I_MULTIFACT(iser::ISerializable, m_actionDataFactPtr);
40};
41
42
43} // namespace imtauth
44
45