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 <%
5     def interface_type(interface):
6         lst = interface.split('.')
7         lst.insert(-1, 'server')
8         return '::'.join(lst)
9 %>
10 #include "manager.hpp"
11 #include "utils.hpp"
12 % for i in interfaces:
13 #include <${'/'.join(i.split('.') + ['server.hpp'])}>
14 % endfor
15 
16 namespace phosphor
17 {
18 namespace inventory
19 {
20 namespace manager
21 {
22 
23 const Manager::Makers Manager::_makers{
24 % for i in interfaces:
25     {
26         "${i}",
27         details::MakeInterface<
28             details::ServerObject<
29                 sdbusplus::${interface_type(i)}>>::make,
30     },
31 % endfor
32 };
33 
34 const Manager::Events Manager::_events{
35 % for e in events:
36     {
37     % if e.get('description'):
38         // ${e['description']}
39     % endif
40         "${e['name']}",
41         std::make_tuple(
42         % for i, s in enumerate(e['signature'].items()):
43             % if i + 1 == len(e['signature']):
44             ${'"{0}=\'{1}\'"'.format(*s)},
45             % else:
46             ${'"{0}=\'{1}\',"'.format(*s)}
47             % endif
48         % endfor
49             % if e['filter'].get('args'):
50             details::make_filter(filters::${e['filter']['type']}(
51                 % for i, a in enumerate(e['filter']['args']):
52                     % if i + 1 == len(e['filter']['args']):
53                 "${a['value']}")),
54                     % else:
55                 "${a['value']}",
56                     % endif
57                 % endfor
58             % else:
59             details::make_filter(filters::${e['filter']['type']}),
60             % endif
61             % if e['action'].get('args'):
62             details::make_action(actions::${e['action']['type']}(
63                 % for i, a in enumerate(e['action']['args']):
64                     % if i + 1 == len(e['action']['args']):
65                 "${a['value']}"))
66                     % else:
67                 "${a['value']}",
68                     % endif
69                 % endfor
70             % else:
71             details::make_action(actions::${e['action']['type']})
72             % endif
73         ),
74     },
75 % endfor
76 };
77 
78 } // namespace manager
79 } // namespace inventory
80 } // namespace phosphor
81