blob: 5788f70194e9813d6ac868ab2dd73ed9334fbf2e [file] [log] [blame]
Archana Kakanif9355372025-02-04 03:13:24 -06001#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
10namespace pldm
11{
12namespace dbus
13{
14using AvailabilityIntf = sdbusplus::server::object_t<
15 sdbusplus::xyz::openbmc_project::State::Decorator::server::Availability>;
16
17class 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
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