blob: ff18548e327b35ce093644bc7bbe747180c38ccc [file] [log] [blame]
Patrick Williams04e007f2016-10-15 07:15:12 -05001#pragma once
2#include <tuple>
3#include <systemd/sd-bus.h>
4#include <sdbusplus/vtable.hpp>
5 <%
6 namespaces = interface.name.split('.')
7 classname = namespaces.pop()
8 %>
9namespace sdbusplus
10{
11namespace server
12{
13 % for s in namespaces:
14namespace ${s}
15{
16 % endfor
17
18class ${classname}
19{
20 public:
21 % for m in interface.methods:
22${ m.cpp_prototype(loader, interface=interface, ptype='header') }
23 % endfor
24
25 private:
26 % for m in interface.methods:
27${ m.cpp_prototype(loader, interface=interface, ptype='callback-header') }
28 % endfor
29
30 static const sdbusplus::vtable::vtable_t _vtable[];
31};
32
33 % for s in namespaces:
34} // namespace ${s}
35 % endfor
36} // namespace server
37} // namespace sdbusplus