ImagingTools Core SDK
CUserActionManagerComp.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
8// ImtCore includes
9#include <imtbase/IObjectCollection.h>
10#include <imtauth/IUserActionManager.h>
11
12
13namespace imtauth
14{
15
16
17class CUserActionManagerComp:
18 public icomp::CComponentBase,
19 public imtauth::IUserActionManager
20{
21public:
22 typedef icomp::CComponentBase BaseClass;
23
24 I_BEGIN_COMPONENT(CUserActionManagerComp);
25 I_REGISTER_INTERFACE(imtauth::IUserActionManager);
26 I_ASSIGN(m_userActionCollectionCompPtr, "UserActionCollection", "Role provider", true, "UserActionCollection");
27 I_ASSIGN(m_userRecentActionFactCompPtr, "UserActionFactory", "User action factory", true, "UserActionFactory");
28 I_END_COMPONENT;
29
30protected:
31 // reimplemented (imtauth::IUserActionManager)
32 virtual bool CreateUserAction(
33 imtauth::IUserRecentAction::UserInfo userInfo,
34 imtauth::IUserRecentAction::ActionTypeInfo actionTypeInfo,
35 imtauth::IUserRecentAction::TargetInfo targetInfo,
36 const iser::ISerializableSharedPtr actionDataPtr = nullptr) const override;
37 virtual IUserActionInfoUniquePtr GetUserAction(const QByteArray& actionId) const override;
38 virtual QByteArrayList GetUserActionIds(int offset = 0, int count = -1, const iprm::IParamsSet* paramsSetPtr = nullptr) const override;
39
40private:
41 I_REF(imtbase::IObjectCollection, m_userActionCollectionCompPtr);
42 I_FACT(imtauth::IUserRecentAction, m_userRecentActionFactCompPtr);
43};
44
45
46} // namespace imtauth
47
48