]> granicus.if.org Git - icinga2/commitdiff
Convert global attributes to script variables.
authorGunnar Beutner <gunnar.beutner@netways.de>
Tue, 8 Oct 2013 10:37:21 +0000 (12:37 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Tue, 8 Oct 2013 10:37:21 +0000 (12:37 +0200)
lib/icinga/icingaapplication.cpp
lib/icinga/icingaapplication.h

index ec9407af2413aa95ad5f47cf85048c6b84cacac7..36e790c2fb4ab1afc7b7726235f4ca90750792a9 100644 (file)
@@ -26,6 +26,7 @@
 #include "base/utility.h"
 #include "base/timer.h"
 #include "base/scriptvariable.h"
+#include "base/initialize.h"
 #include <boost/smart_ptr/make_shared.hpp>
 
 using namespace icinga;
@@ -33,19 +34,20 @@ using namespace icinga;
 static Timer::Ptr l_RetentionTimer;
 
 REGISTER_TYPE(IcingaApplication);
+INITIALIZE_ONCE(IcingaApplication, &IcingaApplication::StaticInitialize);
 
 #ifndef _WIN32
 #      include "icinga-version.h"
 #      define ICINGA_VERSION GIT_MESSAGE
 #endif /* _WIN32 */
 
-IcingaApplication::IcingaApplication(void)
+void IcingaApplication::StaticInitialize(void)
 {
-       m_EnableNotifications = true;
-       m_EnableEventHandlers = true;
-       m_EnableFlapping = true;
-       m_EnableChecks = true;
-       m_EnablePerfdata = true;
+       ScriptVariable::Set("IcingaEnableNotifications", true);
+       ScriptVariable::Set("IcingaEnableEventHandlers", true);
+       ScriptVariable::Set("IcingaEnableFlapping", true);
+       ScriptVariable::Set("IcingaEnableChecks", true);
+       ScriptVariable::Set("IcingaEnablePerfdata", true);
 }
 
 /**
@@ -231,14 +233,6 @@ void IcingaApplication::InternalSerialize(const Dictionary::Ptr& bag, int attrib
 {
        DynamicObject::InternalSerialize(bag, attributeTypes);
 
-       if (attributeTypes & Attribute_Config) {
-               bag->Set("enable_notifications", m_EnableNotifications);
-               bag->Set("enable_event_handlers", m_EnableEventHandlers);
-               bag->Set("enable_flapping", m_EnableFlapping);
-               bag->Set("enable_checks", m_EnableChecks);
-               bag->Set("enable_perfdata", m_EnablePerfdata);
-       }
-
        if (attributeTypes & Attribute_State) {
                bag->Set("override_enable_notifications", m_OverrideEnableNotifications);
                bag->Set("override_enable_event_handlers", m_OverrideEnableEventHandlers);
@@ -252,14 +246,6 @@ void IcingaApplication::InternalDeserialize(const Dictionary::Ptr& bag, int attr
 {
        DynamicObject::InternalDeserialize(bag, attributeTypes);
 
-       if (attributeTypes & Attribute_Config) {
-               m_EnableNotifications = bag->Get("enable_notifications");
-               m_EnableEventHandlers = bag->Get("enable_event_handlers");
-               m_EnableFlapping = bag->Get("enable_flapping");
-               m_EnableChecks = bag->Get("enable_checks");
-               m_EnablePerfdata = bag->Get("enable_perfdata");
-       }
-
        if (attributeTypes & Attribute_State) {
                m_OverrideEnableNotifications = bag->Get("override_enable_notifications");
                m_OverrideEnableEventHandlers = bag->Get("override_enable_event_handlers");
index c31753c9e3055452fb3409d45f965a529c7df822..acb90ec5e1f0d03a66b4659f4d87b65e9c4fa3a9 100644 (file)
@@ -38,7 +38,7 @@ public:
        DECLARE_PTR_TYPEDEFS(IcingaApplication);
        DECLARE_TYPENAME(IcingaApplication);
 
-       IcingaApplication(void);
+       static void StaticInitialize(void);
 
        int Main(void);
 
@@ -78,12 +78,6 @@ protected:
 private:
        double m_StartTime;
 
-       Value m_EnableNotifications;
-       Value m_EnableEventHandlers;
-       Value m_EnableFlapping;
-       Value m_EnableChecks;
-       Value m_EnablePerfdata;
-
        Value m_OverrideEnableNotifications;
        Value m_OverrideEnableEventHandlers;
        Value m_OverrideEnableFlapping;