]> granicus.if.org Git - icinga2/commitdiff
Add On{Event,Check}CommandChanged event
authorMichael Friedrich <michael.friedrich@netways.de>
Tue, 26 Aug 2014 11:13:12 +0000 (13:13 +0200)
committerMichael Friedrich <michael.friedrich@netways.de>
Tue, 26 Aug 2014 15:11:19 +0000 (17:11 +0200)
refs #5219

lib/icinga/checkable-check.cpp
lib/icinga/checkable-event.cpp
lib/icinga/checkable.hpp

index 773396f2b5d79a25702bab0ded4c1884c9541d3b..bb7f7ff9bbfa69bf18a49d049f14e19b8605ddad 100644 (file)
@@ -45,6 +45,7 @@ boost::signals2::signal<void (const Checkable::Ptr&, bool, const MessageOrigin&)
 boost::signals2::signal<void (const Checkable::Ptr&, bool, const MessageOrigin&)> Checkable::OnEnableFlappingChanged;
 boost::signals2::signal<void (const Checkable::Ptr&, double, const MessageOrigin&)> Checkable::OnCheckIntervalChanged;
 boost::signals2::signal<void (const Checkable::Ptr&, double, const MessageOrigin&)> Checkable::OnRetryIntervalChanged;
+boost::signals2::signal<void (const Checkable::Ptr&, const CheckCommand::Ptr&, const MessageOrigin&)> Checkable::OnCheckCommandChanged;
 boost::signals2::signal<void (const Checkable::Ptr&, FlappingState)> Checkable::OnFlappingChanged;
 
 CheckCommand::Ptr Checkable::GetCheckCommand(void) const
@@ -59,9 +60,11 @@ CheckCommand::Ptr Checkable::GetCheckCommand(void) const
        return CheckCommand::GetByName(command);
 }
 
-void Checkable::SetCheckCommand(const CheckCommand::Ptr& command)
+void Checkable::SetCheckCommand(const CheckCommand::Ptr& command, const MessageOrigin& origin)
 {
        SetOverrideCheckCommand(command->GetName());
+
+       OnCheckCommandChanged(GetSelf(), command, origin);
 }
 
 TimePeriod::Ptr Checkable::GetCheckPeriod(void) const
index 867bb2e2337bb624eae80f5d6438c87b11552283..a126b282f76d0608c44b457b5640293a74bf2fe2 100644 (file)
@@ -27,6 +27,7 @@ using namespace icinga;
 
 boost::signals2::signal<void (const Checkable::Ptr&)> Checkable::OnEventCommandExecuted;
 boost::signals2::signal<void (const Checkable::Ptr&, bool, const MessageOrigin&)> Checkable::OnEnableEventHandlerChanged;
+boost::signals2::signal<void (const Checkable::Ptr&, const EventCommand::Ptr&, const MessageOrigin&)> Checkable::OnEventCommandChanged;
 
 bool Checkable::GetEnableEventHandler(void) const
 {
@@ -55,9 +56,11 @@ EventCommand::Ptr Checkable::GetEventCommand(void) const
        return EventCommand::GetByName(command);
 }
 
-void Checkable::SetEventCommand(const EventCommand::Ptr& command)
+void Checkable::SetEventCommand(const EventCommand::Ptr& command, const MessageOrigin& origin)
 {
        SetOverrideEventCommand(command->GetName());
+
+       OnEventCommandChanged(GetSelf(), command, origin);
 }
 
 void Checkable::ExecuteEventHandler(void)
index d40f2e743b64c5a308b2020a667eb062ca45f4a3..96517847db54f4f2d4af05729383858f4a0f1037 100644 (file)
@@ -98,7 +98,7 @@ public:
 
        /* Checks */
        shared_ptr<CheckCommand> GetCheckCommand(void) const;
-       void SetCheckCommand(const shared_ptr<CheckCommand>& command);
+       void SetCheckCommand(const shared_ptr<CheckCommand>& command, const MessageOrigin& origin = MessageOrigin());
 
        TimePeriod::Ptr GetCheckPeriod(void) const;
        void SetCheckPeriod(const TimePeriod::Ptr& tp);
@@ -157,6 +157,8 @@ public:
        static boost::signals2::signal<void (const Checkable::Ptr&, bool, const MessageOrigin&)> OnEnableEventHandlerChanged;
        static boost::signals2::signal<void (const Checkable::Ptr&, double, const MessageOrigin&)> OnCheckIntervalChanged;
        static boost::signals2::signal<void (const Checkable::Ptr&, double, const MessageOrigin&)> OnRetryIntervalChanged;
+       static boost::signals2::signal<void (const Checkable::Ptr&, const shared_ptr<EventCommand>&, const MessageOrigin&)> OnEventCommandChanged;
+       static boost::signals2::signal<void (const Checkable::Ptr&, const shared_ptr<CheckCommand>&, const MessageOrigin&)> OnCheckCommandChanged;
 
        static boost::signals2::signal<void (const Checkable::Ptr&, const CheckResult::Ptr&, const MessageOrigin&)> OnNewCheckResult;
        static boost::signals2::signal<void (const Checkable::Ptr&, const CheckResult::Ptr&, StateType, const MessageOrigin&)> OnStateChange;
@@ -240,7 +242,7 @@ public:
        void ExecuteEventHandler(void);
 
        shared_ptr<EventCommand> GetEventCommand(void) const;
-       void SetEventCommand(const shared_ptr<EventCommand>& command);
+       void SetEventCommand(const shared_ptr<EventCommand>& command, const MessageOrigin& origin = MessageOrigin());
 
        bool GetEnableEventHandler(void) const;
        void SetEnableEventHandler(bool enabled, const MessageOrigin& origin = MessageOrigin());