From: Gunnar Beutner Date: Sun, 15 Jul 2012 15:48:58 +0000 (+0200) Subject: Cleaned up NagiosCheckTask. X-Git-Tag: v0.0.1~227 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=07b30e19a9ca0abe1f13776097dd920f195df6d1;p=icinga2 Cleaned up NagiosCheckTask. --- diff --git a/cib/nagioschecktask.cpp b/cib/nagioschecktask.cpp index 071329c71..c8493df6d 100644 --- a/cib/nagioschecktask.cpp +++ b/cib/nagioschecktask.cpp @@ -47,19 +47,18 @@ void NagiosCheckTask::ScriptFunc(const ScriptTask::Ptr& task, const vectorGetMacros()); string command = MacroProcessor::ResolveMacros(checkCommand, macroDicts); - CheckResult result; + Process::Ptr process = boost::make_shared(command); + + NagiosCheckTask ct(task, process); time_t now; time(&now); - result.SetScheduleStart(now); + ct.m_Result.SetScheduleStart(now); - Process::Ptr process = boost::make_shared(command); - - NagiosCheckTask ct(task, process); - process->Start(boost::bind(&NagiosCheckTask::ProcessFinishedHandler, ct, result)); + process->Start(boost::bind(&NagiosCheckTask::ProcessFinishedHandler, ct)); } -void NagiosCheckTask::ProcessFinishedHandler(NagiosCheckTask ct, CheckResult result) +void NagiosCheckTask::ProcessFinishedHandler(NagiosCheckTask ct) { ProcessResult pr; @@ -70,12 +69,12 @@ void NagiosCheckTask::ProcessFinishedHandler(NagiosCheckTask ct, CheckResult res return; } - result.SetExecutionStart(pr.ExecutionStart); - result.SetExecutionEnd(pr.ExecutionEnd); + ct.m_Result.SetExecutionStart(pr.ExecutionStart); + ct.m_Result.SetExecutionEnd(pr.ExecutionEnd); string output = pr.Output; boost::algorithm::trim(output); - ProcessCheckOutput(result, output); + ProcessCheckOutput(ct.m_Result, output); ServiceState state; @@ -94,13 +93,13 @@ void NagiosCheckTask::ProcessFinishedHandler(NagiosCheckTask ct, CheckResult res break; } - result.SetState(state); + ct.m_Result.SetState(state); time_t now; time(&now); - result.SetScheduleEnd(now); + ct.m_Result.SetScheduleEnd(now); - ct.m_Task->FinishResult(result.GetDictionary()); + ct.m_Task->FinishResult(ct.m_Result.GetDictionary()); } void NagiosCheckTask::ProcessCheckOutput(CheckResult& result, const string& output) diff --git a/cib/nagioschecktask.h b/cib/nagioschecktask.h index 3b55ba32f..decce4d14 100644 --- a/cib/nagioschecktask.h +++ b/cib/nagioschecktask.h @@ -31,13 +31,14 @@ public: static void Register(void); private: - static void ProcessFinishedHandler(NagiosCheckTask ct, CheckResult result); + static void ProcessFinishedHandler(NagiosCheckTask ct); static void ProcessCheckOutput(CheckResult& result, const string& output); NagiosCheckTask(const ScriptTask::Ptr& task, const Process::Ptr& process); ScriptTask::Ptr m_Task; Process::Ptr m_Process; + CheckResult m_Result; }; }