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:
Fri May 08 12:19:57 2015 +0000
Revision:
101:dbcd3bc51758
Parent:
99:e369fc75c000
Child:
106:c61f0d62b625
v2.1rc3

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 97:ea056f6be2e8 11 PollThread(OperationPool& pool,
xinlei 99:e369fc75c000 12 ConfigSync& configSync):
xinlei 97:ea056f6be2e8 13 sock(), parser(pool, configSync),
xinlei 96:5dfdc8568e9f 14 thread(PollThread::threadWrapper, this) {
xinlei 96:5dfdc8568e9f 15 strncpy(uri, "/devicecontrol/notifications", sizeof(uri));
xinlei 96:5dfdc8568e9f 16 sock.set_blocking(true);
xinlei 96:5dfdc8568e9f 17 }
xinlei 101:dbcd3bc51758 18 virtual ~PollThread() {}
xinlei 96:5dfdc8568e9f 19 bool handshake();
xinlei 96:5dfdc8568e9f 20 bool subscribe();
xinlei 96:5dfdc8568e9f 21 bool connect();
xinlei 96:5dfdc8568e9f 22 void setChannel(long channel) { snprintf(chn, sizeof(chn), "/%ld", channel); }
xinlei 96:5dfdc8568e9f 23 void threadFunc();
xinlei 96:5dfdc8568e9f 24 static void threadWrapper(const void *p) { ((PollThread*)p)->threadFunc(); }
xinlei 96:5dfdc8568e9f 25 private:
xinlei 96:5dfdc8568e9f 26 char chn[16];
xinlei 96:5dfdc8568e9f 27 char uri[30];
xinlei 96:5dfdc8568e9f 28 char bayeuxId[50];
xinlei 96:5dfdc8568e9f 29 char buf[SMARTREST_SIZE];
xinlei 96:5dfdc8568e9f 30 char buf2[SMARRESTBODY_SIZE];
xinlei 96:5dfdc8568e9f 31 SmartRestSocket sock;
xinlei 96:5dfdc8568e9f 32 ControlParser parser;
xinlei 96:5dfdc8568e9f 33 Thread thread;
xinlei 96:5dfdc8568e9f 34 };
xinlei 96:5dfdc8568e9f 35
xinlei 96:5dfdc8568e9f 36 #endif /* POLLTHREAD_H */