HttpServer/test/WiFiClient.h

36 lines
1020 B
C++

#pragma once
#include "Stream.h"
#include "Buffer.h"
#define WIFICLIENT_BUFFER 512
class WiFiClient : public Stream
{
public:
WiFiClient(const char * content): buffer(_buff, WIFICLIENT_BUFFER), _status(1) {
buffer.write(content);
}
WiFiClient(): buffer(_buff, WIFICLIENT_BUFFER), _status(0) {}
uint8_t _status;
void stop() { _status=0; }
const uint8_t connected() const { return _status; }
operator bool() const { return connected(); }
int available() { return buffer.available(); }
int read() { return buffer.read(); }
int peek() { return buffer.peek(); }
size_t write(uint8_t data) { return buffer.write(data); }
size_t write(const uint8_t* buf, size_t len) { return buffer.write(buf, len); }
int availableForWrite() { return buffer.availableForWrite(); }
using Stream::write;
protected:
Buffer buffer;
private:
uint8_t _buff[WIFICLIENT_BUFFER];
};