mbed OS5

Fork of UIPEthernet by Zoltan Hudak

Revision:
1:01c2344f98a3
Parent:
0:5350a66d5279
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/utility/Client.h	Thu Nov 20 21:26:54 2014 +0000
@@ -0,0 +1,48 @@
+/*
+  Client.h - Base class that provides Client
+  Copyright (c) 2011 Adrian McEwen.  All right reserved.
+
+  Modified (ported to mbed) by Zoltan Hudak <hudakz@inbox.com>
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 2.1 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with this library; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+#ifndef client_h
+    #define client_h
+    //#include "Print.h"
+    //#include "Stream.h"
+    #include "IPAddress.h"
+
+//class Client : public Stream {
+class   Client
+{
+public:
+    virtual int         connect(IPAddress ip, uint16_t port) = 0;
+    virtual int         connect(const char* host, uint16_t port) = 0;
+    virtual size_t      write(uint8_t) = 0;
+    virtual size_t      write(const uint8_t* buf, size_t size) = 0;
+    virtual int         available(void) = 0;
+    virtual int         read(void) = 0;
+    virtual int         read(uint8_t* buf, size_t size) = 0;
+    virtual int         peek(void) = 0;
+    virtual void        flush(void) = 0;
+    virtual void        stop(void) = 0;
+    virtual uint8_t     connected(void) = 0;
+    virtual operator    bool(void) = 0;
+protected:
+    uint8_t*    rawIPAddress(IPAddress& addr)   { return addr.raw_address(); };
+};
+#endif
+
+