ImagingTools Core SDK
CSqliteUserDatabaseDelegateComp.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 <imtdb/CSqliteDatabaseDocumentDelegateComp.h>
7
8
9namespace imtauthdb
10{
11
12
13class CSqliteUserDatabaseDelegateComp: public imtdb::CSqliteDatabaseDocumentDelegateComp
14{
15public:
16 typedef imtdb::CSqliteDatabaseDocumentDelegateComp BaseClass;
17
18 I_BEGIN_COMPONENT(CSqliteUserDatabaseDelegateComp)
19 I_ASSIGN(m_userGroupDatabaseDelegateCompPtr, "UserGroupDatabaseSqlDelegate", "User group database sql delegate", true, "UserGroupDatabaseSqlDelegate");
20 I_ASSIGN(m_userGroupCollectionCompPtr, "UserGroupCollection", "User group collection", true, "UserGroupCollection");
21 I_END_COMPONENT
22
23 // reimplemented (imtdb::ISqlDatabaseObjectDelegate)
24 virtual NewObjectQuery CreateNewObjectQuery(
25 const QByteArray& typeId,
26 const QByteArray& proposedObjectId,
27 const QString& objectName,
28 const QString& objectDescription,
29 const istd::IChangeable* valuePtr,
30 const imtbase::IOperationContext* operationContextPtr) const override;
31 virtual QByteArray CreateUpdateObjectQuery(
32 const imtbase::IObjectCollection& collection,
33 const QByteArray& objectId,
34 const istd::IChangeable& object,
35 const imtbase::IOperationContext* operationContextPtr,
36 bool useExternDelegate = true) const override;
37 virtual QByteArray CreateDeleteObjectsQuery(
38 const imtbase::IObjectCollection& collection,
39 const imtbase::ICollectionInfo::Ids& objectIds,
40 const imtbase::IOperationContext* operationContextPtr) const override;
41 virtual bool CreateObjectFilterQuery(const iprm::IParamsSet& filterParams, QString& filterQuery) const override;
42 virtual bool CreateSortQuery(const imtbase::ICollectionFilter& collectionFilter, QString& sortQuery) const override;
43
44private:
45 I_REF(imtdb::ISqlDatabaseObjectDelegate, m_userGroupDatabaseDelegateCompPtr);
46 I_REF(imtbase::IObjectCollection, m_userGroupCollectionCompPtr);
47};
48
49
50} // namespace imtauthdb
51
52
Authentication Database Persistence Layer Module.