Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
util/SmartRestConf.cpp@93:0acd11870c6a, 2015-04-13 (annotated)
- Committer:
- xinlei
- Date:
- Mon Apr 13 14:24:58 2015 +0000
- Revision:
- 93:0acd11870c6a
- Child:
- 94:61d44636f020
v2.1rc1
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| xinlei | 93:0acd11870c6a | 1 | #include <string.h> |
| xinlei | 93:0acd11870c6a | 2 | #include "b64.h" |
| xinlei | 93:0acd11870c6a | 3 | |
| xinlei | 93:0acd11870c6a | 4 | const char* _username = NULL; |
| xinlei | 93:0acd11870c6a | 5 | const char* _password = NULL; |
| xinlei | 93:0acd11870c6a | 6 | char _authStr[100] = {0}; |
| xinlei | 93:0acd11870c6a | 7 | const char *_identifier = "com_cumulocity_MbedAgent_1.5.2"; |
| xinlei | 93:0acd11870c6a | 8 | const char _host[] = "developer.cumulocity.com"; |
| xinlei | 93:0acd11870c6a | 9 | // const char _host[] = "management.m2m-devicecloud.com" |
| xinlei | 93:0acd11870c6a | 10 | const int _port = 80; |
| xinlei | 93:0acd11870c6a | 11 | |
| xinlei | 93:0acd11870c6a | 12 | const char* getAuthStr() |
| xinlei | 93:0acd11870c6a | 13 | { |
| xinlei | 93:0acd11870c6a | 14 | return _authStr; |
| xinlei | 93:0acd11870c6a | 15 | } |
| xinlei | 93:0acd11870c6a | 16 | |
| xinlei | 93:0acd11870c6a | 17 | void setAuthStr(const char* p1, const char* p2) |
| xinlei | 93:0acd11870c6a | 18 | { |
| xinlei | 93:0acd11870c6a | 19 | memset(_authStr, 0, sizeof(_authStr)); |
| xinlei | 93:0acd11870c6a | 20 | size_t ul = strlen(p1); |
| xinlei | 93:0acd11870c6a | 21 | size_t pl = strlen(p2); |
| xinlei | 93:0acd11870c6a | 22 | unsigned char input[3], output[5]; |
| xinlei | 93:0acd11870c6a | 23 | int inputOffset = 0; |
| xinlei | 93:0acd11870c6a | 24 | |
| xinlei | 93:0acd11870c6a | 25 | for (size_t i = 0; i < (ul+1+pl); i++) { |
| xinlei | 93:0acd11870c6a | 26 | if (i < ul) |
| xinlei | 93:0acd11870c6a | 27 | input[inputOffset++] = p1[i]; |
| xinlei | 93:0acd11870c6a | 28 | else if (i == ul) |
| xinlei | 93:0acd11870c6a | 29 | input[inputOffset++] = ':'; |
| xinlei | 93:0acd11870c6a | 30 | else |
| xinlei | 93:0acd11870c6a | 31 | input[inputOffset++] = p2[i-(ul+1)]; |
| xinlei | 93:0acd11870c6a | 32 | |
| xinlei | 93:0acd11870c6a | 33 | if ((inputOffset == 3) || (i == ul+pl)) { |
| xinlei | 93:0acd11870c6a | 34 | b64_encode(input, inputOffset, output, 4); |
| xinlei | 93:0acd11870c6a | 35 | output[4] = '\0'; |
| xinlei | 93:0acd11870c6a | 36 | strcat(_authStr, (char*)output); |
| xinlei | 93:0acd11870c6a | 37 | inputOffset = 0; |
| xinlei | 93:0acd11870c6a | 38 | } |
| xinlei | 93:0acd11870c6a | 39 | } |
| xinlei | 93:0acd11870c6a | 40 | } |
| xinlei | 93:0acd11870c6a | 41 | |
| xinlei | 93:0acd11870c6a | 42 | |
| xinlei | 93:0acd11870c6a | 43 | const char* getIdentifier() |
| xinlei | 93:0acd11870c6a | 44 | { |
| xinlei | 93:0acd11870c6a | 45 | return _identifier; |
| xinlei | 93:0acd11870c6a | 46 | } |
| xinlei | 93:0acd11870c6a | 47 | |
| xinlei | 93:0acd11870c6a | 48 | void setIdentifier(const char* id) |
| xinlei | 93:0acd11870c6a | 49 | { |
| xinlei | 93:0acd11870c6a | 50 | if (id) |
| xinlei | 93:0acd11870c6a | 51 | _identifier = id; |
| xinlei | 93:0acd11870c6a | 52 | } |
| xinlei | 93:0acd11870c6a | 53 | |
| xinlei | 93:0acd11870c6a | 54 | const char* getUsername() |
| xinlei | 93:0acd11870c6a | 55 | { |
| xinlei | 93:0acd11870c6a | 56 | return _username; |
| xinlei | 93:0acd11870c6a | 57 | } |
| xinlei | 93:0acd11870c6a | 58 | |
| xinlei | 93:0acd11870c6a | 59 | void setUsername(const char* username) |
| xinlei | 93:0acd11870c6a | 60 | { |
| xinlei | 93:0acd11870c6a | 61 | _username = username; |
| xinlei | 93:0acd11870c6a | 62 | } |
| xinlei | 93:0acd11870c6a | 63 | |
| xinlei | 93:0acd11870c6a | 64 | const char* getPassword() |
| xinlei | 93:0acd11870c6a | 65 | { |
| xinlei | 93:0acd11870c6a | 66 | return _password; |
| xinlei | 93:0acd11870c6a | 67 | } |
| xinlei | 93:0acd11870c6a | 68 | |
| xinlei | 93:0acd11870c6a | 69 | void setPassword(const char* password) |
| xinlei | 93:0acd11870c6a | 70 | { |
| xinlei | 93:0acd11870c6a | 71 | _password = password; |
| xinlei | 93:0acd11870c6a | 72 | } |
| xinlei | 93:0acd11870c6a | 73 | |
| xinlei | 93:0acd11870c6a | 74 | void setAuth(const char* username, const char* password) |
| xinlei | 93:0acd11870c6a | 75 | { |
| xinlei | 93:0acd11870c6a | 76 | setUsername(username); |
| xinlei | 93:0acd11870c6a | 77 | setPassword(password); |
| xinlei | 93:0acd11870c6a | 78 | setAuthStr(username, password); |
| xinlei | 93:0acd11870c6a | 79 | } |
| xinlei | 93:0acd11870c6a | 80 | |
| xinlei | 93:0acd11870c6a | 81 | const char* getHost() |
| xinlei | 93:0acd11870c6a | 82 | { |
| xinlei | 93:0acd11870c6a | 83 | return _host; |
| xinlei | 93:0acd11870c6a | 84 | } |
| xinlei | 93:0acd11870c6a | 85 | |
| xinlei | 93:0acd11870c6a | 86 | int getPort() |
| xinlei | 93:0acd11870c6a | 87 | { |
| xinlei | 93:0acd11870c6a | 88 | return _port; |
| xinlei | 93:0acd11870c6a | 89 | } |

Cumulocity