]> granicus.if.org Git - icinga2/commitdiff
Implement the exit() script function.
authorGunnar Beutner <gunnar.beutner@netways.de>
Sun, 23 Mar 2014 16:26:36 +0000 (17:26 +0100)
committerGunnar Beutner <gunnar.beutner@netways.de>
Sun, 23 Mar 2014 16:26:36 +0000 (17:26 +0100)
Refs #5846

lib/base/scriptutils.cpp
lib/base/scriptutils.h

index 2b07408d3321a218f84415bd71afe6f3a78f32a8..0828f75eea56f573a7cf7f2473236c72a186c407 100644 (file)
@@ -25,6 +25,7 @@
 #include "base/dictionary.h"
 #include "base/serializer.h"
 #include "base/logger_fwd.h"
+#include "base/application.h"
 #include <boost/regex.hpp>
 #include <algorithm>
 #include <set>
@@ -37,6 +38,7 @@ REGISTER_SCRIPTFUNCTION(len, &ScriptUtils::Len);
 REGISTER_SCRIPTFUNCTION(union, &ScriptUtils::Union);
 REGISTER_SCRIPTFUNCTION(intersection, &ScriptUtils::Intersection);
 REGISTER_SCRIPTFUNCTION(log, &ScriptUtils::Log);
+REGISTER_SCRIPTFUNCTION(exit, &ScriptUtils::Exit);
 
 bool ScriptUtils::Regex(const String& pattern, const String& text)
 {
@@ -109,3 +111,8 @@ void ScriptUtils::Log(const Value& message)
        else
                ::Log(LogInformation, "config", JsonSerialize(message));
 }
+
+void ScriptUtils::Exit(int code)
+{
+       exit(code);
+}
index a23fd3317bb1a30ec1a36ba0057b306ada3dfc78..043b12cbba83220bfa4bfd66239083bfbe370252 100644 (file)
@@ -38,6 +38,7 @@ public:
        static Array::Ptr Union(const std::vector<Value>& arguments);
        static Array::Ptr Intersection(const std::vector<Value>& arguments);
        static void Log(const Value& message);
+       static void Exit(int code);
 
 private:
        ScriptUtils(void);