UIPEthernet library for Arduino IDE, Eclipse with arduino plugin and MBED/SMeshStudio (AVR,STM32F,ESP8266,Intel ARC32,Nordic nRF51,Teensy boards,Realtek Ameba(RTL8195A,RTL8710)), ENC28j60 network chip. Compatible with Wiznet W5100 Ethernet library API. Compiled and tested on Nucleo-F302R8. Master repository is: https://github.com/UIPEthernet/UIPEthernet/

Committer:
cassyarduino
Date:
Tue Jan 23 15:08:43 2018 +0100
Revision:
39:deeb00b81cc9
Parent:
35:f9f3a91fe4d4
Release: 2.0.4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cassyarduino 35:f9f3a91fe4d4 1 /*
cassyarduino 35:f9f3a91fe4d4 2 Client.h - Base class that provides Client
cassyarduino 35:f9f3a91fe4d4 3 Copyright (c) 2011 Adrian McEwen. All right reserved.
cassyarduino 35:f9f3a91fe4d4 4
cassyarduino 35:f9f3a91fe4d4 5 Modified (ported to mbed) by Zoltan Hudak <hudakz@inbox.com>
cassyarduino 35:f9f3a91fe4d4 6
cassyarduino 35:f9f3a91fe4d4 7 This library is free software; you can redistribute it and/or
cassyarduino 35:f9f3a91fe4d4 8 modify it under the terms of the GNU Lesser General Public
cassyarduino 35:f9f3a91fe4d4 9 License as published by the Free Software Foundation; either
cassyarduino 35:f9f3a91fe4d4 10 version 2.1 of the License, or (at your option) any later version.
cassyarduino 35:f9f3a91fe4d4 11
cassyarduino 35:f9f3a91fe4d4 12 This library is distributed in the hope that it will be useful,
cassyarduino 35:f9f3a91fe4d4 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
cassyarduino 35:f9f3a91fe4d4 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
cassyarduino 35:f9f3a91fe4d4 15 Lesser General Public License for more details.
cassyarduino 35:f9f3a91fe4d4 16
cassyarduino 35:f9f3a91fe4d4 17 You should have received a copy of the GNU Lesser General Public
cassyarduino 35:f9f3a91fe4d4 18 License along with this library; if not, write to the Free Software
cassyarduino 35:f9f3a91fe4d4 19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
cassyarduino 35:f9f3a91fe4d4 20 */
cassyarduino 35:f9f3a91fe4d4 21 #if !defined(ARDUINO_ARCH_AVR) && !defined(ARDUINO_ARCH_SAM)
cassyarduino 35:f9f3a91fe4d4 22 #ifndef client_h
cassyarduino 35:f9f3a91fe4d4 23 #define client_h
cassyarduino 35:f9f3a91fe4d4 24 #if defined(__MBED__)
cassyarduino 35:f9f3a91fe4d4 25 #include "mbed/IPAddress.h"
cassyarduino 35:f9f3a91fe4d4 26 #endif
cassyarduino 35:f9f3a91fe4d4 27
cassyarduino 35:f9f3a91fe4d4 28 #if defined(ARDUINO)
cassyarduino 35:f9f3a91fe4d4 29 #include "IPAddress.h"
cassyarduino 35:f9f3a91fe4d4 30 #endif
cassyarduino 35:f9f3a91fe4d4 31
cassyarduino 35:f9f3a91fe4d4 32 class Client
cassyarduino 35:f9f3a91fe4d4 33 {
cassyarduino 35:f9f3a91fe4d4 34 public:
cassyarduino 35:f9f3a91fe4d4 35 virtual ~Client(){};
cassyarduino 35:f9f3a91fe4d4 36 virtual int connect(IPAddress ip, uint16_t port) = 0;
cassyarduino 35:f9f3a91fe4d4 37 virtual int connect(const char* host, uint16_t port) = 0;
cassyarduino 35:f9f3a91fe4d4 38 virtual size_t write(uint8_t) = 0;
cassyarduino 35:f9f3a91fe4d4 39 virtual size_t write(const uint8_t* buf, size_t size) = 0;
cassyarduino 35:f9f3a91fe4d4 40 virtual int available(void) = 0;
cassyarduino 35:f9f3a91fe4d4 41 virtual int read(void) = 0;
cassyarduino 35:f9f3a91fe4d4 42 virtual int read(uint8_t* buf, size_t size) = 0;
cassyarduino 35:f9f3a91fe4d4 43 virtual int peek(void) = 0;
cassyarduino 35:f9f3a91fe4d4 44 virtual void flush(void) = 0;
cassyarduino 35:f9f3a91fe4d4 45 virtual void stop(void) = 0;
cassyarduino 35:f9f3a91fe4d4 46 virtual uint8_t connected(void) = 0;
cassyarduino 35:f9f3a91fe4d4 47 virtual operator bool(void) = 0;
cassyarduino 35:f9f3a91fe4d4 48 protected:
cassyarduino 35:f9f3a91fe4d4 49 uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); };
cassyarduino 35:f9f3a91fe4d4 50 };
cassyarduino 35:f9f3a91fe4d4 51 #endif
cassyarduino 35:f9f3a91fe4d4 52 #endif