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
ControlParser.h
00001 #ifndef CONTROLPARSER_H 00002 #define CONTROLPARSER_H 00003 #include "Operation.h" 00004 #include "lex.h" 00005 00006 enum BayeuxAdvice{ BA_RETRY, BA_HANDSHAKE, BA_NONE }; 00007 00008 class ControlParser 00009 { 00010 public: 00011 ControlParser(OperationPool& pool): opType(0), bayeuxAdvice(BA_RETRY), 00012 bayeuxTimeout(-1), bayeuxInterval(0), opool(pool) {} 00013 virtual ~ControlParser() {} 00014 BayeuxAdvice getBayeuxAdvice() const { return bayeuxAdvice; } 00015 int getBayeuxInterval() const { return bayeuxInterval; } 00016 int getBayeuxTimeout() const { return bayeuxTimeout; } 00017 void parse(const char*); 00018 protected: 00019 typedef void (ControlParser::*PtrParseFunc)(Token&); 00020 void parseAdviceInterval(Token& tok); 00021 void parseAdvicePolicy(Token& tok); 00022 void parseAdviceTimeout(Token& tok); 00023 void parseBayeuxAdvice(Token& tok); 00024 void parseError(Token& tok); 00025 void parseGetOp(Token& tok); 00026 void parseGetOpOrBayeuxAdvice(Token& tok); 00027 void parseOpData(Token& tok); 00028 void parseOpId(Token& tok); 00029 void parseOpState(Token& tok); 00030 void parseOpType(Token& tok); 00031 void parseRecover(Token& tok); 00032 void parseRowNumber(Token& tok); 00033 private: 00034 unsigned short opType; 00035 Operation op; 00036 BayeuxAdvice bayeuxAdvice; 00037 int bayeuxTimeout; 00038 int bayeuxInterval; 00039 PtrParseFunc ptrPF; 00040 OperationPool& opool; 00041 }; 00042 00043 #endif /* CONTROLPARSER_H */
Generated on Wed Jul 13 2022 19:40:51 by 1.7.2