ImagingTools Core SDK
CProductInfoProviderComp.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// ACF includes
9#include <icomp/CComponentBase.h>
10
11// ImtCore includes
12#include <imtlic/CProductLicensingInfo.h>
13#include <imtservergql/CGqlRequestHandlerCompBase.h>
14
15
16namespace imtlicgql
17{
18
19
20class CProductInfoProviderComp: public imtservergql::CGqlRequestHandlerCompBase
21{
22public:
23 typedef imtservergql::CGqlRequestHandlerCompBase BaseClass;
24
25 I_BEGIN_COMPONENT(CProductInfoProviderComp)
26 I_ASSIGN_MULTI_0(m_productIdsAttrPtr, "ProductIds", "List of product-IDs for data provider", true);
27 I_ASSIGN_MULTI_0(m_productNamesAttrPtr, "ProductNames", "List of product-Names for data provider", true);
28 I_ASSIGN_MULTI_0(m_permissionsProviderCompPtr, "PermissionsProvider", "Permissins provideor", false);
29 I_END_COMPONENT
30
31protected:
32 // reimplemented (imtservergql::CGqlRepresentationDataControllerComp)
33 virtual bool IsRequestSupported(const imtgql::CGqlRequest& gqlRequest) const override;
34 virtual QJsonObject CreateInternalResponse(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
35
36protected:
37 I_MULTIATTR(QByteArray, m_productIdsAttrPtr);
38 I_MULTIATTR(QString, m_productNamesAttrPtr);
39 I_MULTIREF(imtgql::IGqlRequestHandler, m_permissionsProviderCompPtr);
40};
41
42
43} // namespace imtlicgql
44
45
GraphQL API interface layer for the licensing domain model.