view src/debug.h @ 6351:ffb1b5003772

[gaim-migrate @ 6850] Bjoern Voigt writes: "I've prepared a new German translation. The patch i18n17.patch contains: - Updated German translation - added src/protocols/irc/{cmds.c,msgs.c,parse.c} to po/POTFILES.in - ngettext-support for src/protocols/irc/msgs.c (IRC idle times) I also found a number of bugs in src/gaim-remote.c. The patch gaim-remote1.patch contains: - parameter processing fix in gaim-remote (gaim-remote no longer segfaults on "gaim-remote uri") - gaim-remote now has correct error messages and return codes, if connection to gaim fails (gaim-remote is not longer silent, if gaim-remote uri 'aim:goim?screenname=Penguin&message=hello+world' failes, because gaim is not running) I also have a feature request for gaim-remote: "I want to have two commands in gaim-remote: - connect list|all: connects all specified accounts with auto-login - disconnect list|all: disconnects all specified accounts The commands will be especially useful for users with dialup connections. They could include gaim-remote in /etc/ppp/{ip-up,ip-down}. The auto-reconnection plugin doesn't solve the dialup-problem, because it generates to much error message windows over the time." Where can I place such a feature-request?" hhmm. that feature-request looks pretty placed ;-) committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Thu, 31 Jul 2003 23:49:12 +0000
parents 158196b2db19
children 565339a6eb86
line wrap: on
line source

/**
 * @file debug.h 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
 */
#ifndef _GAIM_DEBUG_H_
#define _GAIM_DEBUG_H_

#include <stdarg.h>

/**
 * Debug levels.
 */
typedef enum
{
	GAIM_DEBUG_ALL = 0,  /**< All debug levels.              */
	GAIM_DEBUG_MISC,  /**< General chatter.               */
	GAIM_DEBUG_INFO,     /**< General operation Information. */
	GAIM_DEBUG_WARNING,  /**< Warnings.                      */
	GAIM_DEBUG_ERROR,    /**< Errors.                        */
	GAIM_DEBUG_FATAL     /**< Fatal errors.                  */

} GaimDebugLevel;

/**
 * Debug UI operations.
 */
typedef struct
{
	void (*print)(GaimDebugLevel level, const char *category,
				  const char *format, va_list args);

} GaimDebugUiOps;

#ifdef __cplusplus
extern "C" {
#endif

/**************************************************************************/
/** @name Debug API                                                       */
/**************************************************************************/
/**
 * Outputs debug information.
 *
 * This differs from gaim_debug() in that it takes a va_list.
 *
 * @param level    The debug level.
 * @param category The category (or @c NULL).
 * @param format   The format string.
 * @param args     The format parameters.
 *
 * @see gaim_debug()
 */
void gaim_debug_vargs(GaimDebugLevel level, const char *category,
					  const char *format, va_list args);

/**
 * Outputs debug information.
 *
 * @param level    The debug level.
 * @param category The category (or @c NULL).
 * @param format   The format string.
 */
void gaim_debug(GaimDebugLevel level, const char *category,
				const char *format, ...);

/**
 * Outputs debug information.
 *
 * @deprecated This has been replaced with gaim_debug(), and will be
 *             removed in a future release.
 *
 * @param fmt The format string.
 *
 * @see gaim_debug()
 */
void debug_printf(const char *fmt, ...);

/*@}*/

/**************************************************************************/
/** @name UI Registration Functions                                       */
/**************************************************************************/
/*@{*/

/**
 * Sets the UI operations structure to be used when outputting debug
 * information.
 *
 * @param ops The UI operations structure.
 */
void gaim_set_debug_ui_ops(GaimDebugUiOps *ops);

/**
 * Returns the UI operations structure used when outputting debug
 * information.
 *
 * @return The UI operations structure in use.
 */
GaimDebugUiOps *gaim_get_debug_ui_ops(void);

/*@}*/

#ifdef __cplusplus
}
#endif

#endif /* _GAIM_DEBUG_H_ */