blob: ad5a8626cc30604fee6faadb93687568756b4137 [file] [log] [blame]
#pragma once
#include "host-bmc/host_pdr_handler.hpp"
#include <sdbusplus/bus.hpp>
#include <sdbusplus/server/object.hpp>
#include <xyz/openbmc_project/Condition/HostFirmware/server.hpp>
namespace pldm
{
namespace dbus_api
{
using HostIntf = sdbusplus::server::object_t<
sdbusplus::xyz::openbmc_project::Condition::server::HostFirmware>;
class Host : public HostIntf
{
public:
Host() = delete;
Host(const Host&) = delete;
Host& operator=(const Host&) = delete;
Host(Host&&) = delete;
Host& operator=(Host&&) = delete;
virtual ~Host() = default;
Host(sdbusplus::bus_t& bus, const std::string& path) :
HostIntf(bus, path.c_str()) {};
/** @brief Override reads to CurrentFirmwareCondition */
FirmwareCondition currentFirmwareCondition() const override;
/** @brief Store shared pointer to host PDR instance */
void setHostPdrObj(std::shared_ptr<HostPDRHandler> obj)
{
hostPdrObj = obj;
}
private:
std::shared_ptr<HostPDRHandler> hostPdrObj;
};
} // namespace dbus_api
} // namespace pldm