diff options
Diffstat (limited to 'dcmihandler.hpp')
-rw-r--r-- | dcmihandler.hpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/dcmihandler.hpp b/dcmihandler.hpp new file mode 100644 index 0000000..dfe1d4e --- /dev/null +++ b/dcmihandler.hpp @@ -0,0 +1,51 @@ +#ifndef __HOST_IPMI_DCMI_HANDLER_H__ +#define __HOST_IPMI_DCMI_HANDLER_H__ + +#include <map> +#include <string> +#include <vector> + +// IPMI commands for net functions. +enum ipmi_netfn_sen_cmds +{ + // Get capability bits + IPMI_CMD_DCMI_GET_POWER = 0x03, +}; + +namespace dcmi +{ + +static constexpr auto propIntf = "org.freedesktop.DBus.Properties"; +static constexpr auto assetTagIntf = + "xyz.openbmc_project.Inventory.Decorator.AssetTag"; +static constexpr auto assetTagProp = "AssetTag"; + +namespace assettag +{ + + using ObjectPath = std::string; + using Service = std::string; + using Interfaces = std::vector<std::string>; + using ObjectTree = std::map<ObjectPath, std::map<Service, Interfaces>>; + +} //namespace assettag + +/** @brief Read the object tree to fetch the object path that implemented the + * Asset tag interface. + * + * @param[in,out] objectTree - object tree + * + * @return On success return the object tree with the object path that + * implemented the AssetTag interface. + */ +void readAssetTagObjectTree(dcmi::assettag::ObjectTree& objectTree); + +/** @brief Read the asset tag of the server + * + * @return On success return the asset tag. + */ +std::string readAssetTag(); + +} // namespace dcmi + +#endif |