00001 /****************************************************************************** 00002 * 00003 * $Id: debug.h,v 1.6 2001/03/19 19:27:40 root Exp $ 00004 * 00005 * 00006 * Copyright (C) 1997-2008 by Dimitri van Heesch. 00007 * 00008 * Permission to use, copy, modify, and distribute this software and its 00009 * documentation under the terms of the GNU General Public License is hereby 00010 * granted. No representations are made about the suitability of this software 00011 * for any purpose. It is provided "as is" without express or implied warranty. 00012 * See the GNU General Public License for more details. 00013 * 00014 * Documents produced by Doxygen are derivative works derived from the 00015 * input used in their production; they are not affected by this license. 00016 * 00017 */ 00018 00019 #ifndef _DEBUG_H 00020 #define _DEBUG_H 00021 00022 class Debug 00023 { 00024 public: 00025 enum DebugMask { Quiet = 0x00000000, 00026 FindMembers = 0x00000001, 00027 Functions = 0x00000002, 00028 Variables = 0x00000004, 00029 Preprocessor = 0x00000008, 00030 Classes = 0x00000010, 00031 CommentCnv = 0x00000020, 00032 CommentScan = 0x00000040, 00033 Validate = 0x00000080, 00034 PrintTree = 0x00000100, 00035 Time = 0x00000200, 00036 ExtCmd = 0x00000400 00037 }; 00038 static void print(DebugMask mask,int prio,const char *fmt,...); 00039 static void setFlag(const char *label); 00040 static void clearFlag(const char *label); 00041 static bool isFlagSet(DebugMask mask); 00042 static void setPriority(int p); 00043 00044 private: 00045 static DebugMask curMask; 00046 static int curPrio; 00047 }; 00048 00049 #endif