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
operation/PollThread.h
- Committer:
- xinlei
- Date:
- 2015-05-07
- Revision:
- 99:e369fc75c000
- Parent:
- 97:ea056f6be2e8
- Child:
- 101:dbcd3bc51758
File content as of revision 99:e369fc75c000:
#ifndef POLLTHREAD_H #define POLLTHREAD_H #include "SmartRestSocket.h" #include "Operation.h" #include "SmartRestConf.h" #include "ControlParser.h" class PollThread { public: PollThread(OperationPool& pool, ConfigSync& configSync): sock(), parser(pool, configSync), thread(PollThread::threadWrapper, this) { strncpy(uri, "/devicecontrol/notifications", sizeof(uri)); sock.set_blocking(true); } virtual ~PollThread() { sock.close(); } bool handshake(); bool subscribe(); bool connect(); void setChannel(long channel) { snprintf(chn, sizeof(chn), "/%ld", channel); } void threadFunc(); static void threadWrapper(const void *p) { ((PollThread*)p)->threadFunc(); } private: char chn[16]; char uri[30]; char bayeuxId[50]; char buf[SMARTREST_SIZE]; char buf2[SMARRESTBODY_SIZE]; SmartRestSocket sock; ControlParser parser; Thread thread; }; #endif /* POLLTHREAD_H */