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         std::make_tuple(
41             std::vector<details::EventBasePtr>({
42                 std::make_shared<details::DbusSignal>(
43         % for i, s in enumerate(e['signature'].items()):
44             % if i + 1 == len(e['signature']):
45             ${'"{0}=\'{1}\'"'.format(*s)},
46             % else:
47             ${'"{0}=\'{1}\',"'.format(*s)}
48             % endif
49         % endfor
50             % if e['filter'].get('args'):
51                 details::make_filter(filters::${e['filter']['type']}(
52                 % for i, a in enumerate(e['filter']['args']):
53                     % if i + 1 == len(e['filter']['args']):
54                 "${a['value']}")))}),
55                     % else:
56                 "${a['value']}",
57                     % endif
58                 % endfor
59             % else:
60                 details::make_filter(filters::${e['filter']['type']}))}),
61             % endif
62             % if e['action'].get('args'):
63             std::vector<details::ActionBasePtr>({details::make_action(actions::${e['action']['type']}(
64                 % for i, a in enumerate(e['action']['args']):
65                     % if i + 1 == len(e['action']['args']):
66                 "${a['value']}"))})
67                     % else:
68                 "${a['value']}",
69                     % endif
70                 % endfor
71             % else:
72             std::vector<details::ActionBasePtr>(
73                             {details::make_action(actions::${e['action']['type']})})
74             % endif
75         ),
76     },
77 % endfor
78 };
79 
80 } // namespace manager
81 } // namespace inventory
82 } // namespace phosphor
83