diff --git a/src/configBitstreamParser.cpp b/src/configBitstreamParser.cpp index 96c2e86..4dac078 100644 --- a/src/configBitstreamParser.cpp +++ b/src/configBitstreamParser.cpp @@ -29,6 +29,14 @@ ConfigBitstreamParser::~ConfigBitstreamParser() _fd.close(); } +string ConfigBitstreamParser::getHeaderVal(string key) +{ + auto val = _hdr.find(key); + if (val == _hdr.end()) + throw std::runtime_error("Error key " + key + " not found"); + return val->second; +} + uint8_t ConfigBitstreamParser::reverseByte(uint8_t src) { uint8_t dst = 0; diff --git a/src/configBitstreamParser.hpp b/src/configBitstreamParser.hpp index a9539ee..0552a4f 100644 --- a/src/configBitstreamParser.hpp +++ b/src/configBitstreamParser.hpp @@ -14,6 +14,19 @@ class ConfigBitstreamParser { virtual int parse() = 0; uint8_t *getData() {return (uint8_t*)_bit_data.c_str();} int getLength() {return _bit_length;} + + /** + * \brief get header list of keys/values + * \return list of couple keys/values + */ + std::map getHeader() { return _hdr; } + + /** + * \brief get value in header list + * \param[in] key: key value + * \return associated value for the key + */ + std::string getHeaderVal(std::string key); enum { ASCII_MODE = 0,