ImagingTools Core SDK
CUserGroupChangeGeneratorComp.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/CDocumentChangeGeneratorCompBase.h>
7
8
9namespace imtauth
10{
11
12
13class CUserGroupChangeGeneratorComp: public imtbase::CDocumentChangeGeneratorCompBase
14{
15public:
16 typedef imtbase::CDocumentChangeGeneratorCompBase BaseClass;
17
18 I_BEGIN_COMPONENT(CUserGroupChangeGeneratorComp);
19 I_ASSIGN(m_roleCollectionCompPtr, "RoleCollection", "Role collection", true, "RoleCollection");
20 I_ASSIGN(m_userCollectionCompPtr, "UserCollection", "User collection", true, "UserCollection");
21 I_END_COMPONENT;
22
23protected:
24 QString GetRoleName(const QByteArray& roleId) const;
25 QString GetUserName(const QByteArray& userId) const;
26 QString GetGroupName(const QByteArray& groupId) const;
27
28 // reimplemented (imtbase::CDocumentChangeGeneratorCompBase)
29 virtual bool CompareDocuments(
30 const istd::IChangeable& oldDocument,
31 const istd::IChangeable& newDocument,
32 imtbase::CObjectCollection& documentChangeCollection,
33 QString& errorMessage) override;
34 virtual QString CreateCustomOperationDescription(const imtbase::COperationDescription& operationDescription, const QByteArray& languageId = QByteArray()) const override;
35
36protected:
37 I_REF(imtbase::IObjectCollection, m_roleCollectionCompPtr);
38 I_REF(imtbase::IObjectCollection, m_userCollectionCompPtr);
39};
40
41
42} // namespace imtauth
43
44