@@ -35,36 +35,43 @@ class WiFiClient : public arduino::Client {
35
35
WiFiClient ();
36
36
37
37
uint8_t status ();
38
- virtual int connect (IPAddress ip, uint16_t port);
39
- virtual int connect (const char *host, uint16_t port);
40
- virtual int connectSSL (IPAddress ip, uint16_t port);
41
- virtual int connectSSL (const char *host, uint16_t port);
42
- virtual size_t write (uint8_t );
43
- virtual size_t write (const uint8_t *buf, size_t size);
44
- virtual int available ();
45
- virtual int read ();
46
- virtual int read (uint8_t *buf, size_t size);
47
- virtual int peek ();
48
- virtual void flush ();
49
- virtual void stop ();
50
- virtual uint8_t connected ();
51
- virtual operator bool () {
38
+ int connect (IPAddress ip, uint16_t port);
39
+ int connect (const char *host, uint16_t port);
40
+ int connectSSL (IPAddress ip, uint16_t port);
41
+ int connectSSL (const char *host, uint16_t port);
42
+ size_t write (uint8_t );
43
+ size_t write (const uint8_t *buf, size_t size);
44
+ int available ();
45
+ int read ();
46
+ int read (uint8_t *buf, size_t size);
47
+ int peek ();
48
+ void flush ();
49
+ void stop ();
50
+ uint8_t connected ();
51
+ operator bool () {
52
52
return sock != NULL ;
53
53
}
54
54
55
- virtual IPAddress remoteIP ();
56
- virtual uint16_t remotePort ();
55
+ IPAddress remoteIP ();
56
+ uint16_t remotePort ();
57
57
58
58
friend class WiFiServer ;
59
+ friend class WiFiSSLClient ;
59
60
60
61
using Print::write;
61
62
63
+ protected:
64
+
65
+ void onBeforeConnect (mbed::Callback<int (void )> cb) {
66
+ beforeConnect = cb;
67
+ }
68
+
62
69
private:
63
70
static uint16_t _srcport;
64
- TCPSocket* sock;
65
- TLSSocket* sock_ssl;
71
+ Socket* sock;
66
72
RingBufferN<256 > rxBuffer;
67
73
uint8_t _status;
74
+ mbed::Callback<int (void )> beforeConnect;
68
75
69
76
void getStatus ();
70
77
};
0 commit comments