xref: /aoo4110/main/framework/inc/macros/debug.hxx (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski 
24*b1cdbd2cSJim Jagielski #ifndef __FRAMEWORK_MACROS_DEBUG_HXX_
25*b1cdbd2cSJim Jagielski #define __FRAMEWORK_MACROS_DEBUG_HXX_
26*b1cdbd2cSJim Jagielski 
27*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
28*b1cdbd2cSJim Jagielski //	Disable all feature of this file in produkt version!
29*b1cdbd2cSJim Jagielski //	But enable normal assertion handling (as messagebox) in normal debug version.
30*b1cdbd2cSJim Jagielski //	User can overwrite these adjustment with his own values! We will do it only if nothing is set.
31*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
32*b1cdbd2cSJim Jagielski 
33*b1cdbd2cSJim Jagielski //-----------------------------------------------------------------------------------------------------------------
34*b1cdbd2cSJim Jagielski // => "personal debug code"
35*b1cdbd2cSJim Jagielski #if OSL_DEBUG_LEVEL > 1
36*b1cdbd2cSJim Jagielski 
37*b1cdbd2cSJim Jagielski     // Enable log mechanism for normal assertion and error handling.
38*b1cdbd2cSJim Jagielski     // Look for user decisions before!
39*b1cdbd2cSJim Jagielski 	#ifndef	ENABLE_LOGMECHANISM
40*b1cdbd2cSJim Jagielski 		#define	ENABLE_LOGMECHANISM
41*b1cdbd2cSJim Jagielski 	#endif
42*b1cdbd2cSJim Jagielski     // Enable assertion handling himself AND additional warnings.
43*b1cdbd2cSJim Jagielski 	// The default logtype is MESSAGEBOX.
44*b1cdbd2cSJim Jagielski 	// see "assertion.hxx" for further informations
45*b1cdbd2cSJim Jagielski 	#ifndef	ENABLE_ASSERTIONS
46*b1cdbd2cSJim Jagielski 		#define	ENABLE_ASSERTIONS
47*b1cdbd2cSJim Jagielski 	#endif
48*b1cdbd2cSJim Jagielski     #ifndef ENABLE_WARNINGS
49*b1cdbd2cSJim Jagielski         #define ENABLE_WARNINGS
50*b1cdbd2cSJim Jagielski 	#endif
51*b1cdbd2cSJim Jagielski 
52*b1cdbd2cSJim Jagielski //-----------------------------------------------------------------------------------------------------------------
53*b1cdbd2cSJim Jagielski // => "non product"
54*b1cdbd2cSJim Jagielski #elif OSL_DEBUG_LEVEL > 0
55*b1cdbd2cSJim Jagielski 
56*b1cdbd2cSJim Jagielski     // Enable log mechanism for normal assertion and error handling.
57*b1cdbd2cSJim Jagielski     // Look for user decisions before!
58*b1cdbd2cSJim Jagielski 	#ifndef	ENABLE_LOGMECHANISM
59*b1cdbd2cSJim Jagielski 		#define	ENABLE_LOGMECHANISM
60*b1cdbd2cSJim Jagielski 	#endif
61*b1cdbd2cSJim Jagielski 	// Enable assertion handling himself.
62*b1cdbd2cSJim Jagielski 	// The default logtype is MESSAGEBOX.
63*b1cdbd2cSJim Jagielski 	// see "assertion.hxx" for further informations
64*b1cdbd2cSJim Jagielski 	#ifndef	ENABLE_ASSERTIONS
65*b1cdbd2cSJim Jagielski 		#define	ENABLE_ASSERTIONS
66*b1cdbd2cSJim Jagielski 	#endif
67*b1cdbd2cSJim Jagielski 
68*b1cdbd2cSJim Jagielski //-----------------------------------------------------------------------------------------------------------------
69*b1cdbd2cSJim Jagielski // => "product" (OSL_DEBUG_LEVEL == 0)
70*b1cdbd2cSJim Jagielski #else
71*b1cdbd2cSJim Jagielski 
72*b1cdbd2cSJim Jagielski     #undef  ENABLE_LOGMECHANISM
73*b1cdbd2cSJim Jagielski     #undef  ENABLE_ASSERTIONS
74*b1cdbd2cSJim Jagielski     #undef  ENABLE_WARNINGS
75*b1cdbd2cSJim Jagielski 	#undef	ENABLE_EVENTDEBUG
76*b1cdbd2cSJim Jagielski 	#undef	ENABLE_REGISTRATIONDEBUG
77*b1cdbd2cSJim Jagielski 	#undef	ENABLE_TARGETINGDEBUG
78*b1cdbd2cSJim Jagielski     #undef  ENABLE_MUTEXDEBUG
79*b1cdbd2cSJim Jagielski //    #undef  ENABLE_TIMEMEASURE
80*b1cdbd2cSJim Jagielski     #undef  ENABLE_MEMORYMEASURE
81*b1cdbd2cSJim Jagielski     #undef  ENABLE_FILTERDBG
82*b1cdbd2cSJim Jagielski 
83*b1cdbd2cSJim Jagielski #endif
84*b1cdbd2cSJim Jagielski 
85*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
86*b1cdbd2cSJim Jagielski //	generic macros for logging
87*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
88*b1cdbd2cSJim Jagielski 
89*b1cdbd2cSJim Jagielski #include <macros/debug/logmechanism.hxx>
90*b1cdbd2cSJim Jagielski 
91*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
92*b1cdbd2cSJim Jagielski //	special macros for assertion handling
93*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
94*b1cdbd2cSJim Jagielski #include <macros/debug/assertion.hxx>
95*b1cdbd2cSJim Jagielski 
96*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
97*b1cdbd2cSJim Jagielski //	special macros for event handling
98*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
99*b1cdbd2cSJim Jagielski #include <macros/debug/event.hxx>
100*b1cdbd2cSJim Jagielski 
101*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
102*b1cdbd2cSJim Jagielski //	special macros to debug service registration
103*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
104*b1cdbd2cSJim Jagielski #include <macros/debug/registration.hxx>
105*b1cdbd2cSJim Jagielski 
106*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
107*b1cdbd2cSJim Jagielski //	special macros to debug targeting of frames
108*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
109*b1cdbd2cSJim Jagielski #include <macros/debug/targeting.hxx>
110*b1cdbd2cSJim Jagielski 
111*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
112*b1cdbd2cSJim Jagielski //  special macros to debug threading mechanism
113*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
114*b1cdbd2cSJim Jagielski #include <macros/debug/mutex.hxx>
115*b1cdbd2cSJim Jagielski 
116*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
117*b1cdbd2cSJim Jagielski //  special macros to measure times of some operations
118*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
119*b1cdbd2cSJim Jagielski 
120*b1cdbd2cSJim Jagielski /*OBSOLETE
121*b1cdbd2cSJim Jagielski #include <macros/debug/timemeasure.hxx>
122*b1cdbd2cSJim Jagielski */
123*b1cdbd2cSJim Jagielski 
124*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
125*b1cdbd2cSJim Jagielski //  special macros to debug our filter cache!
126*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
127*b1cdbd2cSJim Jagielski #include <macros/debug/filterdbg.hxx>
128*b1cdbd2cSJim Jagielski 
129*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
130*b1cdbd2cSJim Jagielski //	end of file
131*b1cdbd2cSJim Jagielski //*****************************************************************************************************************
132*b1cdbd2cSJim Jagielski 
133*b1cdbd2cSJim Jagielski #endif	// #ifndef __FRAMEWORK_MACROS_DEBUG_HXX_
134