1*56da5740SKamalkumar Patel #pragma once 2*56da5740SKamalkumar Patel 3*56da5740SKamalkumar Patel #include <sdbusplus/bus.hpp> 4*56da5740SKamalkumar Patel #include <sdbusplus/server.hpp> 5*56da5740SKamalkumar Patel #include <sdbusplus/server/object.hpp> 6*56da5740SKamalkumar Patel #include <xyz/openbmc_project/Inventory/Item/CpuCore/server.hpp> 7*56da5740SKamalkumar Patel 8*56da5740SKamalkumar Patel #include <string> 9*56da5740SKamalkumar Patel 10*56da5740SKamalkumar Patel namespace pldm 11*56da5740SKamalkumar Patel { 12*56da5740SKamalkumar Patel namespace dbus 13*56da5740SKamalkumar Patel { 14*56da5740SKamalkumar Patel using CoreIntf = sdbusplus::server::object_t< 15*56da5740SKamalkumar Patel sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore>; 16*56da5740SKamalkumar Patel 17*56da5740SKamalkumar Patel class CPUCore : public CoreIntf 18*56da5740SKamalkumar Patel { 19*56da5740SKamalkumar Patel public: 20*56da5740SKamalkumar Patel CPUCore() = delete; 21*56da5740SKamalkumar Patel ~CPUCore() = default; 22*56da5740SKamalkumar Patel CPUCore(const CPUCore&) = delete; 23*56da5740SKamalkumar Patel CPUCore& operator=(const CPUCore&) = delete; 24*56da5740SKamalkumar Patel CPUCore(CPUCore&&) = default; 25*56da5740SKamalkumar Patel CPUCore& operator=(CPUCore&&) = default; 26*56da5740SKamalkumar Patel CPUCore(sdbusplus::bus_t & bus,const std::string & objPath)27*56da5740SKamalkumar Patel CPUCore(sdbusplus::bus_t& bus, const std::string& objPath) : 28*56da5740SKamalkumar Patel CoreIntf(bus, objPath.c_str()) 29*56da5740SKamalkumar Patel {} 30*56da5740SKamalkumar Patel 31*56da5740SKamalkumar Patel /** Get value of Microcode */ 32*56da5740SKamalkumar Patel uint32_t microcode() const override; 33*56da5740SKamalkumar Patel 34*56da5740SKamalkumar Patel /** Set value of Microcode */ 35*56da5740SKamalkumar Patel uint32_t microcode(uint32_t value) override; 36*56da5740SKamalkumar Patel }; 37*56da5740SKamalkumar Patel 38*56da5740SKamalkumar Patel } // namespace dbus 39*56da5740SKamalkumar Patel } // namespace pldm 40