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

Revision:
113:3872569be2af
Parent:
106:c61f0d62b625
Child:
117:5de54f09f754
--- a/util/SmartRestConf.cpp	Fri May 15 10:14:05 2015 +0000
+++ b/util/SmartRestConf.cpp	Fri May 15 14:07:51 2015 +0000
@@ -3,8 +3,9 @@
 #include "b64.h"
 #include "SmartRestConf.h"
 
-const char *srUsername = NULL;
-const char *srPassword = NULL;
+char srTenant[CREDENTIAL_LENGTH] = {0};
+char srUsername[CREDENTIAL_LENGTH] = {0};
+char srPassword[CREDENTIAL_LENGTH] = {0};
 char srAuthStr[100] = {0};
 const char *srX_ID = "com_cumulocity_MbedAgent_1.5.2";
 const char *srHost = "developer.cumulocity.com";
@@ -37,14 +38,19 @@
         }
 }
 
-static void setUsername(const char* username)
+static void setTenant(const char *tenant)
 {
-        srUsername = username;
+        snprintf(srTenant, sizeof(srTenant), "%s", tenant);
 }
 
-static void setPassword(const char* password)
+static void setUsername(const char *username)
 {
-        srPassword = password;
+        snprintf(srUsername, sizeof(srUsername), "%s", username);
+}
+
+static void setPassword(const char *password)
+{
+        snprintf(srPassword, sizeof(srPassword), "%s", password);
 }
 
 static void setSmartRestFmt()
@@ -66,14 +72,18 @@
         deviceID = id;
 }
 
-void setAuth(const char* username, const char* password)
+void setAuth(const char *tenant, const char *username, const char *password)
 {
+        if (tenant)
+            setTenant(tenant);
         if (username)
             setUsername(username);
         if (password)
             setPassword(password);
-        if (username || password) {
-            setAuthStr(username, password);
+        if (tenant || username || password) {
+            char s[CREDENTIAL_LENGTH*2];
+            snprintf(s, sizeof(s), "%s/%s", tenant, username);
+            setAuthStr(s, password);
             setSmartRestFmt();
         }
 }
\ No newline at end of file