blob: dfe1d4efbb99a8366e0078c824b23800817eef0b [file] [log] [blame]
#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