Julian Brost
0503ca1379
Initialize namespaces without using `overrideFrozen`
...
This commit adds a new initialization priority `FreezeNamespaces` that is run
last and moves all calls to `Namespace::Freeze()` there. This allows all other
initialization functions to still update namespaces without the use of the
`overrideFrozen` flag.
It also moves the initialization of `System.Platform*` and `System.Build*` to
an initialize function so that these can also be set without setting
`overrideFrozen`.
This is preparation for a following commit that will make the frozen flag in
namespaces finial, no longer allowing it to be overriden (freezing the
namespace will disable locking, so performing further updates would be unsafe).
2023-01-19 09:53:36 +01:00
Yonas Habteab
43ba2da39c
Replace std/boost::bind() function with lambda expression
2021-03-10 16:29:40 +01:00
Michael Friedrich
1cda421bad
DSL: Add get_template{,s}
...
Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2019-11-08 11:13:26 +01:00
Michael Friedrich
d14a88235d
Replace Copyright header with a short version, part I
...
CLion -> replace in path
2019-02-25 14:48:22 +01:00
Michael Friedrich
f3cd3eb870
DSL: Implement getenv()
...
This patch also restores Utility::GetFromEnvironment()
and replaces the hardcoded `getenv()` calls.
2018-11-19 18:11:16 +01:00
Michael Friedrich
dab53448bc
icinga.com: Update *.{h,c}pp
2018-10-18 09:27:04 +02:00
Gunnar Beutner
1a0311a49f
Implement namespace support for the keys() function
2018-08-13 13:44:31 +02:00
Gunnar Beutner
1a8692d972
Implement support for namespaces
2018-08-13 13:44:31 +02:00
Gunnar Beutner
d9c0b6f806
Refactor REGISTER_SCRIPTFUNCTION_* macros
2018-08-13 13:44:31 +02:00
Jean Flach
2e3a1ff0c6
Merge pull request #6498 from Icinga/bugfix/match-regex-match-any-regression
...
Fix regression with MatchAny false conditions on match/regex/cidr_match
2018-07-27 17:28:13 +02:00
Michael Friedrich
72c0f07661
Fix regression with MatchAny false conditions on match/regex/cidr_match
...
fixes #6496
2018-07-27 16:55:37 +02:00
Michael Friedrich
8e682ce9b1
Improve error logging for match/regex/cidr_match functions and unsupported dictionary usage
...
fixes #6442
2018-07-27 16:34:50 +02:00
Gunnar Beutner
c2fb9fe226
Use initializer lists for arrays and dictionaries
2018-01-16 12:27:44 +01:00
Gunnar Beutner
e3ad0be769
Apply clang-tidy fix 'modernize-use-auto'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
ac155d1dda
Apply clang-tidy fix 'modernize-redundant-void-arg'
2018-01-04 12:24:57 +01:00
Michael Insel
158ae2188e
Change copyright header for 2018
2018-01-02 12:08:55 +01:00
Jean Flach
2636e6a77a
Whitespace fix
...
What does this change?
* Remove use of spaces for formatting
These could be found by using `grep -r -l -P '^\t+ +[^*]'
* Removal of training whitespaces
* A few lines longer than 120 chars
2017-12-20 14:53:52 +01:00
Gunnar Beutner
80b72cfb1c
Avoid allocations in ScriptUtils::Match
2017-12-18 13:40:21 +01:00
Gunnar Beutner
325e4a2fb9
Use nullptr instead of <Type>::Ptr()
2017-11-30 17:47:09 +01:00
Gunnar Beutner
9ce950b0f1
Replace boost::ref/boost::cref with std::ref/std::cref
2017-11-30 17:47:09 +01:00
Gunnar Beutner
858873b940
Replace boost::bind/boost::function with std::bind/std::function
2017-11-27 15:15:11 +01:00
Michael Friedrich
c0a3de64fb
Fix match(), regex(), cidr_match() behaviour with MatchAll and empty arrays
...
fixes #5634
2017-09-29 14:45:15 +02:00
Gunnar Beutner
5179faceab
Implement new script functions: path_exists, glob and glob_recursive
2017-09-18 13:59:03 +02:00
Gunnar Beutner
958d3982c5
Add 'mode' argument for match, regex and cidr_match
2017-05-16 13:22:10 +02:00
Gunnar Beutner
5d45c74be3
Improve function metadata by adding arguments
...
fixes #5087
2017-03-27 14:43:19 +02:00
Michael Friedrich
b7caf0820d
Ensure that *.icinga.com is used everywhere
...
fixes #13897
fixes #13277
2017-01-10 17:19:12 +01:00
Gunnar Beutner
288413f046
Replace BOOST_FOREACH with range-based for loops
...
fixes #12538
2016-08-25 06:46:17 +02:00
Gunnar Beutner
b7a1b58069
Improve performance for type lookups
...
fixes #12448
2016-08-16 11:02:33 +02:00
Gunnar Beutner
12ea2a6445
Implement the System#sleep function
...
fixes #12411
2016-08-12 15:22:10 +02:00
Gunnar Beutner
c5a170a972
Implement support for namespaces
...
fixes #12408
2016-08-12 11:32:16 +02:00
Gunnar Beutner
ff293661fc
Rename/Remove experimental script functions
...
fixes #12332
2016-08-09 10:43:55 +02:00
Gunnar Beutner
caf2812f0d
Implement the __ptr function
...
fixes #12205
2016-07-22 09:43:59 +02:00
Gunnar Beutner
599929b0f6
Update copyright headers for 2016
2016-01-12 08:29:59 +01:00
Gunnar Beutner
06a0f182a5
Implement the cidr_match function
...
fixes #10354
2015-10-14 10:14:01 +02:00
Gunnar Beutner
08ccb4e323
Build fix
...
refs #10245
2015-09-30 11:05:20 +02:00
Gunnar Beutner
254c076dd4
Fix incorrectly escaped arguments for CreateProcess
...
fixes #10245
2015-09-30 10:56:31 +02:00
Gunnar Beutner
373b88df33
Implement the escape_shell_arg and escape_shell_cmd functions
...
fixes #10004
2015-08-27 09:02:21 +02:00
Jean Flach
73d8ffb462
Fix range() with negative increments
...
fixes #9999
2015-08-26 16:38:26 +02:00
Gunnar Beutner
f45f6ccd82
Implement support for tracking dependencies between config objects
...
refs #9096
2015-08-25 13:54:05 +02:00
Gunnar Beutner
071d2f18fb
Rename DynamicObject/DynamicType to ConfigObject/ConfigType
...
fixes #9914
2015-08-15 20:40:41 +02:00
Gunnar Beutner
3d78870339
Implement support for modified attributes in the API
...
refs #9081
2015-08-15 20:07:11 +02:00
Gunnar Beutner
26338c0fa6
Add missing lock in ScriptUtils::Union
...
fixes #9622
2015-07-15 08:26:58 +02:00
Gunnar Beutner
d98f9a3c92
Fix failed assertion in ScriptUtils::Intersection
...
fixes #9621
2015-07-15 08:20:16 +02:00
Michael Friedrich
228e1a11a2
Fix unregistered function failure including <nscp> on Linux
...
fixes #9394
2015-06-15 10:30:13 +02:00
Gunnar Beutner
24ae02386a
Implement the basename and dirname script functions
...
refs #9256
2015-05-13 09:46:59 +02:00
Gunnar Beutner
62c755f88c
Determine NSClient++ installation path using MsiGetComponentPath
...
fixes #9256
2015-05-12 15:45:40 +02:00
Gunnar Beutner
d93bcedaad
Implement sandbox mode for the config parser
...
fixes #9068
2015-04-16 08:48:17 +02:00
Gunnar Beutner
ec7224e3ed
Generate C++ code for type validators
...
fixes #7709
fixes #8867
2015-03-27 07:59:27 +01:00
Gunnar Beutner
16ef84fd35
Use TypeInstance field instead of looking up types by name
...
fixes #8817
2015-03-20 08:15:07 +01:00
Gunnar Beutner
5ceb64d649
Implement the get_time() function
2015-02-24 09:08:31 +01:00