Index

auto-plow / ab6d622

A wheelchair motor-propelled battery-powered ESP32-driven remote control snow plow.

Latest Commit

{#}TimeHashSubjectAuthor#(+)(-)GPG?
630 Nov 2018 18:364a63c8cInclude Arduino core filesJoshua1450N

Blob @ auto-plow / include / arduino / Client.h

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