Mercurial > pidgin
comparison src/debug.c @ 5212:740303e8425b
[gaim-migrate @ 5582]
And, er, having the actual debugging code in would be just dandy.
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Sat, 26 Apr 2003 06:46:59 +0000 |
| parents | |
| children | 565339a6eb86 |
comparison
equal
deleted
inserted
replaced
| 5211:0241d6b6702d | 5212:740303e8425b |
|---|---|
| 1 /** | |
| 2 * @file debug.c Debug API | |
| 3 * @ingroup core | |
| 4 * | |
| 5 * gaim | |
| 6 * | |
| 7 * Copyright (C) 2002-2003, Christian Hammond <chipx86@gnupdate.org> | |
| 8 * | |
| 9 * This program is free software; you can redistribute it and/or modify | |
| 10 * it under the terms of the GNU General Public License as published by | |
| 11 * the Free Software Foundation; either version 2 of the License, or | |
| 12 * (at your option) any later version. | |
| 13 * | |
| 14 * This program is distributed in the hope that it will be useful, | |
| 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 17 * GNU General Public License for more details. | |
| 18 * | |
| 19 * You should have received a copy of the GNU General Public License | |
| 20 * along with this program; if not, write to the Free Software | |
| 21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 22 */ | |
| 23 #include "debug.h" | |
| 24 #include <stdlib.h> | |
| 25 #include <glib.h> | |
| 26 | |
| 27 static GaimDebugUiOps *debug_ui_ops = NULL; | |
| 28 | |
| 29 void | |
| 30 gaim_debug_vargs(GaimDebugLevel level, const char *category, | |
| 31 const char *format, va_list args) | |
| 32 { | |
| 33 GaimDebugUiOps *ops; | |
| 34 | |
| 35 g_return_if_fail(level != GAIM_DEBUG_ALL); | |
| 36 g_return_if_fail(format != NULL); | |
| 37 | |
| 38 ops = gaim_get_debug_ui_ops(); | |
| 39 | |
| 40 if (ops != NULL && ops->print != NULL) | |
| 41 ops->print(level, category, format, args); | |
| 42 } | |
| 43 | |
| 44 void | |
| 45 gaim_debug(GaimDebugLevel level, const char *category, | |
| 46 const char *format, ...) | |
| 47 { | |
| 48 va_list args; | |
| 49 | |
| 50 g_return_if_fail(level != GAIM_DEBUG_ALL); | |
| 51 g_return_if_fail(format != NULL); | |
| 52 | |
| 53 va_start(args, format); | |
| 54 gaim_debug_vargs(level, category, format, args); | |
| 55 va_end(args); | |
| 56 } | |
| 57 | |
| 58 void | |
| 59 debug_printf(const char *format, ...) | |
| 60 { | |
| 61 va_list args; | |
| 62 | |
| 63 g_return_if_fail(format != NULL); | |
| 64 | |
| 65 va_start(args, format); | |
| 66 gaim_debug_vargs(GAIM_DEBUG_INFO, NULL, format, args); | |
| 67 va_end(args); | |
| 68 } | |
| 69 | |
| 70 void | |
| 71 gaim_set_debug_ui_ops(GaimDebugUiOps *ops) | |
| 72 { | |
| 73 debug_ui_ops = ops; | |
| 74 } | |
| 75 | |
| 76 GaimDebugUiOps * | |
| 77 gaim_get_debug_ui_ops(void) | |
| 78 { | |
| 79 return debug_ui_ops; | |
| 80 } |
