mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
cf83236346
record. This is useful with DCC chats when you know the initial server tag but the server might be already disconnected. So what this means is that you now get ~/irclogs/ircnet/=nick.log instead of ~/irclogs/=nick.log :) git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2388 dbcabf3a-b0e7-0310-adc4-f8d773084564
117 lines
3.8 KiB
C
117 lines
3.8 KiB
C
#ifndef __PRINTTEXT_H
|
|
#define __PRINTTEXT_H
|
|
|
|
#include "fe-windows.h"
|
|
#include "formats.h"
|
|
|
|
void printformat_module(const char *module, void *server, const char *target, int level, int formatnum, ...);
|
|
void printformat_module_window(const char *module, WINDOW_REC *window, int level, int formatnum, ...);
|
|
void printformat_module_dest(const char *module, TEXT_DEST_REC *dest, int formatnum, ...);
|
|
|
|
void printformat_module_args(const char *module, void *server, const char *target, int level, int formatnum, va_list va);
|
|
void printformat_module_window_args(const char *module, WINDOW_REC *window, int level, int formatnum, va_list va);
|
|
void printformat_module_dest_args(const char *module, TEXT_DEST_REC *dest, int formatnum, va_list va);
|
|
|
|
void printtext(void *server, const char *target, int level, const char *text, ...);
|
|
void printtext_string(void *server, const char *target, int level, const char *text);
|
|
void printtext_string_window(WINDOW_REC *window, int level, const char *text);
|
|
void printtext_window(WINDOW_REC *window, int level, const char *text, ...);
|
|
void printtext_multiline(void *server, const char *target, int level, const char *format, const char *text);
|
|
void printtext_dest(TEXT_DEST_REC *dest, const char *text, ...);
|
|
|
|
/* only GUI should call these - used for printing text to somewhere else
|
|
than windows */
|
|
void printtext_gui(const char *text);
|
|
void printformat_module_gui(const char *module, int formatnum, ...);
|
|
void printformat_module_gui_args(const char *module, int formatnum, va_list va);
|
|
|
|
void printtext_init(void);
|
|
void printtext_deinit(void);
|
|
|
|
/* printformat(...) = printformat_format(MODULE_NAME, ...)
|
|
|
|
Could this be any harder? :) With GNU C compiler and C99 compilers,
|
|
use #define. With others use either inline functions if they are
|
|
supported or static functions if they are not..
|
|
*/
|
|
#if defined (__GNUC__) && !defined (__STRICT_ANSI__)
|
|
/* GCC */
|
|
# define printformat(server, target, level, formatnum...) \
|
|
printformat_module(MODULE_NAME, server, target, level, ##formatnum)
|
|
# define printformat_window(window, level, formatnum...) \
|
|
printformat_module_window(MODULE_NAME, window, level, ##formatnum)
|
|
# define printformat_dest(dest, formatnum...) \
|
|
printformat_module_dest(MODULE_NAME, dest, ##formatnum)
|
|
# define printformat_gui(formatnum...) \
|
|
printformat_module_gui(MODULE_NAME, ##formatnum)
|
|
#elif defined (_ISOC99_SOURCE)
|
|
/* C99 */
|
|
# define printformat(server, target, level, formatnum, ...) \
|
|
printformat_module(MODULE_NAME, server, target, level, formatnum, __VA_ARGS__)
|
|
# define printformat_window(window, level, formatnum, ...) \
|
|
printformat_module_window(MODULE_NAME, window, level, formatnum, __VA_ARGS__)
|
|
# define printformat_dest(dest, formatnum, ...) \
|
|
printformat_module_dest(MODULE_NAME, dest, formatnum, __VA_ARGS__)
|
|
# define printformat_gui(formatnum, ...) \
|
|
printformat_module_gui(MODULE_NAME, formatnum, __VA_ARGS__)
|
|
#else
|
|
/* inline/static */
|
|
#ifdef G_CAN_INLINE
|
|
G_INLINE_FUNC
|
|
#else
|
|
static
|
|
#endif
|
|
void printformat(void *server, const char *target, int level, int formatnum, ...)
|
|
{
|
|
va_list va;
|
|
|
|
va_start(va, formatnum);
|
|
printformat_module_args(MODULE_NAME, server, target, level, formatnum, va);
|
|
va_end(va);
|
|
}
|
|
|
|
#ifdef G_CAN_INLINE
|
|
G_INLINE_FUNC
|
|
#else
|
|
static
|
|
#endif
|
|
void printformat_window(WINDOW_REC *window, int level, int formatnum, ...)
|
|
{
|
|
va_list va;
|
|
|
|
va_start(va, formatnum);
|
|
printformat_module_window_args(MODULE_NAME, window, level, formatnum, va);
|
|
va_end(va);
|
|
}
|
|
|
|
#ifdef G_CAN_INLINE
|
|
G_INLINE_FUNC
|
|
#else
|
|
static
|
|
#endif
|
|
void printformat_dest(TEXT_DEST_REC *dest, int formatnum, ...)
|
|
{
|
|
va_list va;
|
|
|
|
va_start(va, formatnum);
|
|
printformat_module_dest_args(MODULE_NAME, dest, formatnum, va);
|
|
va_end(va);
|
|
}
|
|
|
|
#ifdef G_CAN_INLINE
|
|
G_INLINE_FUNC
|
|
#else
|
|
static
|
|
#endif
|
|
void printformat_gui(int formatnum, ...)
|
|
{
|
|
va_list va;
|
|
|
|
va_start(va, formatnum);
|
|
printformat_module_gui_args(MODULE_NAME, formatnum, va);
|
|
va_end(va);
|
|
}
|
|
#endif
|
|
|
|
#endif
|