1*d6a95748SAlexander Hansen #pragma once 2*d6a95748SAlexander Hansen 3*d6a95748SAlexander Hansen #include <expected> 4*d6a95748SAlexander Hansen #include <libpldm/base.h> 5*d6a95748SAlexander Hansen #include <libpldm/pldm_types.h> 6*d6a95748SAlexander Hansen 7*d6a95748SAlexander Hansen #include <string> 8*d6a95748SAlexander Hansen 9*d6a95748SAlexander Hansen namespace pldm 10*d6a95748SAlexander Hansen { 11*d6a95748SAlexander Hansen namespace utils 12*d6a95748SAlexander Hansen { 13*d6a95748SAlexander Hansen /** @brief Convert the buffer to std::string 14*d6a95748SAlexander Hansen * 15*d6a95748SAlexander Hansen * In case the string encoding is not ASCII, an error string is returned. 16*d6a95748SAlexander Hansen * 17*d6a95748SAlexander Hansen * @param[in] pldm_string_type - DSP0267, Table 20 18*d6a95748SAlexander Hansen * @param[in] var - pointer to data and length of the data 19*d6a95748SAlexander Hansen * 20*d6a95748SAlexander Hansen * @return[expected] std::string equivalent of variable field 21*d6a95748SAlexander Hansen * @return[unexpected] error message string 22*d6a95748SAlexander Hansen */ 23*d6a95748SAlexander Hansen std::expected<std::string, std::string> 24*d6a95748SAlexander Hansen toString(uint8_t pldm_string_type, const struct variable_field &var); 25*d6a95748SAlexander Hansen 26*d6a95748SAlexander Hansen } // namespace utils 27*d6a95748SAlexander Hansen } // namespace pldm 28