@@ -237,21 +237,28 @@ class NetworkClient : public Client
237237 // ------------------------------
238238
239239 friend class NetworkEthernetClient ;
240+ friend class NetworkEthernetSslClient ;
240241 friend class NetworkWiFiClient ;
242+ friend class NetworkWiFiSslClient ;
241243};
242244
243245#ifdef COMPILE_ETHERNET
244246class NetworkEthernetClient : public NetworkClient
245247{
246248 private:
247249
248- EthernetClient _client ;
250+ EthernetClient _ethernetClient ;
249251
250252 public:
251253
254+ NetworkEthernetClient () :
255+ NetworkClient (&_ethernetClient, NETWORK_TYPE_ETHERNET)
256+ {
257+ }
258+
252259 NetworkEthernetClient (EthernetClient& client) :
253- _client {client},
254- NetworkClient (&_client , NETWORK_TYPE_ETHERNET)
260+ _ethernetClient {client},
261+ NetworkClient (&_ethernetClient , NETWORK_TYPE_ETHERNET)
255262 {
256263 }
257264
@@ -260,17 +267,45 @@ class NetworkEthernetClient : public NetworkClient
260267 this ->~NetworkClient ();
261268 }
262269};
270+
271+ class NetworkEthernetSslClient : public NetworkClient
272+ {
273+ protected:
274+
275+ EthernetClient _ethernetClient;
276+ SSLClientESP32 _sslClient;
277+
278+ public:
279+
280+ NetworkEthernetSslClient () :
281+ _sslClient (),
282+ NetworkClient (&_sslClient, NETWORK_TYPE_ETHERNET)
283+ {
284+ _sslClient.setClient (&_ethernetClient);
285+ _sslClient.setCACertBundle (x509CertificateBundle);
286+ }
287+
288+ ~NetworkEthernetSslClient ()
289+ {
290+ this ->~NetworkClient ();
291+ }
292+ };
263293#endif // COMPILE_ETHERNET
264294
265295#ifdef COMPILE_WIFI
266296class NetworkWiFiClient : public NetworkClient
267297{
268- private :
298+ protected :
269299
270300 WiFiClient _client;
271301
272302 public:
273303
304+ NetworkWiFiClient () :
305+ NetworkClient (&_client, NETWORK_TYPE_WIFI)
306+ {
307+ }
308+
274309 NetworkWiFiClient (WiFiClient& client) :
275310 _client{client},
276311 NetworkClient (&_client, NETWORK_TYPE_WIFI)
@@ -282,6 +317,29 @@ class NetworkWiFiClient : public NetworkClient
282317 this ->~NetworkClient ();
283318 }
284319};
320+
321+ class NetworkWiFiSslClient : public NetworkClient
322+ {
323+ protected:
324+
325+ WiFiClient _wifiClient;
326+ SSLClientESP32 _sslClient;
327+
328+ public:
329+
330+ NetworkWiFiSslClient () :
331+ _sslClient (),
332+ NetworkClient (&_sslClient, NETWORK_TYPE_WIFI)
333+ {
334+ _sslClient.setClient (&_wifiClient);
335+ _sslClient.setCACertBundle (x509CertificateBundle);
336+ }
337+
338+ ~NetworkWiFiSslClient ()
339+ {
340+ this ->~NetworkClient ();
341+ }
342+ };
285343#endif // COMPILE_WIFI
286344
287345#endif // __NETWORK_CLIENT_H__
0 commit comments