Skip to content

Commit

Permalink
Simplify addPropertyReal logic and remove no more needed private methods
Browse files Browse the repository at this point in the history
  • Loading branch information
pennam committed Nov 15, 2022
1 parent fa9e6ee commit 74b3ff2
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 54 deletions.
65 changes: 18 additions & 47 deletions src/ArduinoIoTCloud.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,53 +69,58 @@ void ArduinoIoTCloudClass::addCallback(ArduinoIoTCloudEvent const event, OnCloud
/* The following methods are used for non-LoRa boards */
Property& ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, -1, permission);
return addPropertyReal(property, name, -1, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(float& property, String name, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, -1, permission);
return addPropertyReal(property, name, -1, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(int& property, String name, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, -1, permission);
return addPropertyReal(property, name, -1, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(unsigned int& property, String name, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, -1, permission);
return addPropertyReal(property, name, -1, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(String& property, String name, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, -1, permission);
return addPropertyReal(property, name, -1, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(Property& property, String name, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, -1, permission);
return addPropertyReal(property, name, -1, permission);
}

/* The following methods are used for LoRa boards */
/* The following methods are used for both LoRa and non-Lora boards */
Property& ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, int tag, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, tag, permission);
Property* p = new CloudWrapperBool(property);
return addPropertyReal(*p, name, tag, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(float& property, String name, int tag, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, tag, permission);
Property* p = new CloudWrapperFloat(property);
return addPropertyReal(*p, name, tag, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(int& property, String name, int tag, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, tag, permission);
Property* p = new CloudWrapperInt(property);
return addPropertyReal(*p, name, tag, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(unsigned int& property, String name, int tag, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, tag, permission);
Property* p = new CloudWrapperUnsignedInt(property);
return addPropertyReal(*p, name, tag, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(String& property, String name, int tag, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, tag, permission);
Property* p = new CloudWrapperString(property);
return addPropertyReal(*p, name, tag, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(Property& property, String name, int tag, Permission const permission)
{
return addPropertyReal(property, _thing_property_container, name, tag, permission);
return addPropertyToContainer(_thing_property_container, property, name, permission, tag);
}

/* The following methods are deprecated but still used for non-LoRa boards */
Expand Down Expand Up @@ -205,37 +210,3 @@ __attribute__((weak)) void setDebugMessageLevel(int const /* level */)
/* do nothing */
}

/******************************************************************************
* PRIVATE MEMBER FUNCTIONS
******************************************************************************/

/* The following methods are used for both LoRa and non-LoRa boards */
Property& ArduinoIoTCloudClass::addPropertyReal(bool& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
{
Property* p = new CloudWrapperBool(property);
return addPropertyReal(*p, prop_cont, name, tag, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(float& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
{
Property* p = new CloudWrapperFloat(property);
return addPropertyReal(*p, prop_cont, name, tag, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(int& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
{
Property* p = new CloudWrapperInt(property);
return addPropertyReal(*p, prop_cont, name, tag, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(unsigned int& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
{
Property* p = new CloudWrapperUnsignedInt(property);
return addPropertyReal(*p, prop_cont, name, tag, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(String& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
{
Property* p = new CloudWrapperString(property);
return addPropertyReal(*p, prop_cont, name, tag, permission);
}
Property& ArduinoIoTCloudClass::addPropertyReal(Property& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission)
{
return addPropertyToContainer(prop_cont, property, name, permission, tag);
}
7 changes: 0 additions & 7 deletions src/ArduinoIoTCloud.h
Original file line number Diff line number Diff line change
Expand Up @@ -169,13 +169,6 @@ class ArduinoIoTCloudClass
String _device_id;
OnCloudEventCallback _cloud_event_callback[3];
bool _thing_id_outdated;

Property& addPropertyReal(Property& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission);
Property& addPropertyReal(bool& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission);
Property& addPropertyReal(float& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission);
Property& addPropertyReal(int& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission);
Property& addPropertyReal(unsigned int& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission);
Property& addPropertyReal(String& property, PropertyContainer &prop_cont, String name, int tag, Permission const permission);
};

#ifdef HAS_TCP
Expand Down

0 comments on commit 74b3ff2

Please sign in to comment.