xref: /openbmc/ibm-logging/dbus.hpp (revision 259e7277e6af53d2c4862cd48c14131c0b22bb81)
1 #pragma once
2 
3 #include <map>
4 #include <sdbusplus/server.hpp>
5 #include <string>
6 #include <vector>
7 
8 namespace ibm
9 {
10 namespace logging
11 {
12 
13 using DbusInterface = std::string;
14 using DbusProperty = std::string;
15 using Value = sdbusplus::message::variant<bool, uint32_t, uint64_t, std::string,
16                                           std::vector<std::string>>;
17 
18 using DbusPropertyMap = std::map<DbusProperty, Value>;
19 using DbusInterfaceMap = std::map<DbusInterface, DbusPropertyMap>;
20 using DbusInterfaceList = std::vector<DbusInterface>;
21 
22 using ObjectValueTree =
23     std::map<sdbusplus::message::object_path, DbusInterfaceMap>;
24 
25 ObjectValueTree getManagedObjects(sdbusplus::bus::bus& bus,
26                                   const std::string& service,
27                                   const std::string& objPath);
28 }
29 }
30