ImagingTools Core SDK
CAddressTreeCollectionControllerComp.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// Qt includes
6#include <QJsonObject>
7
8// ImtCore includes
9#include <imtservergql/CLegacyObjectCollectionControllerCompBase.h>
10#include "imtdb/IDatabaseEngine.h"
11
12namespace imtgeo
13{
14
15
16class CAddressTreeCollectionControllerComp: public imtservergql::CLegacyObjectCollectionControllerCompBase
17{
18public:
19 typedef imtservergql::CLegacyObjectCollectionControllerCompBase BaseClass;
20
21 I_BEGIN_COMPONENT(CAddressTreeCollectionControllerComp);
22 I_ASSIGN(m_addressTypeCollectionPtr, "AddressTypeComponent", "The string address type collection", true, "AddressTypeCollection");
23 I_ASSIGN(m_engineCompChr3, "DatabaseEngineChr3", "Database engine used for low level SQL quering", true, "DatabaseEngineChr3");
24 I_END_COMPONENT;
25
26protected:
27 I_REF(imtbase::IObjectCollection, m_addressTypeCollectionPtr);
28 I_REF(imtdb::IDatabaseEngine, m_engineCompChr3);
29
30
31 // reimplemented (imtservergql::CLegacyObjectCollectionControllerCompBase)
32 virtual QVariant GetObjectInformation(const QByteArray& informationId, const QByteArray& objectId) const override;
33 virtual QJsonObject GetMetaInfo(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
34 virtual QJsonObject ListObjects(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
35 bool checkHasChildren(const QString& id) const;
36};
37
38
39} // namespace imtgeo
40
41
42
Core database engine interface for low-level SQL execution and transaction management.