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