@@ -264,7 +264,7 @@ ArduinoCloudThing::MapParserState ArduinoCloudThing::handle_Name(CborValue * val
264
264
map_data->name_identifier .set (val & 255 );
265
265
map_data->attribute_identifier .set (val >> 8 );
266
266
map_data->light_payload .set (true );
267
- String name = getPropertyNameByIdentifier (val);
267
+ String name = getPropertyNameByIdentifier (*_property_container, val);
268
268
map_data->name .set (name);
269
269
270
270
@@ -353,7 +353,7 @@ ArduinoCloudThing::MapParserState ArduinoCloudThing::handle_LeaveMap(CborValue *
353
353
354
354
if (_currentPropertyName != " " && propertyName != _currentPropertyName) {
355
355
/* Update the property containers depending on the parsed data */
356
- updateProperty (_currentPropertyName, _currentPropertyBaseTime + _currentPropertyTime);
356
+ updateProperty (*_property_container, _currentPropertyName, _currentPropertyBaseTime + _currentPropertyTime, _isSyncMessage, &_map_data_list );
357
357
/* Reset current property data */
358
358
freeMapDataList (&_map_data_list);
359
359
_currentPropertyBaseTime = 0 ;
@@ -376,7 +376,7 @@ ArduinoCloudThing::MapParserState ArduinoCloudThing::handle_LeaveMap(CborValue *
376
376
next_state = MapParserState::EnterMap;
377
377
} else {
378
378
/* Update the property containers depending on the parsed data */
379
- updateProperty (_currentPropertyName, _currentPropertyBaseTime + _currentPropertyTime);
379
+ updateProperty (*_property_container, _currentPropertyName, _currentPropertyBaseTime + _currentPropertyTime, _isSyncMessage, &_map_data_list );
380
380
/* Reset last property data */
381
381
freeMapDataList (&_map_data_list);
382
382
next_state = MapParserState::Complete;
@@ -397,31 +397,6 @@ void ArduinoCloudThing::freeMapDataList(std::list<CborMapData *> * map_data_list
397
397
map_data_list->clear ();
398
398
}
399
399
400
- void ArduinoCloudThing::updateProperty (String propertyName, unsigned long cloudChangeEventTime) {
401
- Property* property = getProperty (*_property_container, propertyName);
402
- if (property && property->isWriteableByCloud ()) {
403
- property->setLastCloudChangeTimestamp (cloudChangeEventTime);
404
- property->setAttributesFromCloud (&_map_data_list);
405
- if (_isSyncMessage) {
406
- property->execCallbackOnSync ();
407
- } else {
408
- property->fromCloudToLocal ();
409
- property->execCallbackOnChange ();
410
- }
411
- }
412
- }
413
-
414
- // retrieve the property name by the identifier
415
- String ArduinoCloudThing::getPropertyNameByIdentifier (int propertyIdentifier) {
416
- Property* property;
417
- if (propertyIdentifier > 255 ) {
418
- property = getProperty (*_property_container, propertyIdentifier & 255 );
419
- } else {
420
- property = getProperty (*_property_container, propertyIdentifier);
421
- }
422
- return property->name ();
423
- }
424
-
425
400
bool ArduinoCloudThing::ifNumericConvertToDouble (CborValue * value_iter, double * numeric_val) {
426
401
427
402
if (cbor_value_is_integer (value_iter)) {
0 commit comments