Own fork of MbedSmartRestMain

Dependencies:   C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed

Fork of MbedSmartRestMain by Cumulocity Official

Committer:
xinlei
Date:
Fri May 08 14:50:43 2015 +0000
Revision:
104:fd3571349e5d
Parent:
100:dbcd3bc51758
Child:
106:fc5f25f0e0d5
quick fix for file renaming.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xinlei 93:61d44636f020 1 #ifndef CONTROLPARSER_H
xinlei 93:61d44636f020 2 #define CONTROLPARSER_H
xinlei 93:61d44636f020 3 #include "Operation.h"
xinlei 93:61d44636f020 4 #include "lex.h"
xinlei 98:e369fc75c000 5 #include "ConfigSync.h"
xinlei 93:61d44636f020 6
xinlei 93:61d44636f020 7 enum BayeuxAdvice{ BA_RETRY, BA_HANDSHAKE, BA_NONE };
xinlei 93:61d44636f020 8
xinlei 93:61d44636f020 9 class ControlParser
xinlei 93:61d44636f020 10 {
xinlei 93:61d44636f020 11 public:
xinlei 95:5dfdc8568e9f 12 ControlParser(OperationPool& pool,
xinlei 98:e369fc75c000 13 ConfigSync& configSync): opType(0),
xinlei 93:61d44636f020 14 bayeuxAdvice(BA_RETRY), bayeuxTimeout(-1), bayeuxInterval(0),
xinlei 95:5dfdc8568e9f 15 opool(pool), _configSync(configSync) {}
xinlei 93:61d44636f020 16 virtual ~ControlParser() {}
xinlei 93:61d44636f020 17 BayeuxAdvice getBayeuxAdvice() const { return bayeuxAdvice; }
xinlei 93:61d44636f020 18 int getBayeuxInterval() const { return bayeuxInterval; }
xinlei 93:61d44636f020 19 int getBayeuxTimeout() const { return bayeuxTimeout; }
xinlei 98:e369fc75c000 20 void parse(const char*);
xinlei 93:61d44636f020 21 protected:
xinlei 100:dbcd3bc51758 22 typedef void (ControlParser::*PtrParseFunc)(Token&);
xinlei 93:61d44636f020 23 void parseAdviceInterval(Token& tok);
xinlei 93:61d44636f020 24 void parseAdvicePolicy(Token& tok);
xinlei 93:61d44636f020 25 void parseAdviceTimeout(Token& tok);
xinlei 93:61d44636f020 26 void parseBayeuxAdvice(Token& tok);
xinlei 93:61d44636f020 27 void parseDeviceId(Token& tok);
xinlei 93:61d44636f020 28 void parseError(Token& tok);
xinlei 93:61d44636f020 29 void parseGetOp(Token& tok);
xinlei 93:61d44636f020 30 void parseGetOpOrBayeuxAdvice(Token& tok);
xinlei 93:61d44636f020 31 void parseOpData(Token& tok);
xinlei 93:61d44636f020 32 void parseOpId(Token& tok);
xinlei 93:61d44636f020 33 void parseOpState(Token& tok);
xinlei 93:61d44636f020 34 void parseOpType(Token& tok);
xinlei 93:61d44636f020 35 void parseRecover(Token& tok);
xinlei 100:dbcd3bc51758 36 void parseRowNumber(Token& tok);
xinlei 93:61d44636f020 37 private:
xinlei 94:010b0f7a0a1a 38 unsigned short opType;
xinlei 93:61d44636f020 39 Operation op;
xinlei 93:61d44636f020 40 BayeuxAdvice bayeuxAdvice;
xinlei 93:61d44636f020 41 int bayeuxTimeout;
xinlei 93:61d44636f020 42 int bayeuxInterval;
xinlei 93:61d44636f020 43 PtrParseFunc ptrPF;
xinlei 93:61d44636f020 44 OperationPool& opool;
xinlei 98:e369fc75c000 45 ConfigSync& _configSync;
xinlei 93:61d44636f020 46 };
xinlei 93:61d44636f020 47
xinlei 93:61d44636f020 48 #endif /* CONTROLPARSER_H */