ImagingTools Core SDK
CUsersSettingsDatabaseDelegateComp.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/CSqlDatabaseObjectDelegateCompBase.h>
7#include <imtauth/IUserSettings.h>
8
9
10namespace imtauthdb
11{
12
13
14class CUsersSettingsDatabaseDelegateComp: public imtdb::CSqlDatabaseObjectDelegateCompBase
15{
16public:
17 typedef imtdb::CSqlDatabaseObjectDelegateCompBase BaseClass;
18
19 I_BEGIN_COMPONENT(CUsersSettingsDatabaseDelegateComp)
20 I_ASSIGN(m_versionInfoCompPtr, "VersionInfo", "Provide information about archive versions", false, "VersionInfo");
21 I_ASSIGN(m_userSettingsInfoFactCompPtr, "UserSettingsFactory", "Factory used for creation of the new user settings instance", true, "UserSettingsFactory");
22 I_END_COMPONENT
23
24 // reimplemented (imtdb::ISqlDatabaseObjectDelegate)
25 virtual QByteArray GetSelectionQuery(
26 const QByteArray& objectId = QByteArray(),
27 int offset = 0,
28 int count = -1,
29 const iprm::IParamsSet* paramsPtr = nullptr) const override;
30 virtual istd::IChangeableUniquePtr CreateObjectFromRecord(
31 const QSqlRecord& record,
32 const iprm::IParamsSet* dataConfigurationPtr = nullptr) const override;
33 virtual NewObjectQuery CreateNewObjectQuery(
34 const QByteArray& typeId,
35 const QByteArray& proposedObjectId,
36 const QString& objectName,
37 const QString& objectDescription,
38 const istd::IChangeable* valuePtr,
39 const imtbase::IOperationContext* operationContextPtr) const override;
40 virtual QByteArray CreateDeleteObjectsQuery(
41 const imtbase::IObjectCollection& collection,
42 const imtbase::ICollectionInfo::Ids& objectIds,
43 const imtbase::IOperationContext* operationContextPtr) const override;
44 virtual QByteArray CreateDeleteObjectSetQuery(
45 const imtbase::IObjectCollection& collection,
46 const iprm::IParamsSet* paramsPtr = nullptr,
47 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
48 virtual QByteArray CreateUpdateObjectQuery(
49 const imtbase::IObjectCollection& collection,
50 const QByteArray& objectId,
51 const istd::IChangeable& object,
52 const imtbase::IOperationContext* operationContextPtr,
53 bool useExternDelegate = true) const override;
54 virtual QByteArray CreateRenameObjectQuery(
55 const imtbase::IObjectCollection& collection,
56 const QByteArray& objectId,
57 const QString& newObjectName,
58 const imtbase::IOperationContext* operationContextPtr) const override;
59 virtual QByteArray CreateDescriptionObjectQuery(
60 const imtbase::IObjectCollection& collection,
61 const QByteArray& objectId,
62 const QString& description,
63 const imtbase::IOperationContext* operationContextPtr) const override;
64
65protected:
66 I_REF(iser::IVersionInfo, m_versionInfoCompPtr);
67 I_FACT(imtauth::IUserSettings, m_userSettingsInfoFactCompPtr);
68};
69
70
71} // namespace imtauthdb
72
73
Authentication Database Persistence Layer Module.