blob: e1188d744d6aa108e57984811aa4078c1c51a6a7 [file] [log] [blame]
Archana Kakani1634a6e2025-02-04 01:12:29 -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/Decorator/Asset/server.hpp>
7
8#include <string>
9
10namespace pldm
11{
12namespace dbus
13{
14
15using ItemAsset = sdbusplus::server::object_t<
16 sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::Asset>;
17
18class Asset : public ItemAsset
19{
20 public:
21 Asset() = delete;
22 ~Asset() = default;
23 Asset(const Asset&) = delete;
24 Asset& operator=(const Asset&) = delete;
25 Asset(Asset&&) = delete;
26 Asset& operator=(Asset&&) = delete;
27
28 Asset(sdbusplus::bus_t& bus, const std::string& objPath) :
29 ItemAsset(bus, objPath.c_str()), path(objPath)
30 {
31 // no need to save this in pldm memory
32 }
33
34 std::string partNumber(std::string value) override;
35
36 private:
37 std::string path;
38};
39
40} // namespace dbus
41} // namespace pldm