#pragma once #include #include #include "events.hpp" namespace phosphor { namespace dbus { namespace monitoring { class Monitor { public: Monitor() = delete; Monitor(const Monitor&) = delete; Monitor(Monitor&&) = default; Monitor& operator=(const Monitor&) = delete; Monitor& operator=(Monitor&&) = default; ~Monitor() = default; explicit Monitor(sdbusplus::bus::bus& bus); void processStart() noexcept; void handleEvent(sdbusplus::message::message& msg, const Event& event, const std::tuple>, std::vector>& eventDef); private: sdbusplus::bus::bus& bus; static const std::vector< std::tuple>, std::vector>> events; }; } // namespace monitoring } // namespace dbus } // namespace phosphor