@@ -66,207 +66,131 @@ void ArduinoIoTCloudClass::addCallback(ArduinoIoTCloudEvent const event, OnCloud
66
66
_cloud_event_callback[static_cast <size_t >(event)] = callback;
67
67
}
68
68
69
- void ArduinoIoTCloudClass::addPropertyReal (Property& property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
70
- {
71
- addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
72
- }
73
-
74
- void ArduinoIoTCloudClass::addPropertyReal (Property& property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
75
- {
76
- Permission permission = Permission::ReadWrite;
77
- if (permission_type == READ) {
78
- permission = Permission::Read;
79
- } else if (permission_type == WRITE) {
80
- permission = Permission::Write;
81
- } else {
82
- permission = Permission::ReadWrite;
83
- }
84
-
85
- if (seconds == ON_CHANGE) {
86
- addPropertyToContainer (_thing_property_container, property, name, permission, tag).publishOnChange (minDelta, Property::DEFAULT_MIN_TIME_BETWEEN_UPDATES_MILLIS).onUpdate (fn).onSync (synFn);
87
- } else {
88
- addPropertyToContainer (_thing_property_container, property, name, permission, tag).publishEvery (seconds).onUpdate (fn).onSync (synFn);
89
- }
90
- }
91
-
92
- Property& ArduinoIoTCloudClass::addPropertyReal (Property& property, String name, Permission const permission)
93
- {
94
- return addPropertyToContainer (_thing_property_container, property, name, permission);
95
- }
96
-
97
- Property& ArduinoIoTCloudClass::addPropertyReal (Property& property, String name, int tag, Permission const permission)
69
+ /* The following methods are used for non-LoRa boards */
70
+ Property& ArduinoIoTCloudClass::addPropertyReal (bool & property, String name, Permission const permission)
98
71
{
99
- return addPropertyToContainer (_thing_property_container, property, name, permission, tag );
72
+ return addPropertyReal ( property, name, - 1 , permission );
100
73
}
101
-
102
- Property& ArduinoIoTCloudClass::addPropertyReal (Property& property, PropertyContainer &prop_cont, String name, Permission const permission)
74
+ Property& ArduinoIoTCloudClass::addPropertyReal (float & property, String name, Permission const permission)
103
75
{
104
- return addPropertyToContainer (prop_cont, property, name, permission, - 1 );
76
+ return addPropertyReal ( property, name, - 1 , permission );
105
77
}
106
-
107
- Property& ArduinoIoTCloudClass::addPropertyReal (Property& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
78
+ Property& ArduinoIoTCloudClass::addPropertyReal (int & property, String name, Permission const permission)
108
79
{
109
- return addPropertyToContainer (prop_cont, property, name, permission, tag );
80
+ return addPropertyReal ( property, name, - 1 , permission );
110
81
}
111
-
112
- void ArduinoIoTCloudClass::addPropertyReal (bool & property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
82
+ Property& ArduinoIoTCloudClass::addPropertyReal (unsigned int & property, String name, Permission const permission)
113
83
{
114
- addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn );
84
+ return addPropertyReal (property, name, -1 , permission );
115
85
}
116
-
117
- void ArduinoIoTCloudClass::addPropertyReal (bool & property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
86
+ Property& ArduinoIoTCloudClass::addPropertyReal (String& property, String name, Permission const permission)
118
87
{
119
- Property* p = new CloudWrapperBool (property);
120
- addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
88
+ return addPropertyReal (property, name, -1 , permission);
121
89
}
122
-
123
- Property& ArduinoIoTCloudClass::addPropertyReal (bool & property, String name, Permission const permission)
90
+ Property& ArduinoIoTCloudClass::addPropertyReal (Property& property, String name, Permission const permission)
124
91
{
125
- return addPropertyReal (property, _thing_property_container, name, -1 , permission);
92
+ return addPropertyReal (property, name, -1 , permission);
126
93
}
127
94
95
+ /* The following methods are used for both LoRa and non-Lora boards */
128
96
Property& ArduinoIoTCloudClass::addPropertyReal (bool & property, String name, int tag, Permission const permission)
129
- {
130
- return addPropertyReal (property, _thing_property_container, name, tag, permission);
131
- }
132
-
133
- Property& ArduinoIoTCloudClass::addPropertyReal (bool & property, PropertyContainer &prop_cont, String name, Permission const permission)
134
- {
135
- return addPropertyReal (property, prop_cont, name, -1 , permission);
136
- }
137
-
138
- Property& ArduinoIoTCloudClass::addPropertyReal (bool & property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
139
97
{
140
98
Property* p = new CloudWrapperBool (property);
141
- return addPropertyToContainer (prop_cont, *p, name, permission, tag);
142
- }
143
-
144
- void ArduinoIoTCloudClass::addPropertyReal (float & property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
145
- {
146
- addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
99
+ return addPropertyReal (*p, name, tag, permission);
147
100
}
148
-
149
- void ArduinoIoTCloudClass::addPropertyReal (float & property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
101
+ Property& ArduinoIoTCloudClass::addPropertyReal (float & property, String name, int tag, Permission const permission)
150
102
{
151
103
Property* p = new CloudWrapperFloat (property);
152
- addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn );
104
+ return addPropertyReal (*p, name, tag, permission );
153
105
}
154
-
155
- Property& ArduinoIoTCloudClass::addPropertyReal (float & property, String name, Permission const permission)
106
+ Property& ArduinoIoTCloudClass::addPropertyReal (int & property, String name, int tag, Permission const permission)
156
107
{
157
- return addPropertyReal (property, _thing_property_container, name, -1 , permission);
108
+ Property* p = new CloudWrapperInt (property);
109
+ return addPropertyReal (*p, name, tag, permission);
158
110
}
159
-
160
- Property& ArduinoIoTCloudClass::addPropertyReal (float & property, String name, int tag, Permission const permission)
111
+ Property& ArduinoIoTCloudClass::addPropertyReal (unsigned int & property, String name, int tag, Permission const permission)
161
112
{
162
- return addPropertyReal (property, _thing_property_container, name, tag, permission);
113
+ Property* p = new CloudWrapperUnsignedInt (property);
114
+ return addPropertyReal (*p, name, tag, permission);
163
115
}
164
-
165
- Property& ArduinoIoTCloudClass::addPropertyReal (float & property, PropertyContainer &prop_cont, String name, Permission const permission)
116
+ Property& ArduinoIoTCloudClass::addPropertyReal (String& property, String name, int tag, Permission const permission)
166
117
{
167
- return addPropertyReal (property, prop_cont, name, -1 , permission);
118
+ Property* p = new CloudWrapperString (property);
119
+ return addPropertyReal (*p, name, tag, permission);
168
120
}
169
-
170
- Property& ArduinoIoTCloudClass::addPropertyReal (float & property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
121
+ Property& ArduinoIoTCloudClass::addPropertyReal (Property& property, String name, int tag, Permission const permission)
171
122
{
172
- Property* p = new CloudWrapperFloat (property);
173
- return addPropertyToContainer (prop_cont, *p, name, permission, tag);
123
+ return addPropertyToContainer (_thing_property_container, property, name, permission, tag);
174
124
}
175
125
176
- void ArduinoIoTCloudClass::addPropertyReal (int & property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
126
+ /* The following methods are deprecated but still used for non-LoRa boards */
127
+ void ArduinoIoTCloudClass::addPropertyReal (bool & property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
177
128
{
178
129
addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
179
130
}
180
-
181
- void ArduinoIoTCloudClass::addPropertyReal (int & property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
182
- {
183
- Property* p = new CloudWrapperInt (property);
184
- addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
185
- }
186
-
187
- Property& ArduinoIoTCloudClass::addPropertyReal (int & property, String name, Permission const permission)
131
+ void ArduinoIoTCloudClass::addPropertyReal (float & property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
188
132
{
189
- return addPropertyReal (property, _thing_property_container, name, -1 , permission );
133
+ addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn );
190
134
}
191
-
192
- Property& ArduinoIoTCloudClass::addPropertyReal (int & property, String name, int tag, Permission const permission)
135
+ void ArduinoIoTCloudClass::addPropertyReal (int & property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
193
136
{
194
- return addPropertyReal (property, _thing_property_container, name, tag, permission );
137
+ addPropertyReal (property, name, - 1 , permission_type, seconds, fn, minDelta, synFn );
195
138
}
196
-
197
- Property& ArduinoIoTCloudClass::addPropertyReal (int & property, PropertyContainer &prop_cont, String name, Permission const permission)
139
+ void ArduinoIoTCloudClass::addPropertyReal (unsigned int & property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
198
140
{
199
- return addPropertyReal (property, prop_cont, name, -1 , permission );
141
+ addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn );
200
142
}
201
-
202
- Property& ArduinoIoTCloudClass::addPropertyReal (int & property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
143
+ void ArduinoIoTCloudClass::addPropertyReal (String& property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
203
144
{
204
- Property* p = new CloudWrapperInt (property);
205
- return addPropertyToContainer (prop_cont, *p, name, permission, tag);
145
+ addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
206
146
}
207
-
208
- void ArduinoIoTCloudClass::addPropertyReal (unsigned int & property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
147
+ void ArduinoIoTCloudClass::addPropertyReal (Property& property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
209
148
{
210
149
addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
211
150
}
212
151
213
- void ArduinoIoTCloudClass::addPropertyReal (unsigned int & property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
152
+ /* The following methods are deprecated but still used for both LoRa and non-LoRa boards */
153
+ void ArduinoIoTCloudClass::addPropertyReal (bool & property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
214
154
{
215
- Property* p = new CloudWrapperUnsignedInt (property);
155
+ Property* p = new CloudWrapperBool (property);
216
156
addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
217
157
}
218
-
219
- Property& ArduinoIoTCloudClass::addPropertyReal (unsigned int & property, String name, Permission const permission)
220
- {
221
- return addPropertyReal (property, _thing_property_container, name, -1 , permission);
222
- }
223
-
224
- Property& ArduinoIoTCloudClass::addPropertyReal (unsigned int & property, String name, int tag, Permission const permission)
158
+ void ArduinoIoTCloudClass::addPropertyReal (float & property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
225
159
{
226
- return addPropertyReal (property, _thing_property_container, name, tag, permission);
160
+ Property* p = new CloudWrapperFloat (property);
161
+ addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
227
162
}
228
-
229
- Property& ArduinoIoTCloudClass::addPropertyReal (unsigned int & property, PropertyContainer &prop_cont, String name, Permission const permission)
163
+ void ArduinoIoTCloudClass::addPropertyReal (int & property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
230
164
{
231
- return addPropertyReal (property, prop_cont, name, -1 , permission);
165
+ Property* p = new CloudWrapperInt (property);
166
+ addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
232
167
}
233
-
234
- Property& ArduinoIoTCloudClass::addPropertyReal (unsigned int & property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
168
+ void ArduinoIoTCloudClass::addPropertyReal (unsigned int & property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
235
169
{
236
170
Property* p = new CloudWrapperUnsignedInt (property);
237
- return addPropertyToContainer (prop_cont, *p, name, permission, tag);
238
- }
239
-
240
- void ArduinoIoTCloudClass::addPropertyReal (String& property, String name, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
241
- {
242
- addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
171
+ addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
243
172
}
244
-
245
173
void ArduinoIoTCloudClass::addPropertyReal (String& property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
246
174
{
247
175
Property* p = new CloudWrapperString (property);
248
176
addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
249
177
}
250
-
251
- Property& ArduinoIoTCloudClass::addPropertyReal (String& property, String name, Permission const permission)
252
- {
253
- return addPropertyReal (property, _thing_property_container, name, -1 , permission);
254
- }
255
-
256
- Property& ArduinoIoTCloudClass::addPropertyReal (String& property, String name, int tag, Permission const permission)
257
- {
258
- return addPropertyReal (property, _thing_property_container, name, tag, permission);
259
- }
260
-
261
- Property& ArduinoIoTCloudClass::addPropertyReal (String& property, PropertyContainer &prop_cont, String name, Permission const permission)
178
+ void ArduinoIoTCloudClass::addPropertyReal (Property& property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
262
179
{
263
- return addPropertyReal (property, prop_cont, name, -1 , permission);
264
- }
180
+ Permission permission = Permission::ReadWrite;
181
+ if (permission_type == READ) {
182
+ permission = Permission::Read;
183
+ } else if (permission_type == WRITE) {
184
+ permission = Permission::Write;
185
+ } else {
186
+ permission = Permission::ReadWrite;
187
+ }
265
188
266
- Property& ArduinoIoTCloudClass::addPropertyReal (String& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
267
- {
268
- Property* p = new CloudWrapperString (property);
269
- return addPropertyToContainer (prop_cont, *p, name, permission, tag);
189
+ if (seconds == ON_CHANGE) {
190
+ addPropertyToContainer (_thing_property_container, property, name, permission, tag).publishOnChange (minDelta, Property::DEFAULT_MIN_TIME_BETWEEN_UPDATES_MILLIS).onUpdate (fn).onSync (synFn);
191
+ } else {
192
+ addPropertyToContainer (_thing_property_container, property, name, permission, tag).publishEvery (seconds).onUpdate (fn).onSync (synFn);
193
+ }
270
194
}
271
195
272
196
/* *****************************************************************************
@@ -285,3 +209,4 @@ __attribute__((weak)) void setDebugMessageLevel(int const /* level */)
285
209
{
286
210
/* do nothing */
287
211
}
212
+
0 commit comments