Own fork of MbedSmartRestMain
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
io/DeviceMemory.cpp@97:9f2de96941c4, 2015-04-27 (annotated)
- Committer:
- xinlei
- Date:
- Mon Apr 27 13:30:21 2015 +0000
- Revision:
- 97:9f2de96941c4
- Parent:
- 96:ea056f6be2e8
- Child:
- 98:e369fc75c000
Get rid of useless DeviceMemory class wrapper
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vwochnik | 67:c360a2b2c948 | 1 | #include <stdio.h> |
vwochnik | 67:c360a2b2c948 | 2 | #include <string.h> |
xinlei | 96:ea056f6be2e8 | 3 | #include "MDM.h" |
vwochnik | 67:c360a2b2c948 | 4 | |
vwochnik | 67:c360a2b2c948 | 5 | #define PLATFORM_CREDENTIALS_FILE "001_CREDENTIALS" |
vwochnik | 68:0dc778a16d0d | 6 | #define CONFIGURATION_FILE "002_CONFIGURATION" |
xinlei | 96:ea056f6be2e8 | 7 | extern MDMSerial *pMdm; |
vwochnik | 67:c360a2b2c948 | 8 | |
xinlei | 97:9f2de96941c4 | 9 | bool loadPlatformCredentials(char *username, char *password, size_t len) |
vwochnik | 67:c360a2b2c948 | 10 | { |
xinlei | 93:61d44636f020 | 11 | char buffer[len*2+3]; |
xinlei | 96:ea056f6be2e8 | 12 | int res = pMdm->readFile(PLATFORM_CREDENTIALS_FILE, buffer, sizeof(buffer)); |
xinlei | 93:61d44636f020 | 13 | if (res < 0) |
vwochnik | 67:c360a2b2c948 | 14 | return false; |
vwochnik | 69:237c01eb36c2 | 15 | |
vwochnik | 67:c360a2b2c948 | 16 | buffer[(size_t)res] = '\0'; |
xinlei | 93:61d44636f020 | 17 | int len2=0; |
vwochnik | 67:c360a2b2c948 | 18 | sscanf(buffer, "%s\n%s\n%n", username, password, &len2); |
vwochnik | 67:c360a2b2c948 | 19 | return res == len2; |
vwochnik | 67:c360a2b2c948 | 20 | } |
vwochnik | 67:c360a2b2c948 | 21 | |
xinlei | 97:9f2de96941c4 | 22 | bool resetPlatformCredentials() |
xinlei | 97:9f2de96941c4 | 23 | { |
xinlei | 97:9f2de96941c4 | 24 | return pMdm->delFile(PLATFORM_CREDENTIALS_FILE); |
xinlei | 97:9f2de96941c4 | 25 | } |
xinlei | 97:9f2de96941c4 | 26 | |
xinlei | 97:9f2de96941c4 | 27 | bool savePlatformCredentials(char *username, char *password, size_t len) |
vwochnik | 67:c360a2b2c948 | 28 | { |
xinlei | 93:61d44636f020 | 29 | char buffer[len*2+3]; |
xinlei | 93:61d44636f020 | 30 | int res = snprintf(buffer, sizeof(buffer), "%s\n%s\n", username, password); |
xinlei | 93:61d44636f020 | 31 | if (res<0 || res>=sizeof(buffer)) |
vwochnik | 67:c360a2b2c948 | 32 | return false; |
vwochnik | 67:c360a2b2c948 | 33 | |
xinlei | 97:9f2de96941c4 | 34 | return (resetPlatformCredentials() && res==pMdm->writeFile(PLATFORM_CREDENTIALS_FILE, buffer, res)); |
vwochnik | 67:c360a2b2c948 | 35 | } |
vwochnik | 68:0dc778a16d0d | 36 | |
vwochnik | 68:0dc778a16d0d | 37 | |
xinlei | 97:9f2de96941c4 | 38 | |
xinlei | 97:9f2de96941c4 | 39 | bool loadConfiguration(char *cfg, size_t len) |
vwochnik | 68:0dc778a16d0d | 40 | { |
xinlei | 96:ea056f6be2e8 | 41 | int res = pMdm->readFile(CONFIGURATION_FILE, cfg, len); |
xinlei | 93:61d44636f020 | 42 | if (res < 0) |
vwochnik | 68:0dc778a16d0d | 43 | return false; |
vwochnik | 68:0dc778a16d0d | 44 | |
vwochnik | 68:0dc778a16d0d | 45 | cfg[(size_t)res] = '\0'; |
vwochnik | 68:0dc778a16d0d | 46 | return true; |
vwochnik | 68:0dc778a16d0d | 47 | } |
vwochnik | 68:0dc778a16d0d | 48 | |
xinlei | 97:9f2de96941c4 | 49 | bool resetConfiguration() |
vwochnik | 68:0dc778a16d0d | 50 | { |
xinlei | 96:ea056f6be2e8 | 51 | return pMdm->delFile(CONFIGURATION_FILE); |
vwochnik | 68:0dc778a16d0d | 52 | } |
xinlei | 97:9f2de96941c4 | 53 | |
xinlei | 97:9f2de96941c4 | 54 | bool saveConfiguration(char *cfg) |
xinlei | 97:9f2de96941c4 | 55 | { |
xinlei | 97:9f2de96941c4 | 56 | size_t len = strlen(cfg); |
xinlei | 97:9f2de96941c4 | 57 | return (resetConfiguration() && pMdm->writeFile(CONFIGURATION_FILE, cfg, len)==len); |
xinlei | 97:9f2de96941c4 | 58 | } |
xinlei | 97:9f2de96941c4 | 59 |