comparison libpurple/debug.h @ 15374:5fe8042783c1

Rename gtk/ and libgaim/ to pidgin/ and libpurple/
author Sean Egan <seanegan@gmail.com>
date Sat, 20 Jan 2007 02:32:10 +0000
parents
children 32c366eeeb99
comparison
equal deleted inserted replaced
15373:f79e0f4df793 15374:5fe8042783c1
1 /**
2 * @file debug.h Debug API
3 * @ingroup core
4 *
5 * gaim
6 *
7 * Gaim is the legal property of its developers, whose names are too numerous
8 * to list here. Please refer to the COPYRIGHT file distributed with this
9 * source distribution.
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */
25 #ifndef _GAIM_DEBUG_H_
26 #define _GAIM_DEBUG_H_
27
28 #include <glib.h>
29 #include <stdarg.h>
30
31 /**
32 * Debug levels.
33 */
34 typedef enum
35 {
36 GAIM_DEBUG_ALL = 0, /**< All debug levels. */
37 GAIM_DEBUG_MISC, /**< General chatter. */
38 GAIM_DEBUG_INFO, /**< General operation Information. */
39 GAIM_DEBUG_WARNING, /**< Warnings. */
40 GAIM_DEBUG_ERROR, /**< Errors. */
41 GAIM_DEBUG_FATAL /**< Fatal errors. */
42
43 } GaimDebugLevel;
44
45 /**
46 * Debug UI operations.
47 */
48 typedef struct
49 {
50 void (*print)(GaimDebugLevel level, const char *category,
51 const char *arg_s);
52 } GaimDebugUiOps;
53
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57
58 /**************************************************************************/
59 /** @name Debug API */
60 /**************************************************************************/
61 /**
62 * Outputs debug information.
63 *
64 * @param level The debug level.
65 * @param category The category (or @c NULL).
66 * @param format The format string.
67 */
68 void gaim_debug(GaimDebugLevel level, const char *category,
69 const char *format, ...);
70
71 /**
72 * Outputs misc. level debug information.
73 *
74 * This is a wrapper for gaim_debug(), and uses GAIM_DEBUG_MISC as
75 * the level.
76 *
77 * @param category The category (or @c NULL).
78 * @param format The format string.
79 *
80 * @see gaim_debug()
81 */
82 void gaim_debug_misc(const char *category, const char *format, ...);
83
84 /**
85 * Outputs info level debug information.
86 *
87 * This is a wrapper for gaim_debug(), and uses GAIM_DEBUG_INFO as
88 * the level.
89 *
90 * @param category The category (or @c NULL).
91 * @param format The format string.
92 *
93 * @see gaim_debug()
94 */
95 void gaim_debug_info(const char *category, const char *format, ...);
96
97 /**
98 * Outputs warning level debug information.
99 *
100 * This is a wrapper for gaim_debug(), and uses GAIM_DEBUG_WARNING as
101 * the level.
102 *
103 * @param category The category (or @c NULL).
104 * @param format The format string.
105 *
106 * @see gaim_debug()
107 */
108 void gaim_debug_warning(const char *category, const char *format, ...);
109
110 /**
111 * Outputs error level debug information.
112 *
113 * This is a wrapper for gaim_debug(), and uses GAIM_DEBUG_ERROR as
114 * the level.
115 *
116 * @param category The category (or @c NULL).
117 * @param format The format string.
118 *
119 * @see gaim_debug()
120 */
121 void gaim_debug_error(const char *category, const char *format, ...);
122
123 /**
124 * Outputs fatal error level debug information.
125 *
126 * This is a wrapper for gaim_debug(), and uses GAIM_DEBUG_ERROR as
127 * the level.
128 *
129 * @param category The category (or @c NULL).
130 * @param format The format string.
131 *
132 * @see gaim_debug()
133 */
134 void gaim_debug_fatal(const char *category, const char *format, ...);
135
136 /**
137 * Enable or disable printing debug output to the console.
138 *
139 * @param enabled TRUE to enable debug output or FALSE to disable it.
140 */
141 void gaim_debug_set_enabled(gboolean enabled);
142
143 /**
144 * Check if console debug output is enabled.
145 *
146 * @return TRUE if debuggin is enabled, FALSE if it is not.
147 */
148 gboolean gaim_debug_is_enabled(void);
149
150 /*@}*/
151
152 /**************************************************************************/
153 /** @name UI Registration Functions */
154 /**************************************************************************/
155 /*@{*/
156
157 /**
158 * Sets the UI operations structure to be used when outputting debug
159 * information.
160 *
161 * @param ops The UI operations structure.
162 */
163 void gaim_debug_set_ui_ops(GaimDebugUiOps *ops);
164
165 /**
166 * Returns the UI operations structure used when outputting debug
167 * information.
168 *
169 * @return The UI operations structure in use.
170 */
171 GaimDebugUiOps *gaim_debug_get_ui_ops(void);
172
173 /*@}*/
174
175 /**************************************************************************/
176 /** @name Debug Subsystem */
177 /**************************************************************************/
178 /*@{*/
179
180 /**
181 * Initializes the debug subsystem.
182 */
183 void gaim_debug_init(void);
184
185 /*@}*/
186
187 #ifdef __cplusplus
188 }
189 #endif
190
191 #endif /* _GAIM_DEBUG_H_ */