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 
						 
				 
			
				
					
						
							
							
								Alexander A. Klimov 
							
						 
					 
					
						
						
						
						
							
						
						
							8bcae97ecc 
							
						 
					 
					
						
						
							
							Introduce Dictionary#GetRef()  
						
						
						
						
					 
					
						2023-12-13 16:02:50 +01:00 
						 
				 
			
				
					
						
							
							
								Julian Brost 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e074e892ce 
							
						 
					 
					
						
						
							
							Merge pull request  #9658  from Icinga/unfreeze  
						
						... 
						
						
						
						Dictionary#*(): remove bool overrideFrozen if unused 
						
						
					 
					
						2023-02-10 19:42:00 +01:00 
						 
				 
			
				
					
						
							
							
								Alexander A. Klimov 
							
						 
					 
					
						
						
						
						
							
						
						
							cd78da13d3 
							
						 
					 
					
						
						
							
							Dictionary#Clear(): remove unused bool overrideFrozen  
						
						
						
						
					 
					
						2023-02-10 11:33:46 +01:00 
						 
				 
			
				
					
						
							
							
								Alexander A. Klimov 
							
						 
					 
					
						
						
						
						
							
						
						
							270c6392d4 
							
						 
					 
					
						
						
							
							Dictionary#Remove(): remove unused bool overrideFrozen  
						
						
						
						
					 
					
						2023-02-10 11:33:46 +01:00 
						 
				 
			
				
					
						
							
							
								Alexander A. Klimov 
							
						 
					 
					
						
						
						
						
							
						
						
							ca547d0292 
							
						 
					 
					
						
						
							
							Use a shared_mutex for read Dictionary operations  
						
						... 
						
						
						
						This allows multiple parallel read operations resulting
in a overall speedup on systems with many cores. 
						
						
					 
					
						2023-02-10 11:31:51 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							f40f366e9e 
							
						 
					 
					
						
						
							
							Remove unnecessary inline statements  
						
						... 
						
						
						
						fixes  #5886  
					
						2017-12-20 13:22:38 +01:00 
						 
				 
			
				
					
						
							
							
								Gunnar Beutner 
							
						 
					 
					
						
						
						
						
							
						
						
							42744fde5b 
							
						 
					 
					
						
						
							
							Remove extraneous whitespace  
						
						
						
						
					 
					
						2017-12-14 08:50:09 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							7879c09789 
							
						 
					 
					
						
						
							
							Avoid unnecessary dictionary lookups  
						
						... 
						
						
						
						refs #12555  
						
						
					 
					
						2016-09-01 07:41:41 +02:00 
						 
				 
			
				
					
						
							
							
								Gunnar Beutner 
							
						 
					 
					
						
						
						
						
							
						
						
							5127a193b4 
							
						 
					 
					
						
						
							
							Avoid unnecessary copies when using Dictionary::Pair in loops  
						
						... 
						
						
						
						refs #12509  
						
						
					 
					
						2016-08-30 23:01:54 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Gunnar Beutner 
							
						 
					 
					
						
						
						
						
							
						
						
							91da55872d 
							
						 
					 
					
						
						
							
							Avoid unnecessary dictionary lookups  
						
						... 
						
						
						
						fixes  #8922  
					
						2015-03-31 11:45:38 +02:00 
						 
				 
			
				
					
						
							
							
								Gunnar Beutner 
							
						 
					 
					
						
						
						
						
							
						
						
							43f709c22a 
							
						 
					 
					
						
						
							
							Fix complexity class for Dictionary::Get  
						
						... 
						
						
						
						fixes  #8919  
					
						2015-03-31 10:39:02 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							9181d7ae05 
							
						 
					 
					
						
						
							
							Add missing service name in check results  
						
						... 
						
						
						
						refs #8257  
						
						
					 
					
						2015-03-05 20:50:27 +01:00 
						 
				 
			
				
					
						
							
							
								Gunnar Beutner 
							
						 
					 
					
						
						
						
						
							
						
						
							fb323ee215 
							
						 
					 
					
						
						
							
							Evaluate apply filters in the for loop  
						
						... 
						
						
						
						fixes  #7610  
					
						2015-01-29 12:38:25 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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