1#include <${ '/'.join(error.name.split('.')) }/error.hpp>
2<% namespaces = error.name.split('.') %>
3namespace sdbusplus
4{
5    % for s in namespaces:
6namespace ${s}
7{
8    % endfor
9namespace Error
10{
11    % for e in error.errors:
12const char* ${e.name}::name() const noexcept
13{
14    return errName;
15}
16const char* ${e.name}::description() const noexcept
17{
18    return errDesc;
19}
20const char* ${e.name}::what() const noexcept
21{
22    return errWhat;
23}
24    % endfor
25
26} // namespace Error
27    % for s in reversed(namespaces):
28} // namespace ${s}
29    % endfor
30} // namespace sdbusplus
31