Skip to content

Commit eb39dbe

Browse files
committed
Avoid library to call deprecated functions itself
1 parent d436b80 commit eb39dbe

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

src/ArduinoIoTCloud.cpp

+21-11
Original file line numberDiff line numberDiff line change
@@ -126,56 +126,66 @@ Property& ArduinoIoTCloudClass::addPropertyReal(Property& property, String name,
126126
/* The following methods are deprecated but still used for non-LoRa boards */
127127
void ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
128128
{
129-
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
129+
Property* p = new CloudWrapperBool(property);
130+
addPropertyRealInternal(*p, name, -1, permission_type, seconds, fn, minDelta, synFn);
130131
}
131132
void ArduinoIoTCloudClass::addPropertyReal(float& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
132133
{
133-
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
134+
Property* p = new CloudWrapperFloat(property);
135+
addPropertyRealInternal(*p, name, -1, permission_type, seconds, fn, minDelta, synFn);
134136
}
135137
void ArduinoIoTCloudClass::addPropertyReal(int& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
136138
{
137-
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
139+
Property* p = new CloudWrapperInt(property);
140+
addPropertyRealInternal(*p, name, -1, permission_type, seconds, fn, minDelta, synFn);
138141
}
139142
void ArduinoIoTCloudClass::addPropertyReal(unsigned int& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
140143
{
141-
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
144+
Property* p = new CloudWrapperUnsignedInt(property);
145+
addPropertyRealInternal(*p, name, -1, permission_type, seconds, fn, minDelta, synFn);
142146
}
143147
void ArduinoIoTCloudClass::addPropertyReal(String& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
144148
{
145-
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
149+
Property* p = new CloudWrapperString(property);
150+
addPropertyRealInternal(*p, name, -1, permission_type, seconds, fn, minDelta, synFn);
146151
}
147152
void ArduinoIoTCloudClass::addPropertyReal(Property& property, String name, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
148153
{
149-
addPropertyReal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
154+
addPropertyRealInternal(property, name, -1, permission_type, seconds, fn, minDelta, synFn);
150155
}
151156

152157
/* The following methods are deprecated but still used for both LoRa and non-LoRa boards */
153158
void ArduinoIoTCloudClass::addPropertyReal(bool& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
154159
{
155160
Property* p = new CloudWrapperBool(property);
156-
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
161+
addPropertyRealInternal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
157162
}
158163
void ArduinoIoTCloudClass::addPropertyReal(float& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
159164
{
160165
Property* p = new CloudWrapperFloat(property);
161-
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
166+
addPropertyRealInternal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
162167
}
163168
void ArduinoIoTCloudClass::addPropertyReal(int& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
164169
{
165170
Property* p = new CloudWrapperInt(property);
166-
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
171+
addPropertyRealInternal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
167172
}
168173
void ArduinoIoTCloudClass::addPropertyReal(unsigned int& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
169174
{
170175
Property* p = new CloudWrapperUnsignedInt(property);
171-
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
176+
addPropertyRealInternal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
172177
}
173178
void ArduinoIoTCloudClass::addPropertyReal(String& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
174179
{
175180
Property* p = new CloudWrapperString(property);
176-
addPropertyReal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
181+
addPropertyRealInternal(*p, name, tag, permission_type, seconds, fn, minDelta, synFn);
177182
}
178183
void ArduinoIoTCloudClass::addPropertyReal(Property& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
184+
{
185+
addPropertyRealInternal(property, name, tag, permission_type, seconds, fn, minDelta, synFn);
186+
}
187+
188+
void ArduinoIoTCloudClass::addPropertyRealInternal(Property& property, String name, int tag, permissionType permission_type, long seconds, void(*fn)(void), float minDelta, void(*synFn)(Property & property))
179189
{
180190
Permission permission = Permission::ReadWrite;
181191
if (permission_type == READ) {

src/ArduinoIoTCloud.h

+2
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ class ArduinoIoTCloudClass
166166

167167
private:
168168

169+
void addPropertyRealInternal(Property& property, String name, int tag, permissionType permission_type = READWRITE, long seconds = ON_CHANGE, void(*fn)(void) = NULL, float minDelta = 0.0f, void(*synFn)(Property & property) = CLOUD_WINS);
170+
169171
String _device_id;
170172
OnCloudEventCallback _cloud_event_callback[3];
171173
bool _thing_id_outdated;

0 commit comments

Comments
 (0)