Mercurial > pidgin.yaz
diff libpurple/plugins/perl/common/PluginPref.xs @ 15374:5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sat, 20 Jan 2007 02:32:10 +0000 |
parents | |
children | 2f8274ce570a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libpurple/plugins/perl/common/PluginPref.xs Sat Jan 20 02:32:10 2007 +0000 @@ -0,0 +1,144 @@ +#include "module.h" + +MODULE = Gaim::PluginPref PACKAGE = Gaim::PluginPref::Frame PREFIX = gaim_plugin_pref_frame_ +PROTOTYPES: ENABLE + +void +gaim_plugin_pref_frame_add(frame, pref) + Gaim::PluginPref::Frame frame + Gaim::PluginPref pref + +void +gaim_plugin_pref_frame_destroy(frame) + Gaim::PluginPref::Frame frame + +void +gaim_plugin_pref_frame_get_prefs(frame) + Gaim::PluginPref::Frame frame +PREINIT: + GList *l; +PPCODE: + for (l = gaim_plugin_pref_frame_get_prefs(frame); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::PluginPref"))); + } + +Gaim::PluginPref::Frame +gaim_plugin_pref_frame_new(class) + C_ARGS: /* void */ + +MODULE = Gaim::PluginPref PACKAGE = Gaim::PluginPref PREFIX = gaim_plugin_pref_ +PROTOTYPES: ENABLE + +void +gaim_plugin_pref_add_choice(pref, label, choice) + Gaim::PluginPref pref + const char *label +# Do the appropriate conversion based on the perl type specified. +# Currently only Strings and Ints will work. + gpointer choice = (SvPOKp($arg) ? SvPV($arg, PL_na) : (SvIOKp($arg) ? GINT_TO_POINTER(SvIV($arg)) : NULL)); + +void +gaim_plugin_pref_destroy(pref) + Gaim::PluginPref pref + + +void +gaim_plugin_pref_get_bounds(pref, min, max) + Gaim::PluginPref pref + int *min + int *max + +void +gaim_plugin_pref_get_choices(pref) + Gaim::PluginPref pref +PREINIT: + GList *l; +PPCODE: + for (l = gaim_plugin_pref_get_choices(pref); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListItem"))); + } + +const char * +gaim_plugin_pref_get_label(pref) + Gaim::PluginPref pref + +gboolean +gaim_plugin_pref_get_masked(pref) + Gaim::PluginPref pref + +unsigned int +gaim_plugin_pref_get_max_length(pref) + Gaim::PluginPref pref + +const char * +gaim_plugin_pref_get_name(pref) + Gaim::PluginPref pref + +Gaim::PluginPrefType +gaim_plugin_pref_get_type(pref) + Gaim::PluginPref pref + +Gaim::PluginPref +gaim_plugin_pref_new(class) + C_ARGS: /* void */ + +Gaim::PluginPref +gaim_plugin_pref_new_with_label(class, label) + const char *label + C_ARGS: + label + +Gaim::PluginPref +gaim_plugin_pref_new_with_name(class, name) + const char *name + C_ARGS: + name + +Gaim::PluginPref +gaim_plugin_pref_new_with_name_and_label(class, name, label) + const char *name + const char *label + C_ARGS: + name, label + +void +gaim_plugin_pref_set_bounds(pref, min, max) + Gaim::PluginPref pref + int min + int max + +void +gaim_plugin_pref_set_label(pref, label) + Gaim::PluginPref pref + const char *label + +void +gaim_plugin_pref_set_masked(pref, mask) + Gaim::PluginPref pref + gboolean mask + +void +gaim_plugin_pref_set_max_length(pref, max_length) + Gaim::PluginPref pref + unsigned int max_length + +void +gaim_plugin_pref_set_name(pref, name) + Gaim::PluginPref pref + const char *name + +void +gaim_plugin_pref_set_type(pref, type) + Gaim::PluginPref pref + Gaim::PluginPrefType type +PREINIT: + GaimPluginPrefType gpp_type; +CODE: + gpp_type = GAIM_PLUGIN_PREF_NONE; + + if (type == 1) { + gpp_type = GAIM_PLUGIN_PREF_CHOICE; + } else if (type == 2) { + gpp_type = GAIM_PLUGIN_PREF_INFO; + } + gaim_plugin_pref_set_type(pref, gpp_type);