Files
espremotemanager/espremoteagent/espremoteagent.h
T
2022-09-25 01:31:36 +02:00

36 lines
1.2 KiB
C++

#pragma once
#include <vector>
#include <memory>
#include "abstractwebserver.h"
class SerialPortConfig;
class WebserverClientConnection;
class Request;
class EspRemotePort;
class QUrl;
class QUrlQuery;
class EspRemoteAgent : public AbstractWebserver
{
Q_OBJECT
public:
explicit EspRemoteAgent(std::vector<SerialPortConfig> &&serialPortConfigs, QObject *parent = nullptr);
~EspRemoteAgent() override;
protected:
void requestReceived(WebserverClientConnection &client, const Request &request) override;
private:
void sendRootResponse(WebserverClientConnection &client, const QUrl &url, const QUrlQuery &query);
void sendOpenResponse(WebserverClientConnection &client, const QUrl &url, const QUrlQuery &query);
void sendCloseResponse(WebserverClientConnection &client, const QUrl &url, const QUrlQuery &query);
void sendRebootResponse(WebserverClientConnection &client, const QUrl &url, const QUrlQuery &query);
void sendSetDTRResponse(WebserverClientConnection &client, const QUrl &url, const QUrlQuery &query);
void sendSetRTSResponse(WebserverClientConnection &client, const QUrl &url, const QUrlQuery &query);
std::vector<std::unique_ptr<EspRemotePort>> m_ports;
};