Yonas Habteab
398b5e3193
Implement LockIfRequired()
method for Namespace
, Dictionary
& Array
2025-07-10 18:09:21 +02:00
Yonas Habteab
57726fbb66
Do not require olock on frozen Namespace
, Dictionary
& Array
2025-07-10 18:09:21 +02:00
Julian Brost
0ebcd2662d
No longer allow overriding the frozen attribute of containers
...
The Array, Dictionary, and Namespace types provide a Freeze() method that makes
them read-only. So far, there was the possibility to call some methods with
`overrideFrozen=true` which would then bypass the corresponding check and allow
modification of the data structures nonetheless.
With 24b57f0d3a222835178e88489eabd595755ed883, this possibility was already
removed from the Namespace type. However, for interface compatibility, it kept
the parameter and just ignores it, throwing an exception on any modification on
a frozen instance.
The only place using `overrideFrozen` was processing of the `-D`/`--define`
command line flag that allows setting additional variables in the DSL. At the
time it is evaluated, there are no user-created data structures yet that could
be frozen, so the only frozen objects that could be encountered are Namespaces
(Icinga doesn't freeze other types by itself) and for these, `overrideFrozen`
already has no effect.
Hence, there is no harm in removing `overrideFrozen` altogether. This
simplifies the code and also means that frozen objects are now indeed read-only
without exceptions, allowing further optimizations regarding locking in the
future.
2025-07-08 14:16:20 +02:00
Michael Friedrich
38b7f10e0e
Array: Move Join into the base class, available for programmers
2019-07-12 14:36:55 +02: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
dab53448bc
icinga.com: Update *.{h,c}pp
2018-10-18 09:27:04 +02:00
Gunnar Beutner
9d513d8f05
Implement support for modifying frozen attributes
2018-08-13 13:44:31 +02:00
Michael Friedrich
6660a45c41
Implement Array::Unique() and add unit tests
...
refs #4732
2018-05-09 17:25:55 +02:00
Gunnar Beutner
e361b3c427
Implement support for frozen arrays and dictionaries
2018-01-30 12:22:04 +01:00
Gunnar Beutner
c2fb9fe226
Use initializer lists for arrays and dictionaries
2018-01-16 12:27:44 +01:00
Gunnar Beutner
91c256261a
Apply clang-tidy fix 'modernize-use-default-member-init'
2018-01-04 12:24:58 +01:00
Gunnar Beutner
621eed3f13
Apply clang-tidy fix 'modernize-pass-by-value'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
9ca682496c
Apply clang-tidy fix 'modernize-use-override'
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
Gunnar Beutner
efe99a3e5e
Add the final keyword to classes
2018-01-04 05:20:20 +00:00
Gunnar Beutner
fe8572d75b
Remove inline methods and use explicit template instantiation to minimize the number of weak symbols
2018-01-03 11:04:58 +01:00
Gunnar Beutner
90496b5456
Build libraries as static libraries
2018-01-02 23:29:48 +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
Jean Flach
f40f366e9e
Remove unnecessary inline statements
...
fixes #5886
2017-12-20 13:22:38 +01:00
Gunnar Beutner
3c5af89d5f
Fix compiler warnings
2017-12-14 09:15:37 +01: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
eafe4c578d
Avoid unnecessary copies for the DebugHint class
...
refs #12509
2016-08-27 18:43:14 +02:00
Gunnar Beutner
56ba6089d0
Add rvalue support for the Array and Dictionary classes
...
refs #12555
2016-08-27 07:42:28 +02:00
Gunnar Beutner
288413f046
Replace BOOST_FOREACH with range-based for loops
...
fixes #12538
2016-08-25 06:46:17 +02:00
Gunnar Beutner
2e8d3d3934
Implement support for incremental IDO updates
...
fixes #12435
2016-08-15 14:43:11 +02:00
Gunnar Beutner
a3815e4efd
Add map/reduce and filter functionality for the Array class
...
fixes #12247
2016-07-29 10:48:15 +02:00
Gunnar Beutner
3008d5ef31
Improve performance for field accesses
...
fixes #11612
2016-04-18 17:05:22 +02:00
Gunnar Beutner
599929b0f6
Update copyright headers for 2016
2016-01-12 08:29:59 +01:00
Gunnar Beutner
dd77863910
Implement Array::ToString and Dictionary::ToString
...
fixes #10329
2015-10-26 11:05:24 +01:00
Michael Friedrich
286538c17e
Implement api event streams
...
Documentation is not yet complete.
refs #9078
2015-10-21 15:34:26 +02:00
Gunnar Beutner
eeb01831c0
Implement the Array#reverse and String#reverse methods
...
fixes #10197
2015-09-23 09:06:15 +02:00
Gunnar Beutner
d118b71a2a
Fix compiler warnings
...
fixes #9929
2015-08-18 07:46:04 +02:00
Michael Friedrich
428be72bab
Implement Object#clone and rename Array/Dictionary#clone to shallow_clone
...
fixes #9931
2015-08-17 13:59:49 +02:00
Michael Friedrich
a786dfa2ca
Add Array::FromVector() method
...
fixes #9693
2015-07-21 16:09:19 +02:00
Gunnar Beutner
2cbc3142dc
Avoid some unnecessary PLT indirections for constructor calls
...
refs #8890
2015-03-28 16:13:44 +01:00
Gunnar Beutner
37aa3413d8
Allow some of the Array and Dictionary methods to be inlined by the compiler
...
fixes #8666
2015-03-10 13:46:24 +01:00
Gunnar Beutner
afd1927a98
Improve Livestatus query performance
...
fixes #8594
2015-03-04 10:58:22 +01:00
Michael Friedrich
78bfd0204c
Update copyright year
2015-01-22 12:00:23 +01:00
Gunnar Beutner
aa38dde1fc
Implement prototype functions
...
fixes #8065
2014-12-12 15:22:37 +01:00
Gunnar Beutner
16cf274efc
Improve test coverage for the array class
2014-11-23 09:50:11 +01:00
Gunnar Beutner
814589ac17
Use Array::Contains in InExpression/NotInExpression
2014-11-15 08:22:32 +01:00
Gunnar Beutner
a6f20c7a22
Implement support for arbitrarily complex indexers
...
fixes #7566
2014-11-04 15:20:33 +01:00
Gunnar Beutner
170c5a59e4
Implement typeof() function
2014-11-03 00:45:14 +01:00
Gunnar Beutner
7559273359
Replace cJSON with YAJL
...
fixes #7452
2014-10-26 20:00:35 +01:00
Gunnar Beutner
634ef772c3
Build fix for Boost 1.56
...
fixes #7001
2014-08-25 15:12:39 +02:00
Gunnar Beutner
632026cd9f
Rename C++ header files.
...
Fixes #6291
2014-05-25 16:27:14 +02:00