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 Vincent Wochnik

Committer:
xinlei
Date:
Fri May 08 13:15:29 2015 +0000
Revision:
104:a3703ca4a4a4
Parent:
io/DeviceMemory.cpp@103:ede6611e064e
Child:
111:ee9ae4a5e55c
rename files to meaningful names

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vwochnik 67:c360a2b2c948 1 #include <stdio.h>
vwochnik 67:c360a2b2c948 2 #include <string.h>
xinlei 97:ea056f6be2e8 3 #include "MDM.h"
vwochnik 67:c360a2b2c948 4
xinlei 101:dbcd3bc51758 5 #define CREDENTIALS_FILE "001_CREDENTIALS"
vwochnik 68:0dc778a16d0d 6 #define CONFIGURATION_FILE "002_CONFIGURATION"
xinlei 97:ea056f6be2e8 7 extern MDMSerial *pMdm;
vwochnik 67:c360a2b2c948 8
xinlei 101:dbcd3bc51758 9 bool loadCredential(char *username, char *password, size_t len)
vwochnik 67:c360a2b2c948 10 {
xinlei 99:e369fc75c000 11 char buffer[len*2+3];
xinlei 101:dbcd3bc51758 12 int res = pMdm->readFile(CREDENTIALS_FILE, buffer, sizeof(buffer));
xinlei 101:dbcd3bc51758 13 if (res < 0) {
vwochnik 67:c360a2b2c948 14 return false;
xinlei 101:dbcd3bc51758 15 } else {
xinlei 99:e369fc75c000 16 buffer[res] = 0;
xinlei 101:dbcd3bc51758 17 int l = 0;
xinlei 101:dbcd3bc51758 18 sscanf(buffer, "%s\n%s\n%n", username, password, &l);
xinlei 101:dbcd3bc51758 19 return res==l;
xinlei 99:e369fc75c000 20 }
vwochnik 67:c360a2b2c948 21 }
vwochnik 67:c360a2b2c948 22
xinlei 101:dbcd3bc51758 23 bool delCredential()
xinlei 98:9f2de96941c4 24 {
xinlei 101:dbcd3bc51758 25 return pMdm->delFile(CREDENTIALS_FILE);
xinlei 98:9f2de96941c4 26 }
xinlei 98:9f2de96941c4 27
xinlei 101:dbcd3bc51758 28 bool saveCredential(char *username, char *password, size_t len)
vwochnik 67:c360a2b2c948 29 {
xinlei 101:dbcd3bc51758 30 char buffer[len*2+3];
xinlei 94:61d44636f020 31 int res = snprintf(buffer, sizeof(buffer), "%s\n%s\n", username, password);
xinlei 101:dbcd3bc51758 32 delCredential();
xinlei 101:dbcd3bc51758 33 return pMdm->writeFile(CREDENTIALS_FILE, buffer, res)==res;
vwochnik 67:c360a2b2c948 34 }
vwochnik 68:0dc778a16d0d 35
xinlei 101:dbcd3bc51758 36 int loadConfigFile(char *cfg, size_t len)
vwochnik 68:0dc778a16d0d 37 {
xinlei 97:ea056f6be2e8 38 int res = pMdm->readFile(CONFIGURATION_FILE, cfg, len);
xinlei 101:dbcd3bc51758 39 if (res >= 0)
xinlei 99:e369fc75c000 40 cfg[res] = 0;
xinlei 101:dbcd3bc51758 41 return res;
vwochnik 68:0dc778a16d0d 42 }
vwochnik 68:0dc778a16d0d 43
xinlei 99:e369fc75c000 44 bool delConfigFile()
vwochnik 68:0dc778a16d0d 45 {
xinlei 97:ea056f6be2e8 46 return pMdm->delFile(CONFIGURATION_FILE);
vwochnik 68:0dc778a16d0d 47 }
xinlei 98:9f2de96941c4 48
xinlei 99:e369fc75c000 49 bool saveConfigFile(char *cfg, size_t len)
xinlei 98:9f2de96941c4 50 {
xinlei 99:e369fc75c000 51 delConfigFile();
xinlei 99:e369fc75c000 52 return pMdm->writeFile(CONFIGURATION_FILE, cfg, len)==len;
xinlei 98:9f2de96941c4 53 }