ImagingTools Core SDK
CFeatureControllerComp.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 <QtCore/QJsonObject>
7
8// ImtCore includes
9#include <imtservergql/CObjectCollectionControllerCompBase.h>
10#include <imtlic/CFeatureInfo.h>
11
12
13namespace imtlicgql
14{
15
16
17class CFeatureControllerComp: public imtservergql::CObjectCollectionControllerCompBase
18{
19public:
20 typedef imtservergql::CObjectCollectionControllerCompBase BaseClass;
21
22 I_BEGIN_COMPONENT(CFeatureControllerComp);
23 I_END_COMPONENT;
24
25protected:
26 // reimplemented (imtservergql::CObjectCollectionControllerCompBase)
27 virtual istd::IChangeableUniquePtr CreateObjectFromRequest(const imtgql::CGqlRequest& gqlRequest, QByteArray &objectId, QString& errorMessage) const override;
28 virtual QJsonObject GetObject(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
29 virtual QJsonObject GetTreeItemModel(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const;
30 virtual bool GetOperationFromRequest(const imtgql::CGqlRequest& gqlRequest, imtgql::CGqlParamObject& gqlObject, QString& errorMessage, int& operationType) const override;
31
32 bool CreateFeatureFromRepresentationModel(const imtbase::CTreeItemModel& representationModel, imtlic::CFeatureInfo& featureInfo, const QByteArray& objectId, QString& errorMessage) const;
33 bool CreateRepresentationModelFromFeatureInfo(const imtlic::CFeatureInfo& featureInfo, const imtbase::CTreeItemModel* parentModelPtr, imtbase::CTreeItemModel& representationModel, QString& errorMessage) const;
34};
35
36
37} // namespace imtlicgql
38
39
GraphQL API interface layer for the licensing domain model.