| #include "sys_info_param.hpp" | 
 |  | 
 | std::tuple<bool, std::string> | 
 |     SysInfoParamStore::lookup(uint8_t paramSelector) const | 
 | { | 
 |     const auto iterator = params.find(paramSelector); | 
 |     if (iterator == params.end()) | 
 |     { | 
 |         return std::make_tuple(false, ""); | 
 |     } | 
 |  | 
 |     auto& callback = iterator->second; | 
 |     auto s = callback(); | 
 |     return std::make_tuple(true, s); | 
 | } | 
 |  | 
 | void SysInfoParamStore::update(uint8_t paramSelector, const std::string& s) | 
 | { | 
 |     // Add a callback that captures a copy of the string passed and returns it | 
 |     // when invoked. | 
 |  | 
 |     // clang-format off | 
 |     update(paramSelector, [s]() { | 
 |         return s; | 
 |     }); | 
 |     // clang-format on | 
 | } | 
 |  | 
 | void SysInfoParamStore::update(uint8_t paramSelector, | 
 |                                const std::function<std::string()>& callback) | 
 | { | 
 |     params[paramSelector] = callback; | 
 | } |