1 #pragma once 2 3 #include <systemd/sd-bus.h> 4 5 #include <array> 6 #include <map> 7 #include <string> 8 #include <vector> 9 10 struct IPMIFruData 11 { 12 std::string section; 13 std::string property; 14 std::string delimiter; 15 }; 16 17 using DbusProperty = std::string; 18 using DbusPropertyVec = std::vector<std::pair<DbusProperty, IPMIFruData>>; 19 20 using DbusInterface = std::string; 21 using DbusInterfaceVec = std::vector<std::pair<DbusInterface, DbusPropertyVec>>; 22 23 using FruInstancePath = std::string; 24 25 struct FruInstance 26 { 27 uint8_t entityID; 28 uint8_t entityInstance; 29 FruInstancePath path; 30 DbusInterfaceVec interfaces; 31 }; 32 33 using FruInstanceVec = std::vector<FruInstance>; 34 35 using FruId = uint32_t; 36 using FruMap = std::map<FruId, FruInstanceVec>; 37