mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-31 01:24:19 +02:00
Namely: Checkable#ProcessCheckResult() ClusterCheckTask::ScriptFunc() ClusterZoneCheckTask::ScriptFunc() DummyCheckTask::ScriptFunc() ExceptionCheckTask::ScriptFunc() IcingaCheckTask::ScriptFunc() IfwApiCheckTask::ScriptFunc() NullCheckTask::ScriptFunc() PluginCheckTask::ScriptFunc() RandomCheckTask::ScriptFunc() SleepCheckTask::ScriptFunc() IdoCheckTask::ScriptFunc() IcingadbCheck::ScriptFunc() CheckCommand#Execute() Checkable#ExecuteCheck() ClusterEvents::ExecuteCheckFromQueue() ExternalCommandProcessor::Process*CheckResult() ExternalCommandCallback ExternalCommandProcessor::Execute() ExternalCommandProcessor::ExecuteFromFile() ExternalCommandProcessor::ProcessFile() LivestatusQuery#ExecuteCommandHelper() LivestatusQuery#Execute()
34 lines
877 B
C++
34 lines
877 B
C++
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
|
|
|
|
#include "icinga/checkable.hpp"
|
|
#include "base/configobject.hpp"
|
|
#include "base/dictionary.hpp"
|
|
#include "base/function.hpp"
|
|
#include "base/functionwrapper.hpp"
|
|
#include "base/scriptframe.hpp"
|
|
#include "remote/apilistener.hpp"
|
|
|
|
using namespace icinga;
|
|
|
|
static void CheckableProcessCheckResult(const CheckResult::Ptr& cr)
|
|
{
|
|
ScriptFrame *vframe = ScriptFrame::GetCurrentFrame();
|
|
Checkable::Ptr self = vframe->Self;
|
|
REQUIRE_NOT_NULL(self);
|
|
|
|
if (cr) {
|
|
auto api (ApiListener::GetInstance());
|
|
|
|
self->ProcessCheckResult(cr, api ? api->GetWaitGroup() : new StoppableWaitGroup());
|
|
}
|
|
}
|
|
|
|
Object::Ptr Checkable::GetPrototype()
|
|
{
|
|
static Dictionary::Ptr prototype = new Dictionary({
|
|
{ "process_check_result", new Function("Checkable#process_check_result", CheckableProcessCheckResult, { "cr" }, false) }
|
|
});
|
|
|
|
return prototype;
|
|
}
|