ImagingTools Core SDK
CAddressElementDatabaseDelegateComp.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 <imtgeo/CAddressElementInfo.h>
8
9
10namespace imtgeo
11{
12
13
14class CAddressElementDatabaseDelegateComp: public imtdb::CSqlDatabaseObjectDelegateCompBase
15{
16public:
17 typedef imtdb::CSqlDatabaseObjectDelegateCompBase BaseClass;
18
19 I_BEGIN_COMPONENT(CAddressElementDatabaseDelegateComp)
20 I_ASSIGN(m_adrElementInfoFactCompPtr, "AddressElemenInfo", "Factory used for creation of the new address elemen instance", true, "AddressElemenInfo");
21 I_END_COMPONENT
22
23 // reimplemented (imtdb::ISqlDatabaseObjectDelegate)
24 virtual istd::IChangeableUniquePtr CreateObjectFromRecord(
25 const QSqlRecord& record,
26 const iprm::IParamsSet* dataConfigurationPtr = nullptr) const override;
27 virtual NewObjectQuery CreateNewObjectQuery(
28 const QByteArray& typeId,
29 const QByteArray& proposedObjectId,
30 const QString& objectName,
31 const QString& objectDescription,
32 const istd::IChangeable* valuePtr,
33 const imtbase::IOperationContext* operationContextPtr) const override;
34 virtual QByteArray CreateDeleteObjectsQuery(
35 const imtbase::IObjectCollection& collection,
36 const imtbase::ICollectionInfo::Ids& objectIds,
37 const imtbase::IOperationContext* operationContextPtr) const override;
38 virtual QByteArray CreateDeleteObjectSetQuery(
39 const imtbase::IObjectCollection& collection,
40 const iprm::IParamsSet* paramsPtr = nullptr,
41 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
42 virtual QByteArray CreateUpdateObjectQuery(
43 const imtbase::IObjectCollection& collection,
44 const QByteArray& objectId,
45 const istd::IChangeable& object,
46 const imtbase::IOperationContext* operationContextPtr,
47 bool useExternDelegate = true) const override;
48 virtual QByteArray CreateRenameObjectQuery(
49 const imtbase::IObjectCollection& collection,
50 const QByteArray& objectId,
51 const QString& newObjectName,
52 const imtbase::IOperationContext* operationContextPtr) const override;
53 virtual QByteArray CreateDescriptionObjectQuery(
54 const imtbase::IObjectCollection& collection,
55 const QByteArray& objectId,
56 const QString& description,
57 const imtbase::IOperationContext* operationContextPtr) const override;
58 virtual QByteArray GetSelectionQuery(
59 const QByteArray& objectId = QByteArray(),
60 int offset = 0,
61 int count = -1,
62 const iprm::IParamsSet* paramsPtr = nullptr) const override;
63 virtual bool CreateFilterQuery(const iprm::IParamsSet& filterParams, QString& filterQuery) const override;
64 virtual QByteArray GetObjectTypeId(
65 const QByteArray& objectId) const override;
66 virtual bool CreateTextFilterQuery(
67 const imtbase::ICollectionFilter& collectionFilter,
68 QString& textFilterQuery) const override;
69
70private:
71 I_FACT(imtgeo::IAddressElementInfo, m_adrElementInfoFactCompPtr);
72};
73
74
75} // namespace imtgeo
76
77