ImagingTools Core SDK
CUserGroupInfoProviderComp.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/IUserGroupInfoProvider.h>
11
12
13namespace imtauth
14{
15
16
17class CUserGroupInfoProviderComp: public icomp::CComponentBase, virtual public IUserGroupInfoProvider
18{
19public:
20 typedef icomp::CComponentBase BaseClass;
21
22 I_BEGIN_COMPONENT(CUserGroupInfoProviderComp);
23 I_REGISTER_INTERFACE(IUserGroupInfoProvider);
24 I_ASSIGN(m_userGroupCollectionCompPtr, "UserGroupCollection", "User group collection", true, "UserGroupCollection");
25 I_END_COMPONENT;
26
27 // reimplemented (IUserGroupInfoProvider)
28 virtual const imtbase::ICollectionInfo& GetUserGroupList() const override;
29 virtual imtauth::IUserGroupInfoSharedPtr GetUserGroup(const QByteArray& groupId, const iprm::IParamsSet* paramsPtr = nullptr) const override;
30
31protected:
32 I_REF(imtbase::IObjectCollection, m_userGroupCollectionCompPtr);
33};
34
35
36} // namespace imtauth
37
38