april  1.0.0
...
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
april_debug.h
Go to the documentation of this file.
1 /* ========================================================================= */
2 /* ------------------------------------------------------------------------- *//*
11 
12 
13  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14  Please read COPYING and README files in root folder
15  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16 */
17 /* ------------------------------------------------------------------------- */
18 /* ========================================================================= */
19 #ifndef __APRIL_DEBUG_INC__
20 #define __APRIL_DEBUG_INC__
21 //
22 //
23 //
24 //
25 /* INCLUDES ------------------------------------------------------------ */
26 
27 /* we make sure we have the user settings before this file */
28 #include <april/april_global.h>
29 #include <april/april_config.h>
30 
31 /* INCLUDES ============================================================ */
32 //
33 //
34 //
35 //
36 /* DEFINITIONS --------------------------------------------------------- */
37 
38 
49  APRDBG_CTORDTOR, /* all constructors and destructors */
50  APRDBG_V_CTORDTOR, /* constructors and destructors called a lot */
51  APRDBG_LIBRARY, /* library in general */
52  APRDBG_MW, /* main window of an application */
53 
54  APRDBG_F, /* factory */
55  APRDBG_A, /* actor */
56  APRDBG_FA, /* actor factory */
57  APRDBG_ACMP, /* actor component */
58  APRDBG_AT, /* actuator */
59  APRDBG_FAT, /* actuator factory */
60  APRDBG_B, /* brain */
61  APRDBG_FB, /* brain factory */
62  APRDBG_COMP, /* component */
63  APRDBG_DIR, /* director */
64  APRDBG_DNA, /* DNA */
65  APRDBG_DNAV, /* DNA View*/
66  APRDBG_ED, /* event data */
67  APRDBG_EL, /* event line */
68  APRDBG_ES, /* event source */
69  APRDBG_FES, /* event source factory */
70  APRDBG_R, /* reflex */
71  APRDBG_FR, /* reflex factory */
72  APRDBG_S, /* sensor */
73  APRDBG_FS, /* sensor factory */
74  APRDBG_W, /* world */
75  APRDBG_FW, /* world factory */
76  APRDBG_UID, /* unique id */
77 
78  APRDBG_MAX
79 };
80 
81 
82 #ifndef ENABLE_LOGGING
83 # ifndef QT_NO_DEBUG
84 
86 # define ENABLE_LOGGING 1
87 
88 # else
89 
91 # define ENABLE_LOGGING 0
92 
93 # endif
94 #endif
95 
96 #if ENABLE_LOGGING
97 # include <QDebug>
98 
99 /* IS_APRIL_DEBUG_ID_ALLOWED should be defined in LIBAPRIL_config.h */
100 #ifndef IS_APRIL_DEBUG_ID_ALLOWED
101 
103 # define IS_APRIL_DEBUG_ID_ALLOWED( id ) false
104 
105 #endif
106 
109 # define APRDBG(id,txt) \
110  if ( IS_APRIL_DEBUG_ID_ALLOWED( id ) ) \
111  qDebug() << april::debugName(id) << ": " << txt
112 # define APRDBG2(id,txt1,txt2) \
113  if ( IS_APRIL_DEBUG_ID_ALLOWED( id ) ) \
114  qDebug() << april::debugName(id) << ": " << txt1 << txt2
115 # define APRDBG3(id,txt1,txt2,txt3) \
116  if ( IS_APRIL_DEBUG_ID_ALLOWED( id ) ) \
117  qDebug() << april::debugName(id) << ": " << txt1 << txt2 << txt3
118 # define APRDBG_FUNC(id) APRDBG(id, __func__ )
119 # define APRDBG_CDTOR APRDBG2(APRDBG_CTORDTOR, __func__, this )
120 
121 
122 
123 #else
124 
125 
126 # define APRDBG(id,txt)
127 # define APRDBG2(id,txt1,txt2)
128 # define APRDBG3(id,txt1,txt2,txt3)
129 # define APRDBG_FUNC(id)
130 # define APRDBG_CDTOR
131 
132 #endif
133 
134 
135 
136 
137 
138 /* DEFINITIONS ========================================================= */
139 //
140 //
141 //
142 //
143 /* DATA ---------------------------------------------------------------- */
144 
145 /* DATA ================================================================ */
146 //
147 //
148 //
149 //
150 /* FUNCTIONS ----------------------------------------------------------- */
151 
152 namespace april {
153 
155 APRILSHARED_EXPORT const char * debugName ( int i );
156 
158 APRILSHARED_EXPORT bool filterDebug ( int i );
159 
160 }
161 
162 /* FUNCTIONS =========================================================== */
163 //
164 //
165 //
166 //
167 #endif // __APRIL_DEBUG_INC__
168 /* ------------------------------------------------------------------------- */
169 /* ========================================================================= */