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 + -
显示快捷键?