]> granicus.if.org Git - icinga2/commitdiff
ModifiedAttributes for Enable* must call signals.
authorMichael Friedrich <Michael.Friedrich@netways.de>
Sat, 10 May 2014 15:24:39 +0000 (17:24 +0200)
committerMichael Friedrich <Michael.Friedrich@netways.de>
Sat, 10 May 2014 15:24:39 +0000 (17:24 +0200)
Refs #6151
Refs #5219

lib/icinga/checkable.cpp
lib/icinga/checkable.h
lib/icinga/command.cpp
lib/icinga/command.h
lib/icinga/user.cpp
lib/icinga/user.h

index 8ce79afc49b92256fdb805e1a40df433b93c5839..9fe9b81f4ee0246d073c96055137cfc28a26ceed 100644 (file)
@@ -215,25 +215,35 @@ int Checkable::GetModifiedAttributes(void) const
        return attrs;
 }
 
-void Checkable::SetModifiedAttributes(int flags)
+void Checkable::SetModifiedAttributes(int flags, const MessageOrigin& origin)
 {
-       if ((flags & ModAttrNotificationsEnabled) == 0)
+       if ((flags & ModAttrNotificationsEnabled) == 0) {
                SetOverrideEnableNotifications(Empty);
+               OnEnableNotificationsChanged(GetSelf(), GetEnableNotifications(), origin);
+       }
 
-       if ((flags & ModAttrActiveChecksEnabled) == 0)
+       if ((flags & ModAttrActiveChecksEnabled) == 0) {
                SetOverrideEnableActiveChecks(Empty);
+               OnEnableActiveChecksChanged(GetSelf(), GetEnableActiveChecks(), origin);
+       }
 
-       if ((flags & ModAttrPassiveChecksEnabled) == 0)
+       if ((flags & ModAttrPassiveChecksEnabled) == 0) {
                SetOverrideEnablePassiveChecks(Empty);
+               OnEnablePassiveChecksChanged(GetSelf(), GetEnablePassiveChecks(), origin);
+       }
 
-       if ((flags & ModAttrFlapDetectionEnabled) == 0)
+       if ((flags & ModAttrFlapDetectionEnabled) == 0) {
                SetOverrideEnableFlapping(Empty);
+               OnEnableFlappingChanged(GetSelf(), GetEnableFlapping(), origin);
+       }
 
        if ((flags & ModAttrEventHandlerEnabled) == 0)
                SetOverrideEnableEventHandler(Empty);
 
-       if ((flags & ModAttrPerformanceDataEnabled) == 0)
+       if ((flags & ModAttrPerformanceDataEnabled) == 0) {
                SetOverrideEnablePerfdata(Empty);
+               OnEnablePerfdataChanged(GetSelf(), GetEnablePerfdata(), origin);
+       }
 
        if ((flags & ModAttrNormalCheckInterval) == 0)
                SetOverrideCheckInterval(Empty);
index 9fc21fc749803a8c32ecc889ca3c63174bb412d4..71205d46578f97c9d88171dc16d9d7242b5ce915 100644 (file)
@@ -143,7 +143,7 @@ public:
        void ProcessCheckResult(const CheckResult::Ptr& cr, const MessageOrigin& origin = MessageOrigin());
 
        int GetModifiedAttributes(void) const;
-       void SetModifiedAttributes(int flags);
+       void SetModifiedAttributes(int flags, const MessageOrigin& origin = MessageOrigin());
 
        bool IsCheckPending(void) const;
 
index ffbf0dfa007755b6db930d0d26f05634a3a3294e..5f990bc51f5ad1d3d37530d436f76aeaca178530 100644 (file)
@@ -45,7 +45,7 @@ int Command::GetModifiedAttributes(void) const
        return attrs;
 }
 
-void Command::SetModifiedAttributes(int flags)
+void Command::SetModifiedAttributes(int flags, const MessageOrigin& origin)
 {
        if ((flags & ModAttrCustomVariable) == 0) {
                SetOverrideVars(Empty);
index a41c74d12ccd9156c1a8dd28539b1f7299d50b70..fdc19e9b4e3228cf8e713a5afb7085aaf05fc1b3 100644 (file)
@@ -25,6 +25,7 @@
 #include "base/i2-base.h"
 #include "base/array.h"
 #include "base/logger_fwd.h"
+#include "remote/messageorigin.h"
 #include <set>
 
 namespace icinga
@@ -45,7 +46,7 @@ public:
        virtual bool ResolveMacro(const String& macro, const CheckResult::Ptr& cr, String *result) const;
 
        int GetModifiedAttributes(void) const;
-       void SetModifiedAttributes(int flags);
+       void SetModifiedAttributes(int flags, const MessageOrigin& origin = MessageOrigin());
 };
 
 }
index 36a4590aa34b1f86d5a7497fdf318e8398f212f9..9fa1c1eaf1364c65640fcf6f4c75a4ade0e0af68 100644 (file)
@@ -118,7 +118,7 @@ int User::GetModifiedAttributes(void) const
        return attrs;
 }
 
-void User::SetModifiedAttributes(int flags)
+void User::SetModifiedAttributes(int flags, const MessageOrigin& origin)
 {
        if ((flags & ModAttrCustomVariable) == 0) {
                SetOverrideVars(Empty);
index 780cd979fe8abc1936c65d0d0d58b8c062b5f5d0..4dc8b1568fee033d8d595f190995100a3db3556d 100644 (file)
@@ -25,6 +25,7 @@
 #include "icinga/macroresolver.h"
 #include "icinga/timeperiod.h"
 #include "base/array.h"
+#include "remote/messageorigin.h"
 
 namespace icinga
 {
@@ -48,7 +49,7 @@ public:
        static void ValidateFilters(const String& location, const Dictionary::Ptr& attrs);
 
        int GetModifiedAttributes(void) const;
-       void SetModifiedAttributes(int flags);
+       void SetModifiedAttributes(int flags, const MessageOrigin& origin = MessageOrigin());
 
 protected:
        virtual void Stop(void);