| ## Note that this file is not auto generated, it is what generates the |
| ## elog-gen.hpp file |
| // This file was autogenerated. Do not edit! |
| // See elog-gen.py for more details |
| #pragma once |
| |
| #include <tuple> |
| #include <type_traits> |
| #include "log.hpp" |
| |
| namespace phosphor |
| { |
| |
| namespace logging |
| { |
| |
| % for a in errors: |
| namespace _${errors[a]} |
| { |
| % for b in meta[a]: |
| struct ${b} |
| { |
| static constexpr auto str = "${meta_data[b]['str']}"; |
| static constexpr auto str_short = "${meta_data[b]['str_short']}"; |
| using type = std::tuple<std::decay_t<decltype(str)>,${meta_data[b]['type']}>; |
| explicit constexpr ${b}(${meta_data[b]['type']} a) : _entry(entry(str, a)) {}; |
| type _entry; |
| }; |
| % endfor |
| |
| } // namespace _${errors[a]} |
| <% meta_string = ', '.join(meta[a]) %> |
| struct ${errors[a]} |
| { |
| static constexpr auto err_code = "xyz.openbmc_project.logging.${errors[a]}"; |
| static constexpr auto err_msg = "${error_msg[errors[a]]}"; |
| static constexpr auto L = level::${error_lvl[errors[a]]}; |
| % for b in meta[a]: |
| using ${b} = _${errors[a]}::${b}; |
| % endfor |
| using metadata_types = std::tuple<${meta_string}>; |
| }; |
| |
| % endfor |
| |
| } // namespace logging |
| |
| } // namespace phosphor |