1f8da32adSTom Joseph #pragma once 2f8da32adSTom Joseph 3f8da32adSTom Joseph #include "comm_module.hpp" 4f8da32adSTom Joseph 59e801a2bSVernon Mauery #include <sdbusplus/bus/match.hpp> 6bc8958feSGeorge Liu 7bc8958feSGeorge Liu #include <cstddef> 89e801a2bSVernon Mauery #include <vector> 99e801a2bSVernon Mauery 10f8da32adSTom Joseph namespace command 11f8da32adSTom Joseph { 12f8da32adSTom Joseph 13f8da32adSTom Joseph constexpr size_t BMC_GUID_LEN = 16; 14f8da32adSTom Joseph 1583029cb8STom Joseph using Guid = std::array<uint8_t, BMC_GUID_LEN>; 1683029cb8STom Joseph 173563f8feSTom Joseph /** 18f8da32adSTom Joseph * @brief Get System GUID 19f8da32adSTom Joseph * 20f8da32adSTom Joseph * @return If UUID is successfully read from the Chassis DBUS object, then the 21f8da32adSTom Joseph * GUID is returned, else a canned GUID is returned 22f8da32adSTom Joseph */ 23*36e3c539SVernon Mauery const Guid& getSystemGUID(); 2483029cb8STom Joseph 2583029cb8STom Joseph /** 2683029cb8STom Joseph * @brief Register the callback to update the cache when the GUID changes 2783029cb8STom Joseph */ 2883029cb8STom Joseph void registerGUIDChangeCallback(); 29f8da32adSTom Joseph 30f8da32adSTom Joseph } // namespace command 31