1 ## This file is a template. The comment below is emitted 2 ## into the rendered file; feel free to edit this file. 3 // This file was auto generated. Do not edit. 4 #include "manager.hpp" 5 #include "utils.hpp" 6 % for i in interfaces: 7 #include <${i.header()}> 8 % endfor 9 10 namespace phosphor 11 { 12 namespace inventory 13 { 14 namespace manager 15 { 16 17 const Manager::Makers Manager::_makers{ 18 % for i in interfaces: 19 { 20 "${str(i)}", 21 details::MakeInterface< 22 details::ServerObject< 23 ${i.namespace()}>>::make, 24 }, 25 % endfor 26 }; 27 28 const Manager::Events Manager::_events{ 29 % for e in events: 30 { 31 % if e.description: 32 // ${e.description.strip()} 33 % endif 34 std::make_tuple( 35 std::vector<details::EventBasePtr>( 36 { 37 % if e.cls == 'match': 38 std::make_shared<details::DbusSignal>( 39 % for i, s in enumerate(e.signatures[0].sig.items()): 40 % if i == 0: 41 ${'"{0}=\'{1}\',"'.format(*s)} 42 % elif i + 1 == len(e.signatures[0].sig): 43 ${'"{0}=\'{1}\'"'.format(*s)}, 44 % else: 45 ${'"{0}=\'{1}\',"'.format(*s)} 46 % endif 47 % endfor 48 % if e.filters[0].pointer: 49 details::make_filter(${e.filters[0].bare_method()})), 50 % else: 51 % if e.filters[0].args: 52 details::make_filter( 53 ${e.filters[0].bare_method()}( 54 % for i, arg in enumerate(e.filters[0].args): 55 % if i + 1 != len(e.filters[0].args): 56 ${arg.cppArg()}, 57 % else: 58 ${arg.cppArg()}))), 59 % endif 60 % endfor 61 % else: 62 details::make_filter( 63 ${e.filters[0].bare_method()}()), 64 % endif 65 % endif 66 % endif 67 } 68 ), 69 std::vector<details::ActionBasePtr>( 70 { 71 % for action in e.actions: 72 % if action.pointer: 73 details::make_action(${action.bare_method()}), 74 % else: 75 % if action.args: 76 details::make_action( 77 ${action.bare_method()}( 78 % for i, arg in enumerate(action.args): 79 % if i + 1 != len(action.args): 80 ${arg.cppArg()}, 81 % else: 82 ${arg.cppArg()})), 83 % endif 84 % endfor 85 % else: 86 details::make_action( 87 ${action.bare_method()}()), 88 % endif 89 % endif 90 % endfor 91 } 92 ) 93 ) 94 }, 95 %endfor 96 }; 97 98 } // namespace manager 99 } // namespace inventory 100 } // namespace phosphor 101