xref: /openbmc/phosphor-dbus-monitor/src/event_manager.hpp (revision cd22786a280372a2e31c61dffabae204a8ab9d8b)
1 #pragma once
2 
3 #include <sdbusplus/bus.hpp>
4 
5 namespace phosphor
6 {
7 namespace events
8 {
9 
10 /** @class Manager
11  *  @brief OpenBMC Event manager implementation.
12  */
13 class Manager
14 {
15     public:
16         Manager() = default;
17         Manager(const Manager&) = delete;
18         Manager& operator=(const Manager&) = delete;
19         Manager(Manager&&) = default;
20         Manager& operator=(Manager&&) = default;
21         virtual ~Manager() = default;
22 
23         /** @brief Create the D-Bus Event object.
24          *  @detail Add the objectPath,propertyName, propertyValue
25          *          as additional data of the event object.
26          *  @param[in] eventName - Name of the event.
27          *  @param[in] objectPath - Path of the D-Bus object.
28          *  @param[in] propertyName - Name of the property.
29          *  @param[in] propertyValue - Value of the property.
30          */
31         void create(
32             const std::string& eventName,
33             const std::string& objectPath,
34             const std::string& propertyName,
35             const std::string& propertyValue);
36 
37 };
38 
39 Manager& getManager();
40 
41 } // namespace events
42 } // namespace phosphor
43