log.xs

来自「Linux下的多协议即时通讯程序源代码」· XS 代码 · 共 119 行

XS
119
字号
#include "module.h"MODULE = Purple::Log  PACKAGE = Purple::Log  PREFIX = purple_log_PROTOTYPES: ENABLEBOOT:{	HV *type_stash = gv_stashpv("Purple::Log::Type", 1);	HV *flags_stash = gv_stashpv("Purple::Log:ReadFlags::", 1);	static const constiv *civ, type_const_iv[] = {#define const_iv(name) {#name, (IV)PURPLE_LOG_##name}		const_iv(IM),		const_iv(CHAT),		const_iv(SYSTEM),	};	static const constiv flags_const_iv[] = {#undef const_iv#define const_iv(name) {#name, (IV)PURPLE_LOG_READ_##name}		const_iv(NO_NEWLINE),	};	for (civ = type_const_iv + sizeof(type_const_iv) / sizeof(type_const_iv[0]); civ-- > type_const_iv; )		newCONSTSUB(type_stash, (char *)civ->name, newSViv(civ->iv));	for (civ = flags_const_iv + sizeof(flags_const_iv) / sizeof(flags_const_iv[0]); civ-- > flags_const_iv; )		newCONSTSUB(flags_stash, (char *)civ->name, newSViv(civ->iv));}intpurple_log_common_sizer(log)	Purple::Log logvoidpurple_log_common_writer(log, ext)	Purple::Log log	const char *extgintpurple_log_compare(y, z)	gconstpointer y	gconstpointer zvoidpurple_log_free(log)	Purple::Log loggchar_own *purple_log_get_log_dir(type, name, account)	Purple::LogType type	const char *name	Purple::Account accountvoidpurple_log_get_log_sets()PREINIT:	GHashTable *l;PPCODE:	l = purple_log_get_log_sets();	XPUSHs(sv_2mortal(purple_perl_bless_object(l, "GHashTable")));voidpurple_log_get_logs(type, name, account)	Purple::LogType type	const char *name	Purple::Account accountPREINIT:	GList *l;PPCODE:	for (l = purple_log_get_logs(type, name, account); l != NULL; l = l->next) {		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));	}intpurple_log_get_size(log)	Purple::Log logvoidpurple_log_get_system_logs(account)	Purple::Account accountPREINIT:	GList *l;PPCODE:	for (l = purple_log_get_system_logs(account); l != NULL; l = l->next) {		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));	}intpurple_log_get_total_size(type, name, account)	Purple::LogType type	const char *name	Purple::Account accountvoidpurple_log_init()voidpurple_log_logger_free(logger)	Purple::Log::Logger loggervoidpurple_log_logger_get_options()PREINIT:	GList *l;PPCODE:	for (l = purple_log_logger_get_options(); l != NULL; l = l->next) {		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));	}gchar_own *purple_log_read(log, flags)	Purple::Log log	Purple::Log::ReadFlags flagsgintpurple_log_set_compare(y, z)	gconstpointer y	gconstpointer z

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?