ESP3D  3.0
Firmware for ESP boards connected to 3D Printer
telnet_server.h
Go to the documentation of this file.
1 /*
2  telnet_server.h - telnet service functions class
3 
4  Copyright (c) 2014 Luc Lebosse. All rights reserved.
5 
6  This library is free software; you can redistribute it and/or
7  modify it under the terms of the GNU Lesser General Public
8  License as published by the Free Software Foundation; either
9  version 2.1 of the License, or (at your option) any later version.
10 
11  This library is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public
17  License along with this library; if not, write to the Free Software
18  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20 
21 #ifndef _TELNET_SERVER_H
22 #define _TELNET_SERVER_H
23 
24 class WiFiServer;
25 class WiFiClient;
26 #include "Print.h"
27 
28 #define ESP3D_TELNET_BUFFER_SIZE 1200
29 
30 class Telnet_Server : public Print
31 {
32 public:
33  Telnet_Server();
35  bool begin(uint16_t port = 0, bool debug=false);
36  void end();
37  void handle();
38  bool reset();
39  bool started();
40  bool isConnected();
41  const char* clientIPAddress();
42  size_t write(uint8_t c);
43  size_t write(const uint8_t *buffer, size_t size);
44  inline size_t write(const char * s)
45  {
46  return write((uint8_t*) s, strlen(s));
47  }
48  inline size_t write(unsigned long n)
49  {
50  return write((uint8_t) n);
51  }
52  inline size_t write(long n)
53  {
54  return write((uint8_t) n);
55  }
56  inline size_t write(unsigned int n)
57  {
58  return write((uint8_t) n);
59  }
60  inline size_t write(int n)
61  {
62  return write((uint8_t) n);
63  }
64  int available();
65  uint availableForWrite();
66  void flush();
67  int read(void);
68  size_t readBytes (uint8_t * sbuf, size_t len);
69  uint16_t port()
70  {
71  return _port;
72  }
73  void closeClient();
74 private:
75  bool _started;
76  WiFiServer * _telnetserver;
77  WiFiClient _telnetClients;
78  uint16_t _port;
79  bool _isdebug;
80  uint32_t _lastflush;
81  uint8_t *_buffer;
82  size_t _buffer_size;
83  void push2buffer(uint8_t * sbuf, size_t len);
84  void flushbuffer();
85 };
86 
88 
89 #endif
90 
Telnet_Server::isConnected
bool isConnected()
Definition: telnet_server.cpp:42
Telnet_Server::available
int available()
Definition: telnet_server.cpp:285
Telnet_Server::write
size_t write(int n)
Definition: telnet_server.h:60
telnet_server
Telnet_Server telnet_server
Definition: telnet_server.cpp:31
Telnet_Server::clientIPAddress
const char * clientIPAddress()
Definition: telnet_server.cpp:65
Telnet_Server::begin
bool begin(uint16_t port=0, bool debug=false)
Definition: telnet_server.cpp:93
Telnet_Server::end
void end()
Definition: telnet_server.cpp:127
Telnet_Server::port
uint16_t port()
Definition: telnet_server.h:69
Telnet_Server::write
size_t write(long n)
Definition: telnet_server.h:52
Telnet_Server::flush
void flush()
Definition: telnet_server.cpp:314
Telnet_Server::write
size_t write(unsigned long n)
Definition: telnet_server.h:48
Telnet_Server::write
size_t write(unsigned int n)
Definition: telnet_server.h:56
Telnet_Server::started
bool started()
Definition: telnet_server.cpp:154
Telnet_Server::availableForWrite
uint availableForWrite()
Definition: telnet_server.cpp:272
Telnet_Server::reset
bool reset()
Definition: telnet_server.cpp:148
Telnet_Server
Definition: telnet_server.h:30
Telnet_Server::~Telnet_Server
~Telnet_Server()
Definition: telnet_server.cpp:85
Telnet_Server::Telnet_Server
Telnet_Server()
Definition: telnet_server.cpp:76
Telnet_Server::closeClient
void closeClient()
Definition: telnet_server.cpp:35
Telnet_Server::handle
void handle()
Definition: telnet_server.cpp:159
Telnet_Server::read
int read(void)
Definition: telnet_server.cpp:293
Telnet_Server::readBytes
size_t readBytes(uint8_t *sbuf, size_t len)
Definition: telnet_server.cpp:303
Telnet_Server::write
size_t write(const char *s)
Definition: telnet_server.h:44
Telnet_Server::write
size_t write(uint8_t c)
Definition: telnet_server.cpp:237