1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
3 #ifndef NOTIFICATIONCOMPONENT_H
4 #define NOTIFICATIONCOMPONENT_H
6 #include "notification/notificationcomponent-ti.hpp"
7 #include "icinga/service.hpp"
8 #include "base/configobject.hpp"
9 #include "base/timer.hpp"
15 * @ingroup notification
17 class NotificationComponent final : public ObjectImpl<NotificationComponent>
20 DECLARE_OBJECT(NotificationComponent);
21 DECLARE_OBJECTNAME(NotificationComponent);
23 static void StatsFunc(const Dictionary::Ptr& status, const Array::Ptr& perfdata);
25 void Start(bool runtimeCreated) override;
26 void Stop(bool runtimeRemoved) override;
29 Timer::Ptr m_NotificationTimer;
31 void NotificationTimerHandler();
32 void SendNotificationsHandler(const Checkable::Ptr& checkable, NotificationType type,
33 const CheckResult::Ptr& cr, const String& author, const String& text);
38 #endif /* NOTIFICATIONCOMPONENT_H */