prefs.xs

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

XS
171
字号
#include "module.h"MODULE = Purple::Prefs  PACKAGE = Purple::Prefs  PREFIX = purple_prefs_PROTOTYPES: ENABLEBOOT:{	HV *stash = gv_stashpv("Purple::Pref::Type", 1);	static const constiv *civ, const_iv[] = {#define const_iv(name) {#name, (IV)PURPLE_PREF_##name}		const_iv(NONE),		const_iv(BOOLEAN),		const_iv(INT),		const_iv(STRING),		const_iv(STRING_LIST),		const_iv(PATH),		const_iv(PATH_LIST),	};	for (civ = const_iv + sizeof(const_iv) / sizeof(const_iv[0]); civ-- > const_iv; )		newCONSTSUB(stash, (char *)civ->name, newSViv(civ->iv));}voidpurple_prefs_add_bool(name, value)	const char *name	gboolean valuevoidpurple_prefs_add_int(name, value)	const char *name	int valuevoidpurple_prefs_add_none(name)	const char *namevoidpurple_prefs_add_string(name, value)	const char *name	const char *valuevoidpurple_prefs_add_string_list(name, value)	const char *name	SV *valuePREINIT:	GList *t_GL;	int i, t_len;PPCODE:	t_GL = NULL;	t_len = av_len((AV *)SvRV(value));	for (i = 0; i < t_len; i++) {		STRLEN t_sl;		t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(value), i, 0), t_sl));	}	purple_prefs_add_string_list(name, t_GL);voidpurple_prefs_destroy()voidpurple_prefs_disconnect_by_handle(handle)	void * handlevoidpurple_prefs_disconnect_callback(callback_id)	guint callback_idgbooleanpurple_prefs_exists(name)	const char *namegbooleanpurple_prefs_get_bool(name)	const char *namePurple::Handlepurple_prefs_get_handle()intpurple_prefs_get_int(name)	const char *nameconst char *purple_prefs_get_string(name)	const char *namevoidpurple_prefs_get_string_list(name)	const char *namePREINIT:	GList *l;PPCODE:	for (l = purple_prefs_get_string_list(name); l != NULL; l = l->next) {		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::PrefValue")));	}Purple::PrefTypepurple_prefs_get_type(name)	const char *namevoidpurple_prefs_init()gbooleanpurple_prefs_load()voidpurple_prefs_remove(name)	const char *namevoidpurple_prefs_rename(oldname, newname)	const char *oldname	const char *newnamevoidpurple_prefs_rename_boolean_toggle(oldname, newname)	const char *oldname	const char *newnamevoidpurple_prefs_set_bool(name, value)	const char *name	gboolean valuevoidpurple_prefs_set_generic(name, value)	const char *name	gpointer valuevoidpurple_prefs_set_int(name, value)	const char *name	int valuevoidpurple_prefs_set_string(name, value)	const char *name	const char *valuevoidpurple_prefs_set_string_list(name, value)	const char *name	SV *valuePREINIT:	GList *t_GL;	int i, t_len;PPCODE:	t_GL = NULL;	t_len = av_len((AV *)SvRV(value));	for (i = 0; i < t_len; i++) {		STRLEN t_sl;		t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(value), i, 0), t_sl));	}	purple_prefs_set_string_list(name, t_GL);voidpurple_prefs_trigger_callback(name)	const char *namevoidpurple_prefs_uninit()voidpurple_prefs_update_old()

⌨️ 快捷键说明

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