plugins/perl/common/Request.xs

changeset 11290
136722ebf145
parent 11170
d8941580d87f
child 11589
a40462fc33f6
equal deleted inserted replaced
11289:90e0133137e7 11290:136722ebf145
50 PUTBACK; 50 PUTBACK;
51 FREETMPS; 51 FREETMPS;
52 LEAVE; 52 LEAVE;
53 } 53 }
54 54
55
56 /* TODO
57
58
59 void *
60 gaim_request_input(handle, title, primary, secondary, default_value, multiline, masked, hint, ok_text, ok_cb, cancel_text, cancel_cb, user_data)
61
62
63 void *
64 gaim_request_file(handle, title, filename, savedialog, ok_cb, cancel_cb, user_data)
65
66 void
67 gaim_request_field_account_set_filter(field, filter_func)
68
69
70 void *
71 gaim_request_action(handle, title, primary, secondary, default_action, user_data, action_count, gaim_request_action)
72
73
74 void *
75 gaim_request_choice(handle, title, primary, secondary, default_value, ok_text, ok_cb, cancel_text, cancel_cb, user_data, gaim_request_choice)
76
77 void *
78 gaim_request_choice_varg(handle, title, primary, secondary, default_value, ok_text, ok_cb, cancel_text, cancel_cb, user_data, choices)
79
80
81
82 */
83
84
85 MODULE = Gaim::Request PACKAGE = Gaim::Request PREFIX = gaim_request_ 55 MODULE = Gaim::Request PACKAGE = Gaim::Request PREFIX = gaim_request_
86 PROTOTYPES: ENABLE 56 PROTOTYPES: ENABLE
87 57
88 void * 58 void *
89 gaim_request_fields(handle, title, primary, secondary, fields, ok_text, ok_cb, cancel_text, cancel_cb) 59 gaim_request_input(handle, title, primary, secondary, default_value, multiline, masked, hint, ok_text, ok_cb, cancel_text, cancel_cb)
90 Gaim::Plugin handle 60 Gaim::Plugin handle
91 const char * title 61 const char * title
92 const char * primary 62 const char * primary
93 const char * secondary 63 const char * secondary
94 Gaim::Request::Fields fields 64 const char * default_value
65 gboolean multiline
66 gboolean masked
67 gchar * hint
95 const char * ok_text 68 const char * ok_text
96 SV * ok_cb 69 SV * ok_cb
97 const char * cancel_text 70 const char * cancel_text
98 SV * cancel_cb 71 SV * cancel_cb
99 CODE: 72 CODE:
106 package = g_strdup_printf("Gaim::Script::%s", basename); 79 package = g_strdup_printf("Gaim::Script::%s", basename);
107 gpr = g_new(GaimPerlRequestData, 1); 80 gpr = g_new(GaimPerlRequestData, 1);
108 gpr->ok_cb = g_strdup_printf("%s::%s", package, SvPV(ok_cb, len)); 81 gpr->ok_cb = g_strdup_printf("%s::%s", package, SvPV(ok_cb, len));
109 gpr->cancel_cb = g_strdup_printf("%s::%s", package, SvPV(cancel_cb, len)); 82 gpr->cancel_cb = g_strdup_printf("%s::%s", package, SvPV(cancel_cb, len));
110 83
84 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);
85 OUTPUT:
86 RETVAL
87
88 void *
89 gaim_request_file(handle, title, filename, savedialog, ok_cb, cancel_cb)
90 Gaim::Plugin handle
91 const char * title
92 const char * filename
93 gboolean savedialog
94 SV * ok_cb
95 SV * cancel_cb
96 CODE:
97 GaimPerlRequestData *gpr;
98 STRLEN len;
99 char *basename, *package;
100
101 basename = g_path_get_basename(handle->path);
102 gaim_perl_normalize_script_name(basename);
103 package = g_strdup_printf("Gaim::Script::%s", basename);
104 gpr = g_new(GaimPerlRequestData, 1);
105 gpr->ok_cb = g_strdup_printf("%s::%s", package, SvPV(ok_cb, len));
106 gpr->cancel_cb = g_strdup_printf("%s::%s", package, SvPV(cancel_cb, len));
107
108 RETVAL = gaim_request_file(handle, title, filename, savedialog, G_CALLBACK(gaim_perl_request_ok_cb), G_CALLBACK(gaim_perl_request_cancel_cb), gpr);
109 OUTPUT:
110 RETVAL
111
112
113 void *
114 gaim_request_fields(handle, title, primary, secondary, fields, ok_text, ok_cb, cancel_text, cancel_cb)
115 Gaim::Plugin handle
116 const char * title
117 const char * primary
118 const char * secondary
119 Gaim::Request::Fields fields
120 const char * ok_text
121 SV * ok_cb
122 const char * cancel_text
123 SV * cancel_cb
124 CODE:
125 GaimPerlRequestData *gpr;
126 STRLEN len;
127 char *basename, *package;
128
129 basename = g_path_get_basename(handle->path);
130 gaim_perl_normalize_script_name(basename);
131 package = g_strdup_printf("Gaim::Script::%s", basename);
132 gpr = g_new(GaimPerlRequestData, 1);
133 gpr->ok_cb = g_strdup_printf("%s::%s", package, SvPV(ok_cb, len));
134 gpr->cancel_cb = g_strdup_printf("%s::%s", package, SvPV(cancel_cb, len));
135
111 RETVAL = gaim_request_fields(handle, title, primary, secondary, fields, ok_text, G_CALLBACK(gaim_perl_request_ok_cb), cancel_text, G_CALLBACK(gaim_perl_request_cancel_cb), gpr); 136 RETVAL = gaim_request_fields(handle, title, primary, secondary, fields, ok_text, G_CALLBACK(gaim_perl_request_ok_cb), cancel_text, G_CALLBACK(gaim_perl_request_cancel_cb), gpr);
112 OUTPUT: 137 OUTPUT:
113 RETVAL 138 RETVAL
114
115
116
117
118
119
120
121
122
123
124 139
125 void * 140 void *
126 gaim_request_action_varg(handle, title, primary, secondary, default_action, user_data, action_count, actions) 141 gaim_request_action_varg(handle, title, primary, secondary, default_action, user_data, action_count, actions)
127 void * handle 142 void * handle
128 const char *title 143 const char *title
131 unsigned int default_action 146 unsigned int default_action
132 void *user_data 147 void *user_data
133 size_t action_count 148 size_t action_count
134 va_list actions 149 va_list actions
135 150
136
137
138 void 151 void
139 gaim_request_close(type, uihandle) 152 gaim_request_close(type, uihandle)
140 Gaim::RequestType type 153 Gaim::RequestType type
141 void * uihandle 154 void * uihandle
142 155

mercurial