1 #ifndef ethernetclient_h
2 #define ethernetclient_h
3 #include "Arduino.h"
4 #include "Print.h"
5 #include "Client.h"
6 #include "IPAddress.h"
7 
8 class EthernetClient : public Client {
9 
10 public:
11   EthernetClient();
12   EthernetClient(uint8_t sock);
13 
14   uint8_t status();
15   virtual int connect(IPAddress ip, uint16_t port);
16   virtual int connect(const char *host, uint16_t port);
17   virtual size_t write(uint8_t);
18   virtual size_t write(const uint8_t *buf, size_t size);
19   virtual int available();
20   virtual int read();
21   virtual int read(uint8_t *buf, size_t size);
22   virtual int peek();
23   virtual void flush();
24   virtual void stop();
25   virtual uint8_t connected();
26   virtual operator bool();
27   virtual bool operator==(const bool value) { return bool() == value; }
28   virtual bool operator!=(const bool value) { return bool() != value; }
29   virtual bool operator==(const EthernetClient&);
30   virtual bool operator!=(const EthernetClient& rhs) { return !this->operator==(rhs); };
31   uint8_t getSocketNumber();
32 
33   friend class EthernetServer;
34 
35   using Print::write;
36 
37 private:
38   static uint16_t _srcport;
39   uint8_t _sock;
40 };
41 
42 #endif
43