A client for the SmartREST protocol from Cumulocity.
Fork of MbedSmartRest by
Diff: HTTPGeneratorWrapper.cpp
- Revision:
- 2:1038411466a6
- Child:
- 4:0eb69392686f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HTTPGeneratorWrapper.cpp Fri Jan 24 11:39:32 2014 +0000 @@ -0,0 +1,42 @@ +#include "HTTPGeneratorWrapper.h" +#include <stdlib.h> +#include <string.h> + +HTTPGeneratorWrapper::HTTPGeneratorWrapper(DataGenerator& generator) : _sink(generator.writtenLength()) +{ + generator.writeTo(_sink); + _len = _sink.length(); + _pos = 0; +} + +void HTTPGeneratorWrapper::readReset() +{ + _pos = 0; +} + +int HTTPGeneratorWrapper::read(char* buf, size_t len, size_t* pReadLen) +{ + *pReadLen = len; + if (len > _len - _pos) + *pReadLen = _len - _pos; + else + *pReadLen = len; + memcpy(buf, _sink.buffer()+_pos, *pReadLen); + _pos += *pReadLen; + return OK; +} + +int HTTPGeneratorWrapper::getDataType(char* type, size_t maxTypeLen) +{ + return 1; +} + +bool HTTPGeneratorWrapper::getIsChunked() +{ + return false; +} + +size_t HTTPGeneratorWrapper::getDataLen() +{ + return _len; +}