diff --git a/libraries/Ethernet/IPAddress.cpp b/hardware/arduino/cores/arduino/IPAddress.cpp similarity index 100% rename from libraries/Ethernet/IPAddress.cpp rename to hardware/arduino/cores/arduino/IPAddress.cpp diff --git a/libraries/Ethernet/IPAddress.h b/hardware/arduino/cores/arduino/IPAddress.h similarity index 100% rename from libraries/Ethernet/IPAddress.h rename to hardware/arduino/cores/arduino/IPAddress.h diff --git a/hardware/arduino/cores/arduino/NetClient.h b/hardware/arduino/cores/arduino/NetClient.h new file mode 100644 index 000000000..d8df9149a --- /dev/null +++ b/hardware/arduino/cores/arduino/NetClient.h @@ -0,0 +1,28 @@ +#ifndef netclient_h +#define netclient_h +#include "WProgram.h" +#include "Print.h" +#include "NetClient.h" +#include "IPAddress.h" + +class NetClient : public Stream { + +public: + virtual int connect(IPAddress ip, uint16_t port) =0; + virtual int connect(const char *host, uint16_t port) =0; + virtual void write(uint8_t) =0; + virtual void write(const char *str) =0; + virtual void write(const uint8_t *buf, size_t size) =0; + virtual int available() = 0; + virtual int read() = 0; + virtual int read(uint8_t *buf, size_t size) = 0; + virtual int peek() = 0; + virtual void flush() = 0; + virtual void stop() = 0; + virtual uint8_t connected() = 0; + virtual uint8_t operator==(int) = 0; + virtual uint8_t operator!=(int) = 0; + virtual operator bool() = 0; +}; + +#endif diff --git a/libraries/Ethernet/Client.h b/libraries/Ethernet/Client.h index 23a8f1860..a4d1589ff 100644 --- a/libraries/Ethernet/Client.h +++ b/libraries/Ethernet/Client.h @@ -2,16 +2,18 @@ #define client_h #include "WProgram.h" #include "Print.h" +#include "NetClient.h" +#include "IPAddress.h" -class Client : public Stream { +class Client : public NetClient { public: Client(); Client(uint8_t sock); uint8_t status(); - int connect(IPAddress ip, uint16_t port); - int connect(const char *host, uint16_t port); + virtual int connect(IPAddress ip, uint16_t port); + virtual int connect(const char *host, uint16_t port); virtual void write(uint8_t); virtual void write(const char *str); virtual void write(const uint8_t *buf, size_t size); @@ -20,11 +22,11 @@ public: virtual int read(uint8_t *buf, size_t size); virtual int peek(); virtual void flush(); - void stop(); - uint8_t connected(); - uint8_t operator==(int); - uint8_t operator!=(int); - operator bool(); + virtual void stop(); + virtual uint8_t connected(); + virtual uint8_t operator==(int); + virtual uint8_t operator!=(int); + virtual operator bool(); friend class Server;