--- a/plugins/perl/common/Request.xs Tue Jan 10 05:49:48 2006 +0000 +++ b/plugins/perl/common/Request.xs Tue Jan 10 07:49:37 2006 +0000 @@ -20,25 +20,26 @@ } GaimPerlRequestData; /********************************************************/ -/* */ -/* Callback function that calls a perl subroutine */ -/* */ -/* The void * field data is being used as a way to hide */ -/* the perl sub's name in a GaimPerlRequestData */ -/* */ +/* */ +/* Callback function that calls a perl subroutine */ +/* */ +/* The void * field data is being used as a way to hide */ +/* the perl sub's name in a GaimPerlRequestData */ +/* */ /********************************************************/ -static void gaim_perl_request_ok_cb(void * data, GaimRequestFields *fields) { - +static void +gaim_perl_request_ok_cb(void * data, GaimRequestFields *fields) +{ GaimPerlRequestData *gpr = (GaimPerlRequestData *)data; dSP; ENTER; SAVETMPS; PUSHMARK(sp); - + XPUSHs(gaim_perl_bless_object(fields, "Gaim::Request::Fields")); PUTBACK; - + call_pv(gpr->ok_cb, G_EVAL | G_SCALAR); SPAGAIN; @@ -47,7 +48,9 @@ LEAVE; } -static void gaim_perl_request_cancel_cb(void * data, GaimRequestFields *fields) { +static void +gaim_perl_request_cancel_cb(void * data, GaimRequestFields *fields) +{ GaimPerlRequestData *gpr = (GaimPerlRequestData *)data; @@ -55,7 +58,7 @@ ENTER; SAVETMPS; PUSHMARK(sp); - + XPUSHs(gaim_perl_bless_object(fields, "Gaim::Request::Fields")); PUTBACK; call_pv(gpr->cancel_cb, G_EVAL | G_SCALAR); @@ -87,18 +90,18 @@ GaimPerlRequestData *gpr; STRLEN len; char *basename, *package; - + basename = g_path_get_basename(handle->path); gaim_perl_normalize_script_name(basename); package = g_strdup_printf("Gaim::Script::%s", basename); gpr = g_new(GaimPerlRequestData, 1); gpr->ok_cb = g_strdup_printf("%s::%s", package, SvPV(ok_cb, len)); gpr->cancel_cb = g_strdup_printf("%s::%s", package, SvPV(cancel_cb, len)); - + RETVAL = gaim_request_input(handle, title, primary, secondary, default_value, multiline, masked, hint, ok_text, G_CALLBACK(gaim_perl_request_ok_cb), cancel_text, G_CALLBACK(gaim_perl_request_cancel_cb), gpr); OUTPUT: RETVAL - + void * gaim_request_file(handle, title, filename, savedialog, ok_cb, cancel_cb) Gaim::Plugin handle @@ -122,7 +125,6 @@ RETVAL = gaim_request_file(handle, title, filename, savedialog, G_CALLBACK(gaim_perl_request_ok_cb), G_CALLBACK(gaim_perl_request_cancel_cb), gpr); OUTPUT: RETVAL - void * gaim_request_fields(handle, title, primary, secondary, fields, ok_text, ok_cb, cancel_text, cancel_cb) @@ -139,7 +141,7 @@ GaimPerlRequestData *gpr; STRLEN len; char *basename, *package; - + basename = g_path_get_basename(handle->path); gaim_perl_normalize_script_name(basename); package = g_strdup_printf("Gaim::Script::%s", basename); @@ -160,6 +162,9 @@ gaim_request_close_with_handle(handle) void * handle +MODULE = Gaim::Request PACKAGE = Gaim::Request::Field PREFIX = gaim_request_field_ +PROTOTYPES: ENABLE + Gaim::Account gaim_request_field_account_get_default_value(field) Gaim::Request::Field field @@ -172,7 +177,7 @@ OUTPUT: RETVAL -gboolean +gboolean gaim_request_field_account_get_show_all(field) Gaim::Request::Field field @@ -186,27 +191,27 @@ const char *text Gaim::Account account -void +void gaim_request_field_account_set_default_value(field, default_value) Gaim::Request::Field field Gaim::Account default_value -void +void gaim_request_field_account_set_show_all(field, show_all) Gaim::Request::Field field gboolean show_all -void +void gaim_request_field_account_set_value(field, value) Gaim::Request::Field field Gaim::Account value -gboolean +gboolean gaim_request_field_bool_get_default_value(field) Gaim::Request::Field field -gboolean +gboolean gaim_request_field_bool_get_value(field) Gaim::Request::Field field @@ -216,22 +221,22 @@ const char *text gboolean default_value -void +void gaim_request_field_bool_set_default_value(field, default_value) Gaim::Request::Field field gboolean default_value -void +void gaim_request_field_bool_set_value(field, value) Gaim::Request::Field field gboolean value -void +void gaim_request_field_choice_add(field, label) Gaim::Request::Field field const char *label -int +int gaim_request_field_choice_get_default_value(field) Gaim::Request::Field field @@ -239,16 +244,13 @@ gaim_request_field_choice_get_labels(field) Gaim::Request::Field field PREINIT: - GList *l; + GList *l; PPCODE: - for (l = gaim_request_field_choice_get_labels(field); l != NULL; l = l->next) { - XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListItem"))); - } + for (l = gaim_request_field_choice_get_labels(field); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListItem"))); + } - - - -int +int gaim_request_field_choice_get_value(field) Gaim::Request::Field field @@ -258,17 +260,17 @@ const char *text int default_value -void +void gaim_request_field_choice_set_default_value(field, default_value) Gaim::Request::Field field int default_value -void +void gaim_request_field_choice_set_value(field, value) Gaim::Request::Field field int value -void +void gaim_request_field_destroy(field) Gaim::Request::Field field @@ -288,40 +290,11 @@ gaim_request_field_get_type_hint(field) Gaim::Request::Field field -void -gaim_request_field_group_add_field(group, field) - Gaim::Request::Field::Group group - Gaim::Request::Field field - -void -gaim_request_field_group_destroy(group) - Gaim::Request::Field::Group group - -void -gaim_request_field_group_get_fields(group) - Gaim::Request::Field::Group group -PREINIT: - GList *l; -PPCODE: - for (l = gaim_request_field_group_get_fields(group); l != NULL; l = l->next) { - XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListItem"))); - } - - - -const char * -gaim_request_field_group_get_title(group) - Gaim::Request::Field::Group group - -Gaim::Request::Field::Group -gaim_request_field_group_new(title) - const char *title - -int +int gaim_request_field_int_get_default_value(field) Gaim::Request::Field field -int +int gaim_request_field_int_get_value(field) Gaim::Request::Field field @@ -331,21 +304,21 @@ const char *text int default_value -void +void gaim_request_field_int_set_default_value(field, default_value) Gaim::Request::Field field int default_value -void +void gaim_request_field_int_set_value(field, value) Gaim::Request::Field field int value -gboolean +gboolean gaim_request_field_is_required(field) Gaim::Request::Field field -gboolean +gboolean gaim_request_field_is_visible(field) Gaim::Request::Field field @@ -354,18 +327,18 @@ const char *id const char *text -void +void gaim_request_field_list_add(field, item, data) Gaim::Request::Field field const char *item - void * data + void * data -void +void gaim_request_field_list_add_selected(field, item) Gaim::Request::Field field const char *item -void +void gaim_request_field_list_clear_selected(field) Gaim::Request::Field field @@ -378,13 +351,13 @@ gaim_request_field_list_get_items(field) Gaim::Request::Field field PREINIT: - const GList *l; + const GList *l; PPCODE: - for (l = gaim_request_field_list_get_items(field); l != NULL; l = l->next) { - XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListItem"))); - } + for (l = gaim_request_field_list_get_items(field); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListItem"))); + } -gboolean +gboolean gaim_request_field_list_get_multi_select(field) Gaim::Request::Field field @@ -392,14 +365,13 @@ gaim_request_field_list_get_selected(field) Gaim::Request::Field field PREINIT: - const GList *l; + const GList *l; PPCODE: - for (l = gaim_request_field_list_get_selected(field); l != NULL; l = l->next) { - XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListItem"))); - } + for (l = gaim_request_field_list_get_selected(field); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListItem"))); + } - -gboolean +gboolean gaim_request_field_list_is_selected(field, item) Gaim::Request::Field field const char *item @@ -409,7 +381,7 @@ const char *id const char *text -void +void gaim_request_field_list_set_multi_select(field, multi_select) Gaim::Request::Field field gboolean multi_select @@ -420,22 +392,22 @@ const char *text Gaim::RequestFieldType type -void +void gaim_request_field_set_label(field, label) Gaim::Request::Field field const char *label -void +void gaim_request_field_set_required(field, required) Gaim::Request::Field field gboolean required -void +void gaim_request_field_set_type_hint(field, type_hint) Gaim::Request::Field field const char *type_hint -void +void gaim_request_field_set_visible(field, visible) Gaim::Request::Field field gboolean visible @@ -448,15 +420,15 @@ gaim_request_field_string_get_value(field) Gaim::Request::Field field -gboolean +gboolean gaim_request_field_string_is_editable(field) Gaim::Request::Field field -gboolean +gboolean gaim_request_field_string_is_masked(field) Gaim::Request::Field field -gboolean +gboolean gaim_request_field_string_is_multiline(field) Gaim::Request::Field field @@ -467,40 +439,80 @@ const char *default_value gboolean multiline -void +void gaim_request_field_string_set_default_value(field, default_value) Gaim::Request::Field field const char *default_value -void +void gaim_request_field_string_set_editable(field, editable) Gaim::Request::Field field gboolean editable -void +void gaim_request_field_string_set_masked(field, masked) Gaim::Request::Field field gboolean masked -void +void gaim_request_field_string_set_value(field, value) Gaim::Request::Field field const char *value -void +Gaim::Request::UiOps +gaim_request_get_ui_ops() + +void +gaim_request_set_ui_ops(ops) + Gaim::Request::UiOps ops + +MODULE = Gaim::Request PACKAGE = Gaim::Request::Field::Group PREFIX = gaim_request_field_group_ +PROTOTYPES: ENABLE + +void +gaim_request_field_group_add_field(group, field) + Gaim::Request::Field::Group group + Gaim::Request::Field field + +void +gaim_request_field_group_destroy(group) + Gaim::Request::Field::Group group + +void +gaim_request_field_group_get_fields(group) + Gaim::Request::Field::Group group +PREINIT: + GList *l; +PPCODE: + for (l = gaim_request_field_group_get_fields(group); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListItem"))); + } + +const char * +gaim_request_field_group_get_title(group) + Gaim::Request::Field::Group group + +Gaim::Request::Field::Group +gaim_request_field_group_new(title) + const char *title + +MODULE = Gaim::Request PACKAGE = Gaim::Request::Fields PREFIX = gaim_request_fields_ +PROTOTYPES: ENABLE + +void gaim_request_fields_add_group(fields, group) Gaim::Request::Fields fields Gaim::Request::Field::Group group -gboolean +gboolean gaim_request_fields_all_required_filled(fields) Gaim::Request::Fields fields -void +void gaim_request_fields_destroy(fields) Gaim::Request::Fields fields -gboolean +gboolean gaim_request_fields_exists(fields, id) Gaim::Request::Fields fields const char *id @@ -510,12 +522,12 @@ Gaim::Request::Fields fields const char *id -gboolean +gboolean gaim_request_fields_get_bool(fields, id) Gaim::Request::Fields fields const char *id -int +int gaim_request_fields_get_choice(fields, id) Gaim::Request::Fields fields const char *id @@ -529,15 +541,13 @@ gaim_request_fields_get_groups(fields) Gaim::Request::Fields fields PREINIT: - GList *l; + GList *l; PPCODE: - for (l = gaim_request_fields_get_groups(fields); l != NULL; l = l->next) { - XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListItem"))); - } + for (l = gaim_request_fields_get_groups(fields); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Request::Field::Group"))); + } - - -int +int gaim_request_fields_get_integer(fields, id) Gaim::Request::Fields fields const char *id @@ -546,33 +556,21 @@ gaim_request_fields_get_required(fields) Gaim::Request::Fields fields PREINIT: - const GList *l; + const GList *l; PPCODE: - for (l = gaim_request_fields_get_required(fields); l != NULL; l = l->next) { - XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListItem"))); - } - - + for (l = gaim_request_fields_get_required(fields); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Request::Field"))); + } const char * gaim_request_fields_get_string(fields, id) Gaim::Request::Fields fields const char *id -gboolean +gboolean gaim_request_fields_is_field_required(fields, id) Gaim::Request::Fields fields const char *id Gaim::Request::Fields gaim_request_fields_new() - - -Gaim::Request::UiOps -gaim_request_get_ui_ops() - - -void -gaim_request_set_ui_ops(ops) - Gaim::Request::UiOps ops -