1 #pragma once 2 3 #include <sdbusplus/bus.hpp> 4 #include <sdbusplus/server.hpp> 5 #include <sdbusplus/server/object.hpp> 6 #include <xyz/openbmc_project/State/Decorator/Availability/server.hpp> 7 8 #include <string> 9 10 namespace pldm 11 { 12 namespace dbus 13 { 14 using AvailabilityIntf = sdbusplus::server::object_t< 15 sdbusplus::xyz::openbmc_project::State::Decorator::server::Availability>; 16 17 class Availability : public AvailabilityIntf 18 { 19 public: 20 Availability() = delete; 21 ~Availability() = default; 22 Availability(const Availability&) = delete; 23 Availability& operator=(const Availability&) = delete; 24 Availability(Availability&&) = delete; 25 Availability& operator=(Availability&&) = delete; 26 Availability(sdbusplus::bus_t & bus,const std::string & objPath)27 Availability(sdbusplus::bus_t& bus, const std::string& objPath) : 28 AvailabilityIntf(bus, objPath.c_str()), path(objPath) 29 {} 30 31 /** Get value of Available */ 32 bool available() const override; 33 34 /** Set value of Available */ 35 bool available(bool value) override; 36 37 private: 38 std::string path; 39 }; 40 41 } // namespace dbus 42 } // namespace pldm 43