portable version of the cumulocity demo

Dependencies:   C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed

Fork of MbedSmartRestMain by Cumulocity Official

Committer:
vwochnik
Date:
Wed Aug 13 10:55:11 2014 +0000
Revision:
52:8f1370084268
Parent:
46:f6976fd64387
minor refactoring and improvement

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Cumulocity 41:804f6a0bda26 1 #ifndef DEVICEBOOTSTRAP_H
Cumulocity 41:804f6a0bda26 2 #define DEVICEBOOTSTRAP_H
Cumulocity 41:804f6a0bda26 3
Cumulocity 41:804f6a0bda26 4 #include <stddef.h>
Cumulocity 41:804f6a0bda26 5 #include "MDM.h"
vwochnik 52:8f1370084268 6 #include "DeviceIO.h"
Cumulocity 41:804f6a0bda26 7 #include "SmartRest.h"
Cumulocity 41:804f6a0bda26 8 #include "DeviceInfo.h"
Cumulocity 41:804f6a0bda26 9
Cumulocity 41:804f6a0bda26 10 /** The username used for device bootstrapping. */
Cumulocity 41:804f6a0bda26 11 #define DEVICE_BOOTSTRAP_USERNAME "management/devicebootstrap"
Cumulocity 41:804f6a0bda26 12
Cumulocity 41:804f6a0bda26 13 /** The password used for device bootstrapping. */
Cumulocity 41:804f6a0bda26 14 #define DEVICE_BOOTSTRAP_PASSWORD "Fhdt1bb1f"
Cumulocity 41:804f6a0bda26 15
Cumulocity 41:804f6a0bda26 16 #define DEVICE_BOOTSTRAP_CREDENTIALS_LENGTH 256
Cumulocity 41:804f6a0bda26 17
Cumulocity 41:804f6a0bda26 18 #define CREDENTIALS_FILE "001_CREDENTIALS"
Cumulocity 41:804f6a0bda26 19
Cumulocity 41:804f6a0bda26 20 class DeviceBootstrap
Cumulocity 41:804f6a0bda26 21 {
Cumulocity 41:804f6a0bda26 22 public:
vwochnik 52:8f1370084268 23 DeviceBootstrap(SmartRest&, MDMSerial&, DeviceIO&, DeviceInfo&);
Cumulocity 41:804f6a0bda26 24
Cumulocity 41:804f6a0bda26 25 bool setUpCredentials();
Cumulocity 46:f6976fd64387 26 const char * username();
Cumulocity 46:f6976fd64387 27 const char * password();
Cumulocity 41:804f6a0bda26 28
Cumulocity 41:804f6a0bda26 29 protected:
Cumulocity 41:804f6a0bda26 30 bool obtainFromStorage();
Cumulocity 41:804f6a0bda26 31 bool obtainFromPlatform();
Cumulocity 41:804f6a0bda26 32
Cumulocity 41:804f6a0bda26 33 private:
Cumulocity 41:804f6a0bda26 34 bool writeToStorage();
Cumulocity 41:804f6a0bda26 35 void setCredentials(const char *, const char*, const char*);
Cumulocity 41:804f6a0bda26 36
Cumulocity 41:804f6a0bda26 37 private:
Cumulocity 41:804f6a0bda26 38 SmartRest& _client;
Cumulocity 41:804f6a0bda26 39 MDMSerial& _mdm;
Cumulocity 41:804f6a0bda26 40 DeviceInfo& _deviceInfo;
vwochnik 52:8f1370084268 41 DeviceIO& _io;
Cumulocity 41:804f6a0bda26 42 char _username[DEVICE_BOOTSTRAP_CREDENTIALS_LENGTH],
Cumulocity 41:804f6a0bda26 43 _password[DEVICE_BOOTSTRAP_CREDENTIALS_LENGTH];
Cumulocity 41:804f6a0bda26 44 };
Cumulocity 41:804f6a0bda26 45
Cumulocity 41:804f6a0bda26 46 #endif