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:
94:61d44636f020
Parent:
93:0acd11870c6a
Child:
95:010b0f7a0a1a
--- a/util/SmartRestConf.cpp	Mon Apr 13 14:24:58 2015 +0000
+++ b/util/SmartRestConf.cpp	Mon Apr 20 15:04:23 2015 +0000
@@ -1,4 +1,5 @@
 #include <string.h>
+#include <stdio.h>
 #include "b64.h"
 
 const char* _username = NULL;
@@ -8,6 +9,7 @@
 const char _host[] = "developer.cumulocity.com";
 // const char _host[] = "management.m2m-devicecloud.com"
 const int _port = 80;
+char fmtSmartRest[200] = {0};
 
 const char* getAuthStr()
 {
@@ -39,18 +41,6 @@
         }
 }
 
-
-const char* getIdentifier()
-{
-        return _identifier;
-}
-
-void setIdentifier(const char* id)
-{
-        if (id)
-            _identifier = id;
-}
-
 const char* getUsername()
 {
         return _username;
@@ -71,13 +61,6 @@
         _password = password;
 }
 
-void setAuth(const char* username, const char* password)
-{
-        setUsername(username);
-        setPassword(password);
-        setAuthStr(username, password);
-}
-
 const char* getHost()
 {
         return _host;
@@ -87,3 +70,39 @@
 {
         return _port;
 }
+
+const char* getSmartRestFmt()
+{
+        return fmtSmartRest;
+}
+
+const char* getIdentifier()
+{
+        return _identifier;
+}
+
+void setSmartRestFmt()
+{
+        const char fmt[] = "POST %%s HTTP/1.0\r\nHost: %s\r\nAuthorization: Basic %s\r\nX-Id: %s\r\nContent-Length: %%d\r\n\r\n%%s";
+        snprintf(fmtSmartRest, sizeof(fmtSmartRest), fmt, getHost(), getAuthStr(), getIdentifier());
+}
+
+void setIdentifier(const char* id)
+{
+        if (id) {
+            _identifier = id;
+            setSmartRestFmt();
+        }
+}
+
+void setAuth(const char* username, const char* password)
+{
+        if (username)
+            setUsername(username);
+        if (password)
+            setPassword(password);
+        if (username || password) {
+            setAuthStr(username, password);
+            setSmartRestFmt();
+        }
+}
\ No newline at end of file