]> granicus.if.org Git - icinga2/blob - lib/base/scriptutils.hpp
Merge pull request #7185 from Icinga/bugfix/gelfwriter-wrong-log-facility
[icinga2] / lib / base / scriptutils.hpp
1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
2
3 #ifndef SCRIPTUTILS_H
4 #define SCRIPTUTILS_H
5
6 #include "base/i2-base.hpp"
7 #include "base/string.hpp"
8 #include "base/array.hpp"
9 #include "base/dictionary.hpp"
10 #include "base/type.hpp"
11 #include "base/configobject.hpp"
12
13 namespace icinga
14 {
15
16 /**
17  * @ingroup base
18  */
19 class ScriptUtils
20 {
21 public:
22         static void StaticInitialize();
23         static String CastString(const Value& value);
24         static double CastNumber(const Value& value);
25         static bool CastBool(const Value& value);
26         static bool Regex(const std::vector<Value>& args);
27         static bool Match(const std::vector<Value>& args);
28         static bool CidrMatch(const std::vector<Value>& args);
29         static double Len(const Value& value);
30         static Array::Ptr Union(const std::vector<Value>& arguments);
31         static Array::Ptr Intersection(const std::vector<Value>& arguments);
32         static void Log(const std::vector<Value>& arguments);
33         static Array::Ptr Range(const std::vector<Value>& arguments);
34         static Type::Ptr TypeOf(const Value& value);
35         static Array::Ptr Keys(const Object::Ptr& obj);
36         static ConfigObject::Ptr GetObject(const Value& type, const String& name);
37         static Array::Ptr GetObjects(const Type::Ptr& type);
38         static void Assert(const Value& arg);
39         static String MsiGetComponentPathShim(const String& component);
40         static Array::Ptr TrackParents(const Object::Ptr& parent);
41         static double Ptr(const Object::Ptr& object);
42         static Value Glob(const std::vector<Value>& args);
43         static Value GlobRecursive(const std::vector<Value>& args);
44         static String GetEnv(const String& key);
45
46 private:
47         ScriptUtils();
48 };
49
50 }
51
52 #endif /* SCRIPTUTILS_H */