ImagingTools Core SDK
CStructureControllerComp.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/IDatabaseEngine.h>
7#include <imtservergql/CStructureControllerCompBase.h>
8#include <QtCore/QJsonObject>
9
10
11namespace imtdbgql
12{
13
14
15class CStructureControllerComp: public imtservergql::CStructureControllerCompBase
16{
17public:
18 typedef imtservergql::CStructureControllerCompBase BaseClass;
19
20 I_BEGIN_COMPONENT(CStructureControllerComp);
21 I_ASSIGN(m_databaseEngineCompPtr, "DatabaseEngine", "Database engine for SQL queries", true, "DatabaseEngine");
22 I_END_COMPONENT;
23
24protected:
25 QByteArray GetElementsQuery(iprm::IParamsSet* filterParams) const;
26
27 // reimpemented (CStructureControllerCompBase)
28 virtual QJsonObject GetElements(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
29
30protected:
31 I_REF(imtdb::IDatabaseEngine, m_databaseEngineCompPtr);
32};
33
34
35} // namespace imtdbgql
36
Core database engine interface for low-level SQL execution and transaction management.