@@ -66,207 +66,131 @@ void ArduinoIoTCloudClass::addCallback(ArduinoIoTCloudEvent const event, OnCloud
6666 _cloud_event_callback[static_cast <size_t >(event)] = callback;
6767}
6868
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)
9871{
99- return addPropertyToContainer (_thing_property_container, property, name, permission, tag );
72+ return addPropertyReal ( property, name, - 1 , permission );
10073}
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)
10375{
104- return addPropertyToContainer (prop_cont, property, name, permission, - 1 );
76+ return addPropertyReal ( property, name, - 1 , permission );
10577}
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)
10879{
109- return addPropertyToContainer (prop_cont, property, name, permission, tag );
80+ return addPropertyReal ( property, name, - 1 , permission );
11081}
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)
11383{
114- addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn );
84+ return addPropertyReal (property, name, -1 , permission );
11585}
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)
11887{
119- Property* p = new CloudWrapperBool (property);
120- addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
88+ return addPropertyReal (property, name, -1 , permission);
12189}
122-
123- Property& ArduinoIoTCloudClass::addPropertyReal (bool & property, String name, Permission const permission)
90+ Property& ArduinoIoTCloudClass::addPropertyReal (Property& property, String name, Permission const permission)
12491{
125- return addPropertyReal (property, _thing_property_container, name, -1 , permission);
92+ return addPropertyReal (property, name, -1 , permission);
12693}
12794
95+ /* The following methods are used for both LoRa and non-Lora boards */
12896Property& 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)
13997{
14098 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);
147100}
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)
150102{
151103 Property* p = new CloudWrapperFloat (property);
152- addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn );
104+ return addPropertyReal (*p, name, tag, permission );
153105}
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)
156107{
157- return addPropertyReal (property, _thing_property_container, name, -1 , permission);
108+ Property* p = new CloudWrapperInt (property);
109+ return addPropertyReal (*p, name, tag, permission);
158110}
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)
161112{
162- return addPropertyReal (property, _thing_property_container, name, tag, permission);
113+ Property* p = new CloudWrapperUnsignedInt (property);
114+ return addPropertyReal (*p, name, tag, permission);
163115}
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)
166117{
167- return addPropertyReal (property, prop_cont, name, -1 , permission);
118+ Property* p = new CloudWrapperString (property);
119+ return addPropertyReal (*p, name, tag, permission);
168120}
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)
171122{
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);
174124}
175125
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))
177128{
178129 addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
179130}
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))
188132{
189- return addPropertyReal (property, _thing_property_container, name, -1 , permission );
133+ addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn );
190134}
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))
193136{
194- return addPropertyReal (property, _thing_property_container, name, tag, permission );
137+ addPropertyReal (property, name, - 1 , permission_type, seconds, fn, minDelta, synFn );
195138}
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))
198140{
199- return addPropertyReal (property, prop_cont, name, -1 , permission );
141+ addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn );
200142}
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))
203144{
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);
206146}
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))
209148{
210149 addPropertyReal (property, name, -1 , permission_type, seconds, fn, minDelta, synFn);
211150}
212151
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))
214154{
215- Property* p = new CloudWrapperUnsignedInt (property);
155+ Property* p = new CloudWrapperBool (property);
216156 addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
217157}
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))
225159{
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);
227162}
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))
230164{
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);
232167}
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))
235169{
236170 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);
243172}
244-
245173void ArduinoIoTCloudClass::addPropertyReal (String& property, String name, int tag, permissionType permission_type, long seconds, void (*fn)(void ), float minDelta, void(*synFn)(Property & property))
246174{
247175 Property* p = new CloudWrapperString (property);
248176 addPropertyReal (*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
249177}
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))
262179{
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+ }
265188
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+ }
270194}
271195
272196/* *****************************************************************************
@@ -285,3 +209,4 @@ __attribute__((weak)) void setDebugMessageLevel(int const /* level */)
285209{
286210 /* do nothing */
287211}
212+
0 commit comments