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