m_CheckTimer->OnTimerExpired.connect(boost::bind(&CheckerComponent::CheckTimerHandler, this));
m_CheckTimer->Start();
- NagiosCheckTask::Register();
+ /* TODO: figure out a way to register check types */
+ PluginCheckTask::Register();
NullCheckTask::Register();
m_ResultTimer = boost::make_shared<Timer>();
abstract object Service "nagios-service" {
methods = {
- check = "native::NagiosCheck"
+ check = "native::PluginCheck"
},
macros = {
icingaapplication.h \
macroprocessor.cpp \
macroprocessor.h \
- nagioschecktask.cpp \
- nagioschecktask.h \
nullchecktask.cpp \
nullchecktask.h \
+ pluginchecktask.cpp \
+ pluginchecktask.h \
service.cpp \
servicegroup.cpp \
servicegroup.h \
#include "servicegroup.h"
#include "macroprocessor.h"
-#include "nagioschecktask.h"
+#include "pluginchecktask.h"
#include "nullchecktask.h"
#include "servicestatechangemessage.h"
</ClCompile>
<ClCompile Include="icingaapplication.cpp" />
<ClCompile Include="macroprocessor.cpp" />
- <ClCompile Include="nagioschecktask.cpp" />
+ <ClCompile Include="pluginchecktask.cpp" />
<ClCompile Include="nullchecktask.cpp" />
<ClCompile Include="service.cpp" />
<ClCompile Include="servicegroup.cpp" />
<ClInclude Include="i2-icinga.h" />
<ClInclude Include="icingaapplication.h" />
<ClInclude Include="macroprocessor.h" />
- <ClInclude Include="nagioschecktask.h" />
+ <ClInclude Include="pluginchecktask.h" />
<ClInclude Include="nullchecktask.h" />
<ClInclude Include="service.h" />
<ClInclude Include="servicegroup.h" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
using namespace icinga;
-NagiosCheckTask::NagiosCheckTask(const ScriptTask::Ptr& task, const Process::Ptr& process)
+PluginCheckTask::PluginCheckTask(const ScriptTask::Ptr& task, const Process::Ptr& process)
: m_Task(task), m_Process(process)
{ }
-void NagiosCheckTask::ScriptFunc(const ScriptTask::Ptr& task, const vector<Value>& arguments)
+void PluginCheckTask::ScriptFunc(const ScriptTask::Ptr& task, const vector<Value>& arguments)
{
if (arguments.size() < 1)
throw_exception(invalid_argument("Missing argument: Service must be specified."));
Process::Ptr process = boost::make_shared<Process>(command);
- NagiosCheckTask ct(task, process);
+ PluginCheckTask ct(task, process);
ct.m_Result = boost::make_shared<Dictionary>();
ct.m_Result->Set("schedule_start", Utility::GetTime());
- process->Start(boost::bind(&NagiosCheckTask::ProcessFinishedHandler, ct));
+ process->Start(boost::bind(&PluginCheckTask::ProcessFinishedHandler, ct));
}
-void NagiosCheckTask::ProcessFinishedHandler(NagiosCheckTask ct)
+void PluginCheckTask::ProcessFinishedHandler(PluginCheckTask ct)
{
ProcessResult pr;
ct.m_Task->FinishResult(ct.m_Result);
}
-void NagiosCheckTask::ProcessCheckOutput(const Dictionary::Ptr& result, String& output)
+void PluginCheckTask::ProcessCheckOutput(const Dictionary::Ptr& result, String& output)
{
String text;
String perfdata;
result->Set("performance_data_raw", perfdata);
}
-void NagiosCheckTask::Register(void)
+void PluginCheckTask::Register(void)
{
- ScriptFunction::Ptr func = boost::make_shared<ScriptFunction>(&NagiosCheckTask::ScriptFunc);
- ScriptFunction::Register("native::NagiosCheck", func);
+ ScriptFunction::Ptr func = boost::make_shared<ScriptFunction>(&PluginCheckTask::ScriptFunc);
+ ScriptFunction::Register("native::PluginCheck", func);
}
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
******************************************************************************/
-#ifndef NAGIOSCHECKTASK_H
-#define NAGIOSCHECKTASK_H
+#ifndef PLUGINCHECKTASK_H
+#define PLUGINCHECKTASK_H
namespace icinga
{
/**
- * Implements Nagios(TM)-style checks.
+ * Implements service checks based on external plugins.
*
* @ingroup icinga
*/
-class I2_ICINGA_API NagiosCheckTask
+class I2_ICINGA_API PluginCheckTask
{
public:
static void Register(void);
private:
static void ScriptFunc(const ScriptTask::Ptr& task, const vector<Value>& arguments);
- static void ProcessFinishedHandler(NagiosCheckTask ct);
+ static void ProcessFinishedHandler(PluginCheckTask ct);
static void ProcessCheckOutput(const Dictionary::Ptr& result, String& output);
- NagiosCheckTask(const ScriptTask::Ptr& task, const Process::Ptr& process);
+ PluginCheckTask(const ScriptTask::Ptr& task, const Process::Ptr& process);
ScriptTask::Ptr m_Task;
Process::Ptr m_Process;
}
-#endif /* NAGIOSCHECKTASK_H */
+#endif /* PLUGINCHECKTASK_H */