view src/debug.c @ 7727:72c0d2c66f45

[gaim-migrate @ 8372] (10:49:40) faceprint: no no no no no (10:49:51) LSchiere2: what did i get wrong faceprint? (10:50:05) faceprint: server aliases (10:50:11) LSchiere2: what about them? (10:50:18) Paco-Paco: they don't belong in blist.xml (10:50:24) faceprint: bingo (10:50:25) LSchiere2: i asked sean (10:50:36) SeanEgan: He did (10:50:38) Paco-Paco: yeah that bugged me but I wasn't going to get involved (10:51:04) SeanEgan: but I'd listen to faceprint. (10:51:08) LSchiere2: it makes sense, both winicq and winaim use them even after the person goes offline (10:51:20) faceprint: and so does the oscar prpl (10:51:28) faceprint: but the core didn't (10:51:33) faceprint: and everyone was happy (10:51:37) datallah: whats wrong w/ saving them as long as they are refreshed when appropriate? (10:51:58) faceprint: datallah: doing it in the core assumes certain things about how they're handled in all prpls (10:51:58) LSchiere2: so the correct fix would be to change the protocols instead of the blist? (10:52:22) faceprint: right. the prpls know what's going on, so they should store it as a setting like oscar does committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 03 Dec 2003 15:53:54 +0000
parents 7398a8d6862d
children fa6395637e2c
line wrap: on
line source

/**
 * @file debug.c Debug API
 * @ingroup core
 *
 * gaim
 *
 * Copyright (C) 2002-2003, Christian Hammond <chipx86@gnupdate.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
#include "debug.h"
#include <stdio.h>
#include <stdlib.h>
#include <glib.h>

static GaimDebugUiOps *debug_ui_ops = NULL;

void
gaim_debug_vargs(GaimDebugLevel level, const char *category,
				 const char *format, va_list args)
{
	GaimDebugUiOps *ops;

	g_return_if_fail(level != GAIM_DEBUG_ALL);
	g_return_if_fail(format != NULL);

	ops = gaim_debug_get_ui_ops();

	if (ops != NULL && ops->print != NULL)
		ops->print(level, category, format, args);
}

void
gaim_debug(GaimDebugLevel level, const char *category,
		   const char *format, ...)
{
	va_list args;

	g_return_if_fail(level != GAIM_DEBUG_ALL);
	g_return_if_fail(format != NULL);

	va_start(args, format);
	gaim_debug_vargs(level, category, format, args);
	va_end(args);
}

void
gaim_debug_misc(const char *category, const char *format, ...)
{
	va_list args;

	g_return_if_fail(format != NULL);

	va_start(args, format);
	gaim_debug_vargs(GAIM_DEBUG_MISC, category, format, args);
	va_end(args);
}

void
gaim_debug_info(const char *category, const char *format, ...)
{
	va_list args;

	g_return_if_fail(format != NULL);

	va_start(args, format);
	gaim_debug_vargs(GAIM_DEBUG_INFO, category, format, args);
	va_end(args);
}

void
gaim_debug_warning(const char *category, const char *format, ...)
{
	va_list args;

	g_return_if_fail(format != NULL);

	va_start(args, format);
	gaim_debug_vargs(GAIM_DEBUG_WARNING, category, format, args);
	va_end(args);
}

void
gaim_debug_error(const char *category, const char *format, ...)
{
	va_list args;

	g_return_if_fail(format != NULL);

	va_start(args, format);
	gaim_debug_vargs(GAIM_DEBUG_ERROR, category, format, args);
	va_end(args);
}

void
gaim_debug_fatal(const char *category, const char *format, ...)
{
	va_list args;

	g_return_if_fail(format != NULL);

	va_start(args, format);
	gaim_debug_vargs(GAIM_DEBUG_FATAL, category, format, args);
	va_end(args);
}

void
gaim_debug_set_ui_ops(GaimDebugUiOps *ops)
{
	debug_ui_ops = ops;
}

GaimDebugUiOps *
gaim_debug_get_ui_ops(void)
{
	return debug_ui_ops;
}