PsychichHTTP v2-dev
This commit is contained in:
@@ -7,19 +7,22 @@
|
||||
class PsychicWebSocketRequest;
|
||||
class PsychicWebSocketClient;
|
||||
|
||||
//callback function definitions
|
||||
typedef std::function<void(PsychicWebSocketClient *client)> PsychicWebSocketClientCallback;
|
||||
typedef std::function<esp_err_t(PsychicWebSocketRequest *request, httpd_ws_frame *frame)> PsychicWebSocketFrameCallback;
|
||||
// callback function definitions
|
||||
typedef std::function<void(PsychicWebSocketClient* client)> PsychicWebSocketClientCallback;
|
||||
typedef std::function<esp_err_t(PsychicWebSocketRequest* request, httpd_ws_frame* frame)> PsychicWebSocketFrameCallback;
|
||||
|
||||
class PsychicWebSocketClient : public PsychicClient
|
||||
{
|
||||
protected:
|
||||
static void _sendMessageCallback(esp_err_t err, int socket, void* arg);
|
||||
|
||||
public:
|
||||
PsychicWebSocketClient(PsychicClient *client);
|
||||
PsychicWebSocketClient(PsychicClient* client);
|
||||
~PsychicWebSocketClient();
|
||||
|
||||
esp_err_t sendMessage(httpd_ws_frame_t * ws_pkt);
|
||||
esp_err_t sendMessage(httpd_ws_type_t op, const void *data, size_t len);
|
||||
esp_err_t sendMessage(const char *buf);
|
||||
|
||||
esp_err_t sendMessage(httpd_ws_frame_t* ws_pkt);
|
||||
esp_err_t sendMessage(httpd_ws_type_t op, const void* data, size_t len);
|
||||
esp_err_t sendMessage(const char* buf);
|
||||
};
|
||||
|
||||
class PsychicWebSocketRequest : public PsychicRequest
|
||||
@@ -28,17 +31,18 @@ class PsychicWebSocketRequest : public PsychicRequest
|
||||
PsychicWebSocketClient _client;
|
||||
|
||||
public:
|
||||
PsychicWebSocketRequest(PsychicRequest *req);
|
||||
PsychicWebSocketRequest(PsychicRequest* req);
|
||||
virtual ~PsychicWebSocketRequest();
|
||||
|
||||
PsychicWebSocketClient * client() override;
|
||||
PsychicWebSocketClient* client() override;
|
||||
|
||||
esp_err_t reply(httpd_ws_frame_t * ws_pkt);
|
||||
esp_err_t reply(httpd_ws_type_t op, const void *data, size_t len);
|
||||
esp_err_t reply(const char *buf);
|
||||
esp_err_t reply(httpd_ws_frame_t* ws_pkt);
|
||||
esp_err_t reply(httpd_ws_type_t op, const void* data, size_t len);
|
||||
esp_err_t reply(const char* buf);
|
||||
};
|
||||
|
||||
class PsychicWebSocketHandler : public PsychicHandler {
|
||||
class PsychicWebSocketHandler : public PsychicHandler
|
||||
{
|
||||
protected:
|
||||
PsychicWebSocketClientCallback _onOpen;
|
||||
PsychicWebSocketFrameCallback _onFrame;
|
||||
@@ -48,23 +52,23 @@ class PsychicWebSocketHandler : public PsychicHandler {
|
||||
PsychicWebSocketHandler();
|
||||
~PsychicWebSocketHandler();
|
||||
|
||||
PsychicWebSocketClient * getClient(int socket) override;
|
||||
PsychicWebSocketClient * getClient(PsychicClient *client) override;
|
||||
void addClient(PsychicClient *client) override;
|
||||
void removeClient(PsychicClient *client) override;
|
||||
void openCallback(PsychicClient *client) override;
|
||||
void closeCallback(PsychicClient *client) override;
|
||||
PsychicWebSocketClient* getClient(int socket) override;
|
||||
PsychicWebSocketClient* getClient(PsychicClient* client) override;
|
||||
void addClient(PsychicClient* client) override;
|
||||
void removeClient(PsychicClient* client) override;
|
||||
void openCallback(PsychicClient* client) override;
|
||||
void closeCallback(PsychicClient* client) override;
|
||||
|
||||
bool isWebSocket() override final;
|
||||
esp_err_t handleRequest(PsychicRequest *request) override;
|
||||
esp_err_t handleRequest(PsychicRequest* request, PsychicResponse* response) override;
|
||||
|
||||
PsychicWebSocketHandler *onOpen(PsychicWebSocketClientCallback fn);
|
||||
PsychicWebSocketHandler *onFrame(PsychicWebSocketFrameCallback fn);
|
||||
PsychicWebSocketHandler *onClose(PsychicWebSocketClientCallback fn);
|
||||
PsychicWebSocketHandler* onOpen(PsychicWebSocketClientCallback fn);
|
||||
PsychicWebSocketHandler* onFrame(PsychicWebSocketFrameCallback fn);
|
||||
PsychicWebSocketHandler* onClose(PsychicWebSocketClientCallback fn);
|
||||
|
||||
void sendAll(httpd_ws_frame_t * ws_pkt);
|
||||
void sendAll(httpd_ws_type_t op, const void *data, size_t len);
|
||||
void sendAll(const char *buf);
|
||||
void sendAll(httpd_ws_frame_t* ws_pkt);
|
||||
void sendAll(httpd_ws_type_t op, const void* data, size_t len);
|
||||
void sendAll(const char* buf);
|
||||
};
|
||||
|
||||
#endif // PsychicWebSocket_h
|
||||
Reference in New Issue
Block a user