@@ -100,104 +100,39 @@ class ArduinoIoTCloudClass {
100100
101101 static unsigned long const DEFAULT_MIN_TIME_BETWEEN_UPDATES_MILLIS = 500 ; /* Data rate throttled to 2 Hz */
102102
103- void addPropertyReal (ArduinoCloudProperty & property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
104- addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
105- }
103+ void addPropertyReal (ArduinoCloudProperty& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS);
106104
107- void addPropertyReal (ArduinoCloudProperty& property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty& property) = CLOUD_WINS) {
108- Permission permission = Permission::ReadWrite;
109- if (permission_type == READ) {
110- permission = Permission::Read;
111- } else if (permission_type == WRITE) {
112- permission = Permission::Write;
113- } else {
114- permission = Permission::ReadWrite;
115- }
116-
117- if (seconds == ON_CHANGE) {
118- Thing.addPropertyReal (property, name, permission, tag).publishOnChange (minDelta, DEFAULT_MIN_TIME_BETWEEN_UPDATES_MILLIS).onUpdate (fn).onSync (synFn);
119- } else {
120- Thing.addPropertyReal (property, name, permission, tag).publishEvery (seconds).onUpdate (fn).onSync (synFn);
121- }
122- }
105+ void addPropertyReal (ArduinoCloudProperty& property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS);
123106
124- void addPropertyReal (bool & property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
125- addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
126- }
107+ void addPropertyReal (bool & property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS);
108+ void addPropertyReal (bool & property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS);
109+ ArduinoCloudProperty& addPropertyReal (bool & property, String name, Permission const permission);
110+ ArduinoCloudProperty& addPropertyReal (bool & property, String name, int tag, Permission const permission);
127111
128- void addPropertyReal (bool & property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
129- ArduinoCloudProperty *p = new CloudWrapperBool (property);
130- addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
131- }
132- ArduinoCloudProperty& addPropertyReal (bool & property, String name, Permission const permission) {
133- return addPropertyReal (property, name, -1 , permission);
134- }
135- ArduinoCloudProperty& addPropertyReal (bool & property, String name, int tag, Permission const permission) {
136- ArduinoCloudProperty *p = new CloudWrapperBool (property);
137- return Thing.addPropertyReal (*p, name, permission, tag);
138- }
112+ void addPropertyReal (float & property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS);
139113
140- void addPropertyReal (float & property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
141- addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
142- }
114+ void addPropertyReal (float & property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS);
143115
144- void addPropertyReal (float & property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
145- ArduinoCloudProperty *p = new CloudWrapperFloat (property);
146- addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
147- }
116+ ArduinoCloudProperty& addPropertyReal (float & property, String name, Permission const permission);
148117
149- ArduinoCloudProperty& addPropertyReal (float & property, String name, Permission const permission) {
150- return addPropertyReal (property, name, -1 , permission);
151- }
118+ ArduinoCloudProperty& addPropertyReal (float & property, String name, int tag, Permission const permission);
152119
153- ArduinoCloudProperty& addPropertyReal (float & property, String name, int tag, Permission const permission) {
154- ArduinoCloudProperty *p = new CloudWrapperFloat (property);
155- return Thing.addPropertyReal (*p, name, permission, tag);
156- }
120+ void addPropertyReal (int & property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS);
157121
158- void addPropertyReal (int & property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
159- addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
160- }
122+ void addPropertyReal (int & property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS);
161123
162- void addPropertyReal (int & property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
163- ArduinoCloudProperty *p = new CloudWrapperInt (property);
164- addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
165- }
124+ ArduinoCloudProperty& addPropertyReal (int & property, String name, Permission const permission);
166125
167- ArduinoCloudProperty& addPropertyReal (int & property, String name, Permission const permission) {
168- return addPropertyReal (property, name, -1 , permission);
169- }
126+ ArduinoCloudProperty& addPropertyReal (int & property, String name, int tag, Permission const permission);
170127
171- ArduinoCloudProperty& addPropertyReal (int & property, String name, int tag, Permission const permission) {
172- ArduinoCloudProperty *p = new CloudWrapperInt (property);
173- return Thing.addPropertyReal (*p, name, permission, tag);
174- }
128+ void addPropertyReal (String& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS);
129+ void addPropertyReal (String& property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS);
130+ ArduinoCloudProperty& addPropertyReal (String& property, String name, Permission const permission);
175131
176- void addPropertyReal (String& property, String name, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
177- addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
178- }
132+ ArduinoCloudProperty& addPropertyReal (String& property, String name, int tag, Permission const permission);
179133
180- void addPropertyReal (String& property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void (*fn)(void ) = NULL, float minDelta = 0.0f, void(*synFn)(ArduinoCloudProperty & property) = CLOUD_WINS) {
181- ArduinoCloudProperty *p = new CloudWrapperString (property);
182- addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
183- }
134+ void addCallback (ArduinoIoTCloudEvent const event, OnCloudEventCallback callback);
184135
185- ArduinoCloudProperty& addPropertyReal (String& property, String name, Permission const permission) {
186- return addPropertyReal (property, name, -1 , permission);
187- }
188-
189- ArduinoCloudProperty& addPropertyReal (String& property, String name, int tag, Permission const permission) {
190- ArduinoCloudProperty *p = new CloudWrapperString (property);
191- return Thing.addPropertyReal (*p, name, permission, tag);
192- }
193-
194- void addCallback (ArduinoIoTCloudEvent const event, OnCloudEventCallback callback) {
195- switch (event) {
196- case ArduinoIoTCloudEvent::SYNC: _on_sync_event_callback = callback; break ;
197- case ArduinoIoTCloudEvent::CONNECT: _on_connect_event_callback = callback; break ;
198- case ArduinoIoTCloudEvent::DISCONNECT: _on_disconnect_event_callback = callback; break ;
199- }
200- };
201136
202137 protected:
203138
@@ -231,21 +166,8 @@ class ArduinoIoTCloudClass {
231166 OnCloudEventCallback _on_connect_event_callback = NULL ;
232167 OnCloudEventCallback _on_disconnect_event_callback = NULL ;
233168
234- static void execCloudEventCallback (OnCloudEventCallback & callback, void * callback_arg) {
235- if (callback) {
236- (*callback)(callback_arg);
237- }
238- }
239- static void printConnectionStatus (ArduinoIoTConnectionStatus status) {
240- switch (status) {
241- case ArduinoIoTConnectionStatus::IDLE: Debug.print (DBG_INFO, " Arduino IoT Cloud Connection status: IDLE" ); break ;
242- case ArduinoIoTConnectionStatus::ERROR: Debug.print (DBG_ERROR, " Arduino IoT Cloud Connection status: ERROR" ); break ;
243- case ArduinoIoTConnectionStatus::CONNECTING: Debug.print (DBG_INFO, " Arduino IoT Cloud Connection status: CONNECTING" ); break ;
244- case ArduinoIoTConnectionStatus::RECONNECTING: Debug.print (DBG_INFO, " Arduino IoT Cloud Connection status: RECONNECTING" ); break ;
245- case ArduinoIoTConnectionStatus::CONNECTED: Debug.print (DBG_INFO, " Arduino IoT Cloud Connection status: CONNECTED" ); break ;
246- case ArduinoIoTConnectionStatus::DISCONNECTED: Debug.print (DBG_ERROR, " Arduino IoT Cloud Connection status: DISCONNECTED" ); break ;
247- }
248- }
169+ static void execCloudEventCallback (OnCloudEventCallback& callback, void * callback_arg);
170+ static void printConnectionStatus (ArduinoIoTConnectionStatus status);
249171};
250172
251173#if defined(ARDUINO_SAMD_MKRGSM1400) || defined(ARDUINO_SAMD_MKRWIFI1010) || defined(ARDUINO_SAMD_MKR1000) || defined(ARDUINO_SAMD_NANO_33_IOT)
0 commit comments