From 29adc210219b0666d28dabc9804de90a41bc200f Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Tue, 8 Oct 2013 12:22:16 +0200 Subject: [PATCH] Use script variables for global options. --- doc/4.2-global-variables.md | 25 +++++++++++++++---------- lib/icinga/icingaapplication.cpp | 20 +++++--------------- 2 files changed, 20 insertions(+), 25 deletions(-) diff --git a/doc/4.2-global-variables.md b/doc/4.2-global-variables.md index a160635a4..081a30781 100644 --- a/doc/4.2-global-variables.md +++ b/doc/4.2-global-variables.md @@ -2,13 +2,18 @@ Icinga 2 provides a number of special global variables: -Variable |Description --------------------|------------------- -IcingaPrefixDir |**Read-only.** Contains the installation prefix that was specified with ./configure --prefix. Defaults to /usr/local -IcingaLocalStateDir|**Read-only.** Contains the path of the local state directory. Defaults to IcingaPrefixDir + "/var". -IcingaPkgLibDir |**Read-only.** Contains the path of the package lib directory. Defaults to IcingaPrefixDir + "/lib/icinga2". -IcingaPkgDataDir |**Read-only.** Contains the path of the package data directory. Defaults to IcingaPrefixDir + "/share/icinga2". -IcingaStatePath |**Read-write.** Contains the path of the Icinga 2 state file. Defaults to IcingaLocalStateDir + "/lib/icinga2/icinga2.state". -IcingaPidPath |**Read-write.** Contains the path of the Icinga 2 PID file. Defaults to IcingaLocalStateDir + "/run/icinga2/icinga2.pid". -IcingaMacros |**Read-write.** Contains a dictionary with global macros. Not set by default. -ApplicationType |**Read-write.** Contains the name of the Application type. Defaults to "IcingaApplication". +Variable |Description +--------------------------|------------------- +IcingaPrefixDir |**Read-only.** Contains the installation prefix that was specified with ./configure --prefix. Defaults to /usr/local +IcingaLocalStateDir |**Read-only.** Contains the path of the local state directory. Defaults to IcingaPrefixDir + "/var". +IcingaPkgLibDir |**Read-only.** Contains the path of the package lib directory. Defaults to IcingaPrefixDir + "/lib/icinga2". +IcingaPkgDataDir |**Read-only.** Contains the path of the package data directory. Defaults to IcingaPrefixDir + "/share/icinga2". +IcingaStatePath |**Read-write.** Contains the path of the Icinga 2 state file. Defaults to IcingaLocalStateDir + "/lib/icinga2/icinga2.state". +IcingaPidPath |**Read-write.** Contains the path of the Icinga 2 PID file. Defaults to IcingaLocalStateDir + "/run/icinga2/icinga2.pid". +IcingaMacros |**Read-write.** Contains a dictionary with global macros. Not set by default. +ApplicationType |**Read-write.** Contains the name of the Application type. Defaults to "IcingaApplication". +IcingaEnableNotifications |**Read-write.** Whether notifications are globally enabled. Defaults to true. +IcingaEnableEventHandlers |**Read-write.** Whether event handlers are globally enabled. Defaults to true. +IcingaEnableFlapping |**Read-write.** Whether flap detection is globally enabled. Defaults to true. +IcingaEnableChecks |**Read-write.** Whether active checks are globally enabled. Defaults to true. +IcingaEnablePerfdata |**Read-write.** Whether performance data processing is globally enabled. Defaults to true. diff --git a/lib/icinga/icingaapplication.cpp b/lib/icinga/icingaapplication.cpp index f68c40a00..ec9407af2 100644 --- a/lib/icinga/icingaapplication.cpp +++ b/lib/icinga/icingaapplication.cpp @@ -141,10 +141,8 @@ bool IcingaApplication::GetEnableNotifications(void) const { if (!m_OverrideEnableNotifications.IsEmpty()) return m_OverrideEnableNotifications; - else if (!m_EnableNotifications.IsEmpty()) - return m_EnableNotifications; else - return true; + return ScriptVariable::Get("IcingaEnableNotifications"); } void IcingaApplication::SetEnableNotifications(bool enabled) @@ -161,10 +159,8 @@ bool IcingaApplication::GetEnableEventHandlers(void) const { if (!m_OverrideEnableEventHandlers.IsEmpty()) return m_OverrideEnableEventHandlers; - else if (!m_EnableEventHandlers.IsEmpty()) - return m_EnableEventHandlers; else - return true; + return ScriptVariable::Get("IcingaEnableEventHandlers"); } void IcingaApplication::SetEnableEventHandlers(bool enabled) @@ -181,10 +177,8 @@ bool IcingaApplication::GetEnableFlapping(void) const { if (!m_OverrideEnableFlapping.IsEmpty()) return m_OverrideEnableFlapping; - else if (!m_EnableFlapping.IsEmpty()) - return m_EnableFlapping; else - return true; + return ScriptVariable::Get("IcingaEnableFlapping"); } void IcingaApplication::SetEnableFlapping(bool enabled) @@ -201,10 +195,8 @@ bool IcingaApplication::GetEnableChecks(void) const { if (!m_OverrideEnableChecks.IsEmpty()) return m_OverrideEnableChecks; - else if (!m_EnableChecks.IsEmpty()) - return m_EnableChecks; else - return true; + return ScriptVariable::Get("IcingaEnableChecks"); } void IcingaApplication::SetEnableChecks(bool enabled) @@ -221,10 +213,8 @@ bool IcingaApplication::GetEnablePerfdata(void) const { if (!m_OverrideEnablePerfdata.IsEmpty()) return m_OverrideEnablePerfdata; - else if (!m_EnablePerfdata.IsEmpty()) - return m_EnablePerfdata; else - return true; + return ScriptVariable::Get("IcingaEnablePerfdata"); } void IcingaApplication::SetEnablePerfdata(bool enabled) -- 2.40.0