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

Committer:
xinlei
Date:
Mon Aug 08 11:05:57 2016 +0000
Revision:
139:f8ab852e83e7
Parent:
108:f1ee3e1eb126
Etisalat and Teleena APN.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xinlei 96:5dfdc8568e9f 1 #ifndef POLLTHREAD_H
xinlei 96:5dfdc8568e9f 2 #define POLLTHREAD_H
xinlei 96:5dfdc8568e9f 3 #include "SmartRestSocket.h"
xinlei 96:5dfdc8568e9f 4 #include "Operation.h"
xinlei 96:5dfdc8568e9f 5 #include "SmartRestConf.h"
xinlei 96:5dfdc8568e9f 6 #include "ControlParser.h"
xinlei 96:5dfdc8568e9f 7
xinlei 96:5dfdc8568e9f 8 class PollThread
xinlei 96:5dfdc8568e9f 9 {
xinlei 96:5dfdc8568e9f 10 public:
xinlei 108:f1ee3e1eb126 11 PollThread(OperationPool& pool): sock(), parser(pool),
xinlei 96:5dfdc8568e9f 12 thread(PollThread::threadWrapper, this) {
xinlei 96:5dfdc8568e9f 13 strncpy(uri, "/devicecontrol/notifications", sizeof(uri));
xinlei 96:5dfdc8568e9f 14 }
xinlei 101:dbcd3bc51758 15 virtual ~PollThread() {}
xinlei 96:5dfdc8568e9f 16 bool handshake();
xinlei 96:5dfdc8568e9f 17 bool subscribe();
xinlei 96:5dfdc8568e9f 18 bool connect();
xinlei 96:5dfdc8568e9f 19 void setChannel(long channel) { snprintf(chn, sizeof(chn), "/%ld", channel); }
xinlei 96:5dfdc8568e9f 20 void threadFunc();
xinlei 96:5dfdc8568e9f 21 static void threadWrapper(const void *p) { ((PollThread*)p)->threadFunc(); }
xinlei 96:5dfdc8568e9f 22 private:
xinlei 96:5dfdc8568e9f 23 char chn[16];
xinlei 96:5dfdc8568e9f 24 char uri[30];
xinlei 96:5dfdc8568e9f 25 char bayeuxId[50];
xinlei 96:5dfdc8568e9f 26 char buf[SMARTREST_SIZE];
xinlei 106:c61f0d62b625 27 char buf2[SMARTREST_BODY_SIZE];
xinlei 96:5dfdc8568e9f 28 SmartRestSocket sock;
xinlei 96:5dfdc8568e9f 29 ControlParser parser;
xinlei 96:5dfdc8568e9f 30 Thread thread;
xinlei 96:5dfdc8568e9f 31 };
xinlei 96:5dfdc8568e9f 32
xinlei 96:5dfdc8568e9f 33 #endif /* POLLTHREAD_H */