Own fork of MbedSmartRestMain
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
operation/ControlParser.h
- Committer:
- xinlei
- Date:
- 2015-05-07
- Revision:
- 98:e369fc75c000
- Parent:
- 95:5dfdc8568e9f
- Child:
- 100:dbcd3bc51758
File content as of revision 98:e369fc75c000:
#ifndef CONTROLPARSER_H #define CONTROLPARSER_H #include "Operation.h" #include "lex.h" #include "DeviceFeedback.h" #include "ConfigSync.h" enum BayeuxAdvice{ BA_RETRY, BA_HANDSHAKE, BA_NONE }; class ControlParser { public: ControlParser(OperationPool& pool, ConfigSync& configSync): opType(0), bayeuxAdvice(BA_RETRY), bayeuxTimeout(-1), bayeuxInterval(0), opool(pool), _configSync(configSync) {} virtual ~ControlParser() {} BayeuxAdvice getBayeuxAdvice() const { return bayeuxAdvice; } int getBayeuxInterval() const { return bayeuxInterval; } int getBayeuxTimeout() const { return bayeuxTimeout; } void parse(const char*); protected: void parseAdviceInterval(Token& tok); void parseAdvicePolicy(Token& tok); void parseAdviceTimeout(Token& tok); void parseBayeuxAdvice(Token& tok); void parseDeviceId(Token& tok); void parseError(Token& tok); void parseGetOp(Token& tok); void parseGetOpOrBayeuxAdvice(Token& tok); void parseOpData(Token& tok); void parseOpId(Token& tok); void parseOpState(Token& tok); void parseOpType(Token& tok); void parseRecover(Token& tok); void parseUnknownInt(Token& tok); private: typedef void (ControlParser::*PtrParseFunc)(Token&); unsigned short opType; Operation op; BayeuxAdvice bayeuxAdvice; int bayeuxTimeout; int bayeuxInterval; PtrParseFunc ptrPF; OperationPool& opool; ConfigSync& _configSync; }; #endif /* CONTROLPARSER_H */