ImagingTools Core SDK
CGqlDemultiplexerComp.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 <imtservergql/CGqlRequestHandlerCompBase.h>
7
8
9namespace imtservergql
10{
11
12
13class CGqlDemultiplexerComp: public ilog::CLoggerComponentBase, virtual public imtgql::IGqlRequestHandler
14{
15public:
16 typedef ilog::CLoggerComponentBase BaseClass;
17
18 I_BEGIN_COMPONENT(CGqlDemultiplexerComp);
19 I_REGISTER_INTERFACE(imtgql::IGqlRequestHandler);
20 I_ASSIGN_MULTI_0(m_gqlRequestHandlersCompPtr, "GqlRequestHandlers", "Demultiplexer for GraphQL request", false)
21 I_END_COMPONENT;
22
23 // reimplemented (imtgql::IGqlRequestHandler)
24 virtual bool IsRequestSupported(const imtgql::CGqlRequest& gqlRequest) const override;
25 virtual QJsonObject CreateResponse(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
26
27protected:
28 I_MULTIREF(imtgql::IGqlRequestHandler, m_gqlRequestHandlersCompPtr);
29};
30
31
32} // namespace imtservergql
33
34