1 #pragma once
2 
3 #include "comm_module.hpp"
4 
5 #include <cstddef>
6 #include <sdbusplus/bus/match.hpp>
7 #include <vector>
8 
9 namespace command
10 {
11 
12 constexpr size_t BMC_GUID_LEN = 16;
13 
14 using Guid = std::array<uint8_t, BMC_GUID_LEN>;
15 
16 /**
17  * @brief Get System GUID
18  *
19  * @return If UUID is successfully read from the Chassis DBUS object, then the
20  *         GUID is returned, else a canned GUID is returned
21  */
22 Guid getSystemGUID();
23 
24 /**
25  *  @brief Register the callback to update the cache when the GUID changes
26  */
27 void registerGUIDChangeCallback();
28 
29 } // namespace command
30 
31 namespace cache
32 {
33 
34 extern command::Guid guid;
35 
36 } // namespace cache
37