Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/branches/trackManager/src/debug.h @ 3430

Last change on this file since 3430 was 3430, checked in by bensch, 19 years ago

orxonox/branches/trackManager: merged trunk back to trackManager
merged with command
svn merge -r 3369:HEAD trunk/ branches/trackManager
resoloved conflicts in favor of the trunk.

File size: 3.2 KB
RevLine 
[3430]1/*
2   orxonox - the future of 3D-vertical-scrollers
3
4   Copyright (C) 2004 orx
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11   ### File Specific:
12   main-programmer: Benjamin Grauer
13   co-programmer: ...
14*/
15
16/*!
17    \file debug.h
18    \brief Handles output to console for different Verbose-Modes.
19*/ 
20
[3204]21#ifndef _DEBUG_H
22#define _DEBUG_H
23
[3430]24#define NO              0
25#define ERROR           1
26#define WARNING         2
27#define INFORMATION     3
28#define DEBUGING        4
[3293]29
[3430]30#include <stdio.h>
31
[3293]32///////////////////////////////////////////////////
33/// PRINTF: prints with filename and linenumber ///
34///////////////////////////////////////////////////
35
[3204]36#ifdef  DEBUG
[3365]37extern int verbose;
[3205]38#define PRINTF(x) \
39           PRINTF ## x
40
[3430]41#if DEBUG >= ERROR
[3205]42#define PRINTF1 \
[3430]43    if (verbose >= ERROR) \
[3212]44      printf("%s:%d::", __FILE__, __LINE__) && printf
[3205]45#else
[3430]46#define PRINTF1 if (NO)
[3205]47#endif
48     
[3430]49#if DEBUG >= WARNING
[3205]50#define PRINTF2 \
[3430]51     if (verbose >= WARNING) \
[3212]52       printf("%s:%d::", __FILE__, __LINE__) && printf
[3206]53         
[3205]54#else
[3430]55#define PRINTF2 if (NO)
[3205]56#endif
57     
[3430]58#if DEBUG >= INFORMATION
[3205]59#define PRINTF3 \
[3430]60     if (verbose >= INFORMATION) \
[3212]61       printf("%s:%d::", __FILE__, __LINE__) && printf
[3205]62#else
[3430]63#define PRINTF3 if (NO)
[3205]64#endif
65     
[3430]66#if DEBUG >= DEBUGING
[3205]67#define PRINTF4 \
[3430]68     if (verbose >= DEBUGING) \
[3212]69       printf("%s:%d::", __FILE__, __LINE__) && printf
[3205]70#else
[3430]71#define PRINTF4 if (NO)
[3205]72#endif
73     
74     
[3204]75#else 
[3430]76#define PRINTF(x) if (NO)
[3204]77#endif
78
[3206]79#define PRINTF0 \
[3212]80    printf("%s:%d::", __FILE__, __LINE__) && printf
[3204]81
[3293]82
83///////////////////////////////////////////////////
84///  PRINT: just prints output as is            ///
85///////////////////////////////////////////////////
86#ifdef  DEBUG
[3430]87extern int verbose;
[3293]88#define PRINT(x) \
[3430]89  PRINT ## x
[3293]90
[3430]91#if DEBUG >= ERROR
92#define PRINT1  \
93  if (verbose >= ERROR) \
94    printf
[3293]95#else
[3430]96#define PRINT1 if (NO)
[3293]97#endif
[3430]98
99#if DEBUG >= WARNING
[3293]100#define PRINT2 \
[3430]101  if (verbose >= WARNING) \
102    printf
[3293]103
104#else
[3430]105#define PRINT2 if (NO)
[3293]106#endif
[3430]107
108#if DEBUG >= INFORMATION
[3293]109#define PRINT3 \
[3430]110  if (verbose >= INFORMATION) \
111    printf
112#else
113#define PRINT3 if (NO)
[3293]114#endif
[3430]115
116#if DEBUG >= DEBUGING
[3293]117#define PRINT4 \
[3430]118  if (verbose >= DEBUGING) \
119    printf
[3293]120#else
[3430]121#define PRINT4 if (NO)
[3293]122#endif
[3430]123
124
[3293]125#else 
[3430]126#define PRINT(x) if (NO)
[3293]127#endif
128
129#define PRINT0 \
[3430]130  printf
[3293]131
132///////////////////////////////////////////////////
133/// COUT: simple cout print with verbose-check  ///
134///////////////////////////////////////////////////
135#ifdef  DEBUG
136#define COUT(x) \
137           COUT ## x
138
139#if DEBUG >= 1
140#define COUT1 \
141    if (verbose >= 1 ) \
142      cout
143#else
[3430]144#define COUT1 if (NO) cout
[3293]145#endif
146     
147#if DEBUG >= 2
148#define COUT2 \
149     if (verbose >= 2 ) \
150       cout
151
152#else
[3430]153#define COUT2 if (NO) cout
[3293]154#endif
155     
156#if DEBUG >= 3
157#define COUT3 \
158     if (verbose >= 3 ) \
159       cout
160#else
[3430]161#define COUT3 if (NO) cout
[3293]162#endif
163     
164#if DEBUG >= 4
165#define COUT4 \
166     if (verbose >= 4 ) \
167       cout
168#else
[3430]169#define COUT4 if (NO) cout
[3293]170#endif
171     
172     
173#else 
[3430]174#define COUT(x) if (NO) cout
[3293]175#endif
176
177#define COUT0 \
178           cout
179
[3204]180#endif /* _DEBUG_H */
Note: See TracBrowser for help on using the repository browser.