#include "sys_info_param.hpp" std::tuple 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& callback) { params[paramSelector] = callback; }