1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ 2 3 #ifndef APIEVENTS_H 4 #define APIEVENTS_H 5 6 #include "remote/eventqueue.hpp" 7 #include "icinga/checkable.hpp" 8 #include "icinga/host.hpp" 9 10 namespace icinga 11 { 12 13 /** 14 * @ingroup icinga 15 */ 16 class ApiEvents 17 { 18 public: 19 static void StaticInitialize(); 20 21 static void CheckResultHandler(const Checkable::Ptr& checkable, const CheckResult::Ptr& cr, const MessageOrigin::Ptr& origin); 22 static void StateChangeHandler(const Checkable::Ptr& checkable, const CheckResult::Ptr& cr, StateType type, const MessageOrigin::Ptr& origin); 23 24 25 static void NotificationSentToAllUsersHandler(const Notification::Ptr& notification, const Checkable::Ptr& checkable, 26 const std::set<User::Ptr>& users, NotificationType type, const CheckResult::Ptr& cr, const String& author, 27 const String& text, const MessageOrigin::Ptr& origin); 28 29 static void FlappingChangedHandler(const Checkable::Ptr& checkable, const MessageOrigin::Ptr& origin); 30 31 static void AcknowledgementSetHandler(const Checkable::Ptr& checkable, 32 const String& author, const String& comment, AcknowledgementType type, 33 bool notify, bool persistent, double, double expiry, const MessageOrigin::Ptr& origin); 34 static void AcknowledgementClearedHandler(const Checkable::Ptr& checkable, const String& removedBy, double, const MessageOrigin::Ptr& origin); 35 36 static void CommentAddedHandler(const Comment::Ptr& comment); 37 static void CommentRemovedHandler(const Comment::Ptr& comment); 38 39 static void DowntimeAddedHandler(const Downtime::Ptr& downtime); 40 static void DowntimeRemovedHandler(const Downtime::Ptr& downtime); 41 static void DowntimeStartedHandler(const Downtime::Ptr& downtime); 42 static void DowntimeTriggeredHandler(const Downtime::Ptr& downtime); 43 44 static void OnActiveChangedHandler(const ConfigObject::Ptr& object, const Value&); 45 static void OnVersionChangedHandler(const ConfigObject::Ptr& object, const Value&); 46 static void SendObjectChangeEvent(const ConfigObject::Ptr& object, const EventType& eventType, const String& eventQueue); 47 }; 48 49 } 50 51 #endif /* APIEVENTS_H */ 52