ImagingTools Core SDK
CFeatureDependenciesProviderComp.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 <imtbase/IObjectCollection.h>
10#include <imtlic/IFeatureDependenciesProvider.h>
11#include <imtservergql/CGqlRequestHandlerCompBase.h>
12
13
14namespace imtlicgql
15{
16
17
18class CFeatureDependenciesProviderComp: public imtservergql::CGqlRequestHandlerCompBase, virtual public imtlic::IFeatureDependenciesProvider
19{
20public:
21 typedef imtservergql::CGqlRequestHandlerCompBase BaseClass;
22
23 I_BEGIN_COMPONENT(CFeatureDependenciesProviderComp);
24 I_ASSIGN(m_featureCollectionCompPtr, "FeatureCollection", "Feature collection", true, "FeatureCollection");
25 I_END_COMPONENT;
26
27protected:
28 // reimplemented (imtservergql::CGqlRepresentationDataControllerComp)
29 virtual QJsonObject CreateInternalResponse(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
30
31 // reimplemented (imtlic::IFeatureDependenciesProvider)
32 virtual QByteArrayList GetFeatureDependencies(const QByteArray& featureId) const override;
33 virtual const imtlic::IFeatureInfoProvider* GetDependencyContainer(const QByteArray& dependencyId) const override;
34
35protected:
36 I_REF(imtbase::IObjectCollection, m_featureCollectionCompPtr);
37};
38
39
40} // namespace imtlicgql
41
42
GraphQL API interface layer for the licensing domain model.