aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/NetClient.h
diff options
context:
space:
mode:
authoramcewen <amcewen@bcs.org.uk>2011-03-28 12:08:53 +0100
committeramcewen <amcewen@bcs.org.uk>2011-03-28 12:08:53 +0100
commite011dab7b413949c942ad31c3d9c6003f76133c0 (patch)
tree9dfcf1ca2777070dc5bf343128f6045f64a59cff /cores/arduino/NetClient.h
parent11dd06436d6144420cc6f5b5d9a926e7f34818b1 (diff)
Pulled out Client API into a base class to allow multiple derived classes to use it, and moved it (plus IPAddress) out of the Ethernet library so that other libraries can find it. First steps in integrating the WiFly code so it's easier to switch between that and Ethernet
Diffstat (limited to 'cores/arduino/NetClient.h')
-rw-r--r--cores/arduino/NetClient.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/cores/arduino/NetClient.h b/cores/arduino/NetClient.h
new file mode 100644
index 0000000..d8df914
--- /dev/null
+++ b/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