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