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);
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;
#include "base/i2-base.h"
#include "base/array.h"
#include "base/logger_fwd.h"
+#include "remote/messageorigin.h"
#include <set>
namespace icinga
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());
};
}
#include "icinga/macroresolver.h"
#include "icinga/timeperiod.h"
#include "base/array.h"
+#include "remote/messageorigin.h"
namespace icinga
{
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);