blob: d65aa700f16323b025c83488f3c61eacc42f0a4f [file] [log] [blame]
Deepak Kodihalli35c7fb12016-11-21 04:32:44 -06001#pragma once
2
3#include <climits>
4#include <vector>
Deepak Kodihalli76794492017-02-16 23:48:18 -06005#include <string>
6#include <map>
7#include <sdbusplus/server.hpp>
Deepak Kodihalli35c7fb12016-11-21 04:32:44 -06008
9namespace openpower
10{
11namespace vpd
12{
13
14/** @brief The OpenPOWER VPD, in binary, is specified as a
15 * sequence of characters */
16static_assert((8 == CHAR_BIT), "A byte is not 8 bits!");
17using Byte = uint8_t;
18using Binary = std::vector<Byte>;
19
Deepak Kodihalli76794492017-02-16 23:48:18 -060020namespace inventory
21{
22
23using Path = std::string;
24using Property = std::string;
25using Value = sdbusplus::message::variant<bool, int64_t, std::string>;
26using PropertyMap = std::map<Property, Value>;
27
28using Interface = std::string;
29using InterfaceMap = std::map<Interface, PropertyMap>;
30
31using Object = sdbusplus::message::object_path;
32using ObjectMap = std::map<Object, InterfaceMap>;
33
34using namespace std::string_literals;
35static const auto pimPath = "/xyz/openbmc_project/Inventory"s;
36static const auto pimIntf = "xyz.openbmc_project.Inventory.Manager"s;
37
38} // namespace inventory
39
Deepak Kodihalli35c7fb12016-11-21 04:32:44 -060040} // namespace vpd
41} // namespace openpower