Mercurial > pidgin
view plugins/perl/common/AccountOpts.xs @ 12919:248b8b39c671
[gaim-migrate @ 15272]
Replace GaimBlistNodeAction with the more generic GaimMenuAction, this is in
preparation for letting the chat room user list have extensible menus like the
blist entries do. (I know it's not exactly the prettiest, and the callback
isn't exactly type-safe, when we eventually gobjectify everything we can get
some safety back by using (GObject, gpointer) but that's for later.)
I'm planning to look into merging GaimPluginActions into GaimMenuActions as
well.
committer: Tailor Script <tailor@pidgin.im>
author | Etan Reisner <pidgin@unreliablesource.net> |
---|---|
date | Tue, 17 Jan 2006 23:22:19 +0000 |
parents | beda858e88fa |
children |
line wrap: on
line source
#include "module.h" MODULE = Gaim::Account::Option PACKAGE = Gaim::Account::Option PREFIX = gaim_account_option_ PROTOTYPES: ENABLE void gaim_account_option_destroy(option) Gaim::Account::Option option const char * gaim_account_option_get_default_string(option) Gaim::Account::Option option void gaim_account_option_add_list_item(option, key, value) Gaim::Account::Option option const char * key const char * value void gaim_account_option_set_default_string(option, value); Gaim::Account::Option option const char * value void gaim_account_option_set_default_int(option, value); Gaim::Account::Option option int value void gaim_account_option_set_default_bool(option, value); Gaim::Account::Option option gboolean value Gaim::Account::Option gaim_account_option_list_new(class, text, pref_name, values) const char * text const char * pref_name SV * values PREINIT: GList *t_GL; int i, t_len; CODE: t_GL = NULL; t_len = av_len((AV *)SvRV(values)); for (i = 0; i < t_len; i++) { STRLEN t_sl; t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(values), i, 0), t_sl)); } RETVAL = gaim_account_option_list_new(text, pref_name, t_GL); OUTPUT: RETVAL Gaim::Account::Option gaim_account_option_string_new(class, text, pref_name, default_value) const char * text const char * pref_name const char * default_value C_ARGS: text, pref_name, default_value Gaim::Account::Option gaim_account_option_int_new(class, text, pref_name, default_value) const char * text const char * pref_name gboolean default_value C_ARGS: text, pref_name, default_value Gaim::Account::Option gaim_account_option_bool_new(class, text, pref_name, default_value) const char * text const char * pref_name gboolean default_value C_ARGS: text, pref_name, default_value Gaim::Account::Option gaim_account_option_new(class, type, text, pref_name) Gaim::PrefType type const char * text const char * pref_name C_ARGS: type, text, pref_name void gaim_account_option_get_list(option) Gaim::Account::Option option PREINIT: const GList *l; PPCODE: for (l = gaim_account_option_get_list(option); l != NULL; l = l->next) { /* XXX These are actually GaimKeyValuePairs but we don't have a * type for that and even if we did I don't think there's * anything perl could do with them, so I'm just going to * leave this as a Gaim::ListEntry for now. */ XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } Gaim::PrefType gaim_account_option_get_type(option) Gaim::Account::Option option gboolean gaim_account_option_get_masked(option) Gaim::Account::Option option int gaim_account_option_get_default_int(option) Gaim::Account::Option option; gboolean gaim_account_option_get_default_bool(option) Gaim::Account::Option option; const char * gaim_account_option_get_setting(option) Gaim::Account::Option option const char * gaim_account_option_get_text(option) Gaim::Account::Option option void gaim_account_option_set_list(option, values) Gaim::Account::Option option SV * values PREINIT: GList *t_GL; int i, t_len; PPCODE: t_GL = NULL; t_len = av_len((AV *)SvRV(values)); for (i = 0; i < t_len; i++) { STRLEN t_sl; t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(values), i, 0), t_sl)); } gaim_account_option_set_list(option, t_GL); void gaim_account_option_set_masked(option, masked) Gaim::Account::Option option gboolean masked MODULE = Gaim::Account::Option PACKAGE = Gaim::Account::UserSplit PREFIX = gaim_account_user_split_ PROTOTYPES: ENABLE Gaim::Account::UserSplit gaim_account_user_split_new(class, text, default_value, sep) const char * text const char * default_value char sep C_ARGS: text, default_value, sep char gaim_account_user_split_get_separator(split) Gaim::Account::UserSplit split const char * gaim_account_user_split_get_text(split) Gaim::Account::UserSplit split void gaim_account_user_split_destroy(split) Gaim::Account::UserSplit split