1 #pragma once
2 
3 #include <sdbusplus/message.hpp>
4 
5 #include <cstdint>
6 #include <map>
7 #include <string>
8 #include <variant>
9 #include <vector>
10 
11 namespace openpower::pels
12 {
13 
14 using BiosAttributes = std::map<
15     std::string,
16     std::tuple<
17         std::string, bool, std::string, std::string, std::string,
18         std::variant<int64_t, std::string>, std::variant<int64_t, std::string>,
19         std::vector<std::tuple<std::string, std::variant<int64_t, std::string>,
20                                std::string>>>>;
21 
22 using DBusValue =
23     std::variant<std::string, bool, std::vector<uint8_t>,
24                  std::vector<std::string>,
25                  std::vector<std::tuple<std::string, std::string, std::string>>,
26                  std::tuple<uint64_t, std::vector<uint8_t>>, BiosAttributes>;
27 using DBusProperty = std::string;
28 using DBusInterface = std::string;
29 using DBusService = std::string;
30 using DBusPath = std::string;
31 using DBusInterfaceList = std::vector<DBusInterface>;
32 using DBusPathList = std::vector<DBusPath>;
33 using DBusPropertyMap = std::map<DBusProperty, DBusValue>;
34 using DBusInterfaceMap = std::map<DBusInterface, DBusPropertyMap>;
35 using DBusObjectMap =
36     std::map<sdbusplus::message::object_path, DBusInterfaceMap>;
37 using DBusSubTree =
38     std::map<DBusPath, std::map<DBusService, DBusInterfaceList>>;
39 
40 } // namespace openpower::pels
41