ImagingTools Core SDK
CDelegatedServletComp.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 <ilog/TLoggerCompWrap.h>
7
8// ImtCore includes
9#include <imtrest/IRequestServlet.h>
10
11
12namespace imtrest
13{
14
15
16class CDelegatedServletComp:
17 public ilog::CLoggerComponentBase,
18 virtual public IRequestServlet
19{
20public:
21 typedef ilog::CLoggerComponentBase BaseClass;
22
23 I_BEGIN_COMPONENT(CDelegatedServletComp);
24 I_REGISTER_INTERFACE(IRequestServlet);
25 I_ASSIGN(m_commandIdAttrPtr, "CommandId", "Command-ID used with this handler", true, "");
26 I_ASSIGN_MULTI_0(m_slaveRequestHandlersCompPtr, "RequestHandlers", "List of slave request handlers", false);
27 I_END_COMPONENT
28
29 // reimplemented (IRequestHandler)
30 virtual bool IsCommandSupported(const QByteArray& commandId) const override;
31 virtual ConstResponsePtr ProcessRequest(const IRequest& request, const QByteArray& subCommandId = QByteArray()) const override;
32
33private:
34 I_ATTR(QByteArray, m_commandIdAttrPtr);
35 I_MULTIREF(IRequestServlet, m_slaveRequestHandlersCompPtr);
36};
37
38
39} // namespace imtrest
40
41