123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #ifndef shimclient_h
- #define shimclient_h
- #include "Arduino.h"
- #include "Client.h"
- #include "IPAddress.h"
- #include "Buffer.h"
- class ShimClient : public Client {
- private:
- Buffer* responseBuffer;
- Buffer* expectBuffer;
- bool _allowConnect;
- bool _connected;
- bool expectAnything;
- bool _error;
- uint16_t _received;
- IPAddress _expectedIP;
- uint16_t _expectedPort;
- const char* _expectedHost;
-
- public:
- ShimClient();
- virtual int connect(IPAddress ip, uint16_t port);
- virtual int connect(const char *host, uint16_t port);
- virtual size_t write(uint8_t);
- virtual size_t write(const uint8_t *buf, size_t size);
- virtual int available();
- virtual int read();
- virtual int read(uint8_t *buf, size_t size);
- virtual int peek();
- virtual void flush();
- virtual void stop();
- virtual uint8_t connected();
- virtual operator bool();
-
- virtual ShimClient* respond(uint8_t *buf, size_t size);
- virtual ShimClient* expect(uint8_t *buf, size_t size);
-
- virtual void expectConnect(IPAddress ip, uint16_t port);
- virtual void expectConnect(const char *host, uint16_t port);
-
- virtual uint16_t received();
- virtual bool error();
-
- virtual void setAllowConnect(bool b);
- virtual void setConnected(bool b);
- };
- #endif
|