blob: 142ee4634a0c00a3f2b0758220d3ce857b1d6c73 [file] [log] [blame]
Matt Spinler2a28c932020-02-03 14:23:40 -06001#pragma once
2
Matt Spinler412f50e2023-11-14 12:49:52 -06003#include <sdbusplus/message.hpp>
4
Matt Spinler81bc5612023-06-01 16:48:19 -05005#include <cstdint>
Matt Spinler2a28c932020-02-03 14:23:40 -06006#include <map>
Matt Spinler2a28c932020-02-03 14:23:40 -06007#include <string>
8#include <variant>
9#include <vector>
10
11namespace openpower::pels
12{
13
Matt Spinler94933552023-10-09 12:50:17 -050014using 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>>>>;
Matt Spinler744d8512022-06-08 08:25:47 -050021
Sumit Kumar3e274432021-09-14 06:37:56 -050022using 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>>,
Matt Spinler744d8512022-06-08 08:25:47 -050026 std::tuple<uint64_t, std::vector<uint8_t>>, BiosAttributes>;
Matt Spinler2a28c932020-02-03 14:23:40 -060027using DBusProperty = std::string;
28using DBusInterface = std::string;
29using DBusService = std::string;
30using DBusPath = std::string;
31using DBusInterfaceList = std::vector<DBusInterface>;
32using DBusPathList = std::vector<DBusPath>;
33using DBusPropertyMap = std::map<DBusProperty, DBusValue>;
34using DBusInterfaceMap = std::map<DBusInterface, DBusPropertyMap>;
Matt Spinler412f50e2023-11-14 12:49:52 -060035using DBusObjectMap =
36 std::map<sdbusplus::message::object_path, DBusInterfaceMap>;
Matt Spinler1ab66962020-10-29 13:21:44 -050037using DBusSubTree =
38 std::map<DBusPath, std::map<DBusService, DBusInterfaceList>>;
Matt Spinler2a28c932020-02-03 14:23:40 -060039
40} // namespace openpower::pels