]> granicus.if.org Git - icinga2/commitdiff
Implemented external command "SHUTDOWN_PROGRAM".
authorGunnar Beutner <gunnar.beutner@netways.de>
Tue, 22 Jan 2013 15:23:25 +0000 (16:23 +0100)
committerGunnar Beutner <gunnar.beutner@netways.de>
Tue, 22 Jan 2013 15:24:41 +0000 (16:24 +0100)
lib/icinga/externalcommand.cpp
lib/icinga/externalcommand.h

index fc583aebb9c1996bcc8323462e2bce4b1b5c71fb..56d3d232dd54c2534e3349c4b2351460ebdb8f25 100644 (file)
@@ -33,6 +33,7 @@ void ExternalCommand::Execute(double time, const String& command, const vector<S
                RegisterCommand("SCHEDULE_FORCED_SVC_CHECK", &ExternalCommand::ScheduleForcedSvcCheck);
                RegisterCommand("ENABLE_SVC_CHECK", &ExternalCommand::EnableSvcCheck);
                RegisterCommand("DISABLE_SVC_CHECK", &ExternalCommand::DisableSvcCheck);
+               RegisterCommand("SHUTDOWN_PROCESS", &ExternalCommand::ShutdownProcess);
 
                m_Initialized = true;
        }
@@ -145,3 +146,9 @@ void ExternalCommand::DisableSvcCheck(double time, const vector<String>& argumen
        service->SetEnableChecks(false);
 }
 
+void ExternalCommand::ShutdownProcess(double time, const vector<String>& arguments)
+{
+       Logger::Write(LogInformation, "icinga", "Shutting down Icinga via external command.");
+       Application::RequestShutdown();
+}
+
index dea2f72c4bad01b0b5c5d121507dd655ff83e267..4881ed143809d6f98a0e69f100ddd00ef1c87c5e 100644 (file)
@@ -34,6 +34,7 @@ public:
        static void ScheduleForcedSvcCheck(double time, const vector<String>& arguments);
        static void EnableSvcCheck(double time, const vector<String>& arguments);
        static void DisableSvcCheck(double time, const vector<String>& arguments);
+       static void ShutdownProcess(double time, const vector<String>& arguments);
 
 private:
        typedef function<void (double time, const vector<String>& arguments)> Callback;