blob: 55997df4dac51727de12e2b864313135ee8325e0 [file] [log] [blame]
Archana Kakanidb65c3b2025-02-03 05:27:28 -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/Inventory/Item/Chassis/server.hpp>
7
8#include <string>
9
10namespace pldm
11{
12namespace dbus
13{
14using ItemChassisIntf = sdbusplus::server::object_t<
15 sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis>;
16
17class ItemChassis : public ItemChassisIntf
18{
19 public:
20 ItemChassis() = delete;
21 ~ItemChassis() = default;
22 ItemChassis(const ItemChassis&) = delete;
23 ItemChassis& operator=(const ItemChassis&) = delete;
24 ItemChassis(ItemChassis&&) = delete;
25 ItemChassis& operator=(ItemChassis&&) = delete;
26
27 ItemChassis(sdbusplus::bus_t& bus, const std::string& objPath) :
28 ItemChassisIntf(bus, objPath.c_str())
29 {}
30
31 /** Get value of Type */
32 ChassisType type() const override;
33
34 /** Set value of Type */
35 ChassisType type(ChassisType value) override;
36};
37
38} // namespace dbus
39} // namespace pldm