diff options
Diffstat (limited to 'src/DuetNG/DuetEthernet/Ethernet3/EthernetClient.h')
-rw-r--r-- | src/DuetNG/DuetEthernet/Ethernet3/EthernetClient.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/DuetNG/DuetEthernet/Ethernet3/EthernetClient.h b/src/DuetNG/DuetEthernet/Ethernet3/EthernetClient.h new file mode 100644 index 00000000..8612e5c1 --- /dev/null +++ b/src/DuetNG/DuetEthernet/Ethernet3/EthernetClient.h @@ -0,0 +1,39 @@ +#ifndef ethernetclient_h +#define ethernetclient_h +#include "Core.h" +#include "Print.h" +#include "Client.h" +#include "IPAddress.h" + +class EthernetClient : public Client { + +public: + EthernetClient(); + EthernetClient(uint8_t sock); + + uint8_t status(); + 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 bool operator==(const EthernetClient&); + virtual bool operator!=(const EthernetClient& rhs) { return !this->operator==(rhs); }; + + friend class EthernetServer; + + using Print::write; + +private: + static uint16_t _srcport; + uint8_t _sock; +}; + +#endif |