1
+ // The MIT License (MIT)
2
+ //
3
+ // Copyright (c) 2017 THINK BIG LABS SL
4
+ // Author: alvarolb@gmail.com (Alvaro Luis Bustamante)
5
+ //
6
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ // of this software and associated documentation files (the "Software"), to deal
8
+ // in the Software without restriction, including without limitation the rights
9
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ // copies of the Software, and to permit persons to whom the Software is
11
+ // furnished to do so, subject to the following conditions:
12
+ //
13
+ // The above copyright notice and this permission notice shall be included in
14
+ // all copies or substantial portions of the Software.
15
+ //
16
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ // THE SOFTWARE.
23
+
24
+ #ifndef THINGER_R4WIFI_H
25
+ #define THINGER_R4WIFI_H
26
+
27
+ #include < WiFiS3.h>
28
+ #include " ThingerWifi.h"
29
+
30
+ // load SSL non-SSL client implementations
31
+ #ifdef _DISABLE_TLS_
32
+ #include < WiFiClient.h>
33
+ typedef WiFiClient R4WiFiClient;
34
+ #else
35
+ #include < WiFiSSLClient.h>
36
+ typedef WiFiSSLClient R4WiFiClient;
37
+ #endif
38
+
39
+ class ThingerR4WiFi : public ThingerWifiClient <R4WiFiClient> {
40
+
41
+ public:
42
+ ThingerR4WiFi (const char * user, const char * device, const char * device_credential) :
43
+ ThingerWifiClient (user, device, device_credential)
44
+ {
45
+
46
+ }
47
+
48
+ ~ThingerR4WiFi (){
49
+
50
+ }
51
+
52
+ #ifndef _DISABLE_TLS_
53
+ bool connect_socket () override {
54
+
55
+ #ifdef THINGER_INSECURE_SSL
56
+ client_.setInsecure ();
57
+ THINGER_DEBUG (" SSL/TLS" , " Warning: TLS/SSL certificate will not be checked!" )
58
+ #else
59
+ // client_.setTrustAnchors(&x509);
60
+ #endif
61
+ return client_.connect (get_host (), THINGER_SSL_PORT);
62
+ }
63
+ #endif
64
+
65
+ };
66
+
67
+ #endif
0 commit comments