Official reference client implementation for Cumulocity SmartREST on u-blox C027.
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
Diff: config/ConfigSync.cpp
- Revision:
- 103:ede6611e064e
- Parent:
- 101:dbcd3bc51758
- Child:
- 105:fd3571349e5d
--- a/config/ConfigSync.cpp Fri May 08 12:20:50 2015 +0000 +++ b/config/ConfigSync.cpp Fri May 08 13:03:41 2015 +0000 @@ -13,17 +13,17 @@ return d.get(INTERVAL_KEY); } -size_t ConfigSync::read(char *buf, size_t maxLen, char *line, size_t num) +size_t ConfigSync::read(char *buf, size_t maxLen, char *status, size_t num) { static const char *fmt = "130,%ld,%s,%.*s\r\n"; int l = 0; if (changed) { changed = false; - char s[MAX_ITEM_SIZE*(MAX_KEY_LEN+MAX_VALUE_LEN+2)+1]; + char s[(MAX_KEY_LEN+MAX_VALUE_LEN+4)*dict.size()+1]; dict.dump(s); const char *p = dict.get("interval")->value; l = snprintf(buf, maxLen, fmt, deviceID, s, MAX_VALUE_LEN, p); - snprintf(line, num, "%s", "Sync Config"); + snprintf(status, num, "%s", "Sync Config"); } return l; } @@ -35,8 +35,10 @@ dict = cp.dict; changed = true; saveConfiguration(); + return true; + } else { + return false; } - return b; } void ConfigSync::resetConfiguration() @@ -49,7 +51,7 @@ void ConfigSync::loadConfiguration() { - char buf[(MAX_KEY_LEN+MAX_VALUE_LEN)*MAX_ITEM_SIZE+1]; + char buf[(MAX_KEY_LEN+MAX_VALUE_LEN+4)*MAX_ITEM_SIZE+1]; int l = loadConfigFile(buf, sizeof(buf)); if (l > 0) { updateConfiguration(buf); @@ -58,7 +60,7 @@ void ConfigSync::saveConfiguration() const { - char s[dict.size()*(MAX_KEY_LEN+MAX_VALUE_LEN+2)+1]; + char s[(MAX_KEY_LEN+MAX_VALUE_LEN+3)*dict.size()+1]; size_t l = dict.dump(s); if (l) { if (!saveConfigFile(s, l)) {