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
Diff: operation/ControlParser.cpp
- Revision:
- 107:fc5f25f0e0d5
- Parent:
- 106:c61f0d62b625
- Child:
- 108:f1ee3e1eb126
diff -r c61f0d62b625 -r fc5f25f0e0d5 operation/ControlParser.cpp --- a/operation/ControlParser.cpp Mon May 11 18:10:44 2015 +0000 +++ b/operation/ControlParser.cpp Wed May 13 12:12:55 2015 +0000 @@ -22,16 +22,21 @@ { if (tok.type == Token::INT && strncmp("211", tok.p, tok.len)==0) { opType = 211; - ptrPF = &ControlParser::parseDeviceId; + ptrPF = &ControlParser::parseRowNumber; } else { parseError(tok); } } -void ControlParser::parseDeviceId(Token& tok) +void ControlParser::parseRowNumber(Token& tok) { if (tok.type == Token::INT) { - ptrPF = &ControlParser::parseOpId; + if (opType == 86) + ptrPF = &ControlParser::parseAdviceTimeout; + else + ptrPF = &ControlParser::parseOpId; + } else if (tok.type == Token::NONE) { + ptrPF = &ControlParser::parseAdviceTimeout; } else { parseError(tok); } @@ -77,7 +82,7 @@ if (tok.type == Token::INT) { sscanf(tok.p, "%hu", &opType); if (opType >= 220 && opType <= 222) { - ptrPF = &ControlParser::parseDeviceId; + ptrPF = &ControlParser::parseRowNumber; } else { parseError(tok); } @@ -138,21 +143,13 @@ void ControlParser::parseBayeuxAdvice(Token& tok) { if (strncmp("86", tok.p, tok.len) == 0) { + opType = 86; ptrPF = &ControlParser::parseRowNumber; } else { parseError(tok); } } -void ControlParser::parseRowNumber(Token& tok) -{ - if (tok.type == Token::INT || tok.type == Token::NONE) { - ptrPF = &ControlParser::parseAdviceTimeout; - } else { - parseError(tok); - } -} - void ControlParser::parseAdviceTimeout(Token& tok) { if (tok.type == Token::NONE) {