blob: a2fb6503d6274c9fbdc4c4c2840b5b57d75f9e06 [file] [log] [blame]
Patrick Venture46470a32018-09-07 19:26:25 -07001#pragma once
Marri Devender Raoa62bacc2017-06-04 23:40:16 -05002
3#include <systemd/sd-bus.h>
Patrick Venture0b02be92018-08-31 11:55:55 -07004
Marri Devender Raoa62bacc2017-06-04 23:40:16 -05005#include <array>
Marri Devender Raoa62bacc2017-06-04 23:40:16 -05006#include <map>
Patrick Venture0b02be92018-08-31 11:55:55 -07007#include <string>
Marri Devender Raoa62bacc2017-06-04 23:40:16 -05008#include <vector>
9
10struct IPMIFruData
11{
12 std::string section;
13 std::string property;
14 std::string delimiter;
15};
16
17using DbusProperty = std::string;
18using DbusPropertyVec = std::vector<std::pair<DbusProperty, IPMIFruData>>;
19
20using DbusInterface = std::string;
21using DbusInterfaceVec = std::vector<std::pair<DbusInterface, DbusPropertyVec>>;
22
23using FruInstancePath = std::string;
Ratan Gupta00330972018-01-19 16:23:10 +053024
25struct FruInstance
26{
27 uint8_t entityID;
28 uint8_t entityInstance;
29 FruInstancePath path;
30 DbusInterfaceVec interfaces;
31};
32
33using FruInstanceVec = std::vector<FruInstance>;
Marri Devender Raoa62bacc2017-06-04 23:40:16 -050034
35using FruId = uint32_t;
36using FruMap = std::map<FruId, FruInstanceVec>;