ImagingTools Core SDK
CDelegatedRequestHandlerComp.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// ACF includes
6#include <icomp/CComponentBase.h>
7#include <imtgql/IGqlRequestHandler.h>
8
9
10namespace imtservergql
11{
12
13
14class CDelegatedRequestHandlerComp:
15 public icomp::CComponentBase,
16 virtual public imtgql::IGqlRequestHandler
17{
18public:
19 typedef icomp::CComponentBase BaseClass;
20
21 I_BEGIN_COMPONENT(CDelegatedRequestHandlerComp);
22 I_REGISTER_INTERFACE(imtgql::IGqlRequestHandler);
23 I_ASSIGN(m_slaveRequestHandlerCompPtr, "SlaveRequestHandler", "Slave request handler", false, "SlaveRequestHandler");
24 I_END_COMPONENT
25
26 // reimplemented (imtgql::IGqlRequestHandler)
27 virtual bool IsRequestSupported(const imtgql::CGqlRequest& gqlRequest) const override;
28 virtual QJsonObject CreateResponse(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
29
30private:
31 I_REF(imtgql::IGqlRequestHandler, m_slaveRequestHandlerCompPtr);
32};
33
34
35} // namespace imtservergql
36
37