Adds template libs

This commit is contained in:
Rune Harlyk
2024-04-22 21:07:56 +02:00
committed by Rune Harlyk
parent 0724705939
commit b804b9df1f
126 changed files with 57429 additions and 13 deletions
+57
View File
@@ -0,0 +1,57 @@
#ifndef PsychicStream_H_
#define PsychicStream_H_
#include "PsychicClient.h"
#include "PsychicCore.h"
#include "PsychicHandler.h"
#include "PsychicResponse.h"
#include "PsychicStreamResponse.h"
class PsychicStream;
class PsychicStreamResponse;
class PsychicStreamClient;
class PsychicResponse;
typedef std::function<void(PsychicStreamClient *client)> PsychicStreamClientCallback;
typedef std::function<void(httpd_req_t *request)> PsychicStreamRequestCallback;
class PsychicStreamClient : public PsychicClient
{
friend PsychicStream;
public:
PsychicStreamClient(PsychicClient *client);
~PsychicStreamClient();
void write(const uint8_t *buffer, size_t size);
};
class PsychicStream : public PsychicHandler
{
private:
PsychicStreamClientCallback _onOpen;
PsychicStreamClientCallback _onClose;
PsychicStreamRequestCallback _onRequest;
String _contentType;
public:
PsychicStream(const String &contentType);
~PsychicStream();
PsychicStreamClient *getClient(int socket) override;
PsychicStreamClient *getClient(PsychicClient *client) override;
void addClient(PsychicClient *client) override;
void removeClient(PsychicClient *client) override;
void openCallback(PsychicClient *client) override;
void closeCallback(PsychicClient *client) override;
PsychicStream *onOpen(PsychicStreamClientCallback fn);
PsychicStream *onClose(PsychicStreamClientCallback fn);
PsychicStream *onRequest(PsychicStreamRequestCallback fn);
esp_err_t handleRequest(PsychicRequest *request) override final;
void write(const uint8_t *buffer, size_t size);
};
#endif /* PsychicStream_H_ */