comparison libpurple/plugins/perl/common/Util.xs @ 15373: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
comparison
equal deleted inserted replaced
15372:f79e0f4df793 15373:5fe8042783c1
1 #include "module.h"
2
3 typedef struct {
4 char *cb;
5 } GaimPerlUrlData;
6
7 static void gaim_perl_util_url_cb(GaimUtilFetchUrlData *url_data, void *user_data, const gchar *url_text, size_t size, const gchar *error_message) {
8 GaimPerlUrlData *gpr = (GaimPerlUrlData *)user_data;
9 dSP;
10 ENTER;
11 SAVETMPS;
12 PUSHMARK(SP);
13
14 XPUSHs(sv_2mortal(newSVpvn(url_text, size)));
15 PUTBACK;
16
17 call_pv(gpr->cb, G_EVAL | G_SCALAR);
18 SPAGAIN;
19
20 g_free(gpr->cb);
21 g_free(gpr);
22
23 PUTBACK;
24 FREETMPS;
25 LEAVE;
26 }
27
28 MODULE = Gaim::Util PACKAGE = Gaim::Util PREFIX = gaim_
29 PROTOTYPES: ENABLE
30
31 void
32 gaim_util_fetch_url(handle, url, full, user_agent, http11, cb)
33 Gaim::Plugin handle
34 const char *url
35 gboolean full
36 const char *user_agent
37 gboolean http11
38 SV * cb
39 CODE:
40 GaimPerlUrlData *gpr;
41 STRLEN len;
42 char *basename;
43
44 basename = g_path_get_basename(handle->path);
45 gaim_perl_normalize_script_name(basename);
46 gpr = g_new(GaimPerlUrlData, 1);
47
48 gpr->cb = g_strdup_printf("Gaim::Script::%s::%s", basename, SvPV(cb, len));
49 g_free(basename);
50 gaim_util_fetch_url(url, full, user_agent, http11, gaim_perl_util_url_cb, gpr);
51
52 int
53 gaim_build_dir(path, mode)
54 const char *path
55 int mode
56
57 const char *
58 gaim_date_format_full(tm)
59 const struct tm *tm
60
61 const char *
62 gaim_date_format_long(tm)
63 const struct tm *tm
64
65 const char *
66 gaim_date_format_short(tm)
67 const struct tm *tm
68
69 gboolean
70 gaim_email_is_valid(address)
71 const char *address
72
73 const char *
74 gaim_escape_filename(str)
75 const char *str
76
77 gchar_own *
78 gaim_fd_get_ip(fd)
79 int fd
80
81 const gchar *
82 gaim_home_dir()
83
84 gboolean
85 gaim_markup_extract_info_field(str, len, user_info, start_token, skip, end_token, check_value, no_value_token, display_name, is_link, link_prefix, format_cb)
86 const char *str
87 int len
88 Gaim::NotifyUserInfo user_info
89 const char *start_token
90 int skip
91 const char *end_token
92 char check_value
93 const char *no_value_token
94 const char *display_name
95 gboolean is_link
96 const char *link_prefix
97 Gaim::Util::InfoFieldFormatCallback format_cb
98
99 gboolean
100 gaim_markup_find_tag(needle, haystack, start, end, attributes)
101 const char *needle
102 const char *haystack
103 const char **start
104 const char **end
105 GData **attributes
106
107 gchar_own *
108 gaim_markup_get_tag_name(tag)
109 const char *tag
110
111 void
112 gaim_markup_html_to_xhtml(html, dest_xhtml, dest_plain)
113 const char *html
114 char **dest_xhtml
115 char **dest_plain
116
117 gchar_own *
118 gaim_markup_linkify(str)
119 const char *str
120
121 gchar_own *
122 gaim_markup_slice(str, x, y)
123 const char *str
124 guint x
125 guint y
126
127 gchar_own *
128 gaim_markup_strip_html(str)
129 const char *str
130
131 gboolean
132 gaim_message_meify(message, len)
133 char *message
134 size_t len
135
136 FILE *
137 gaim_mkstemp(path, binary)
138 char **path
139 gboolean binary
140
141 const char *
142 gaim_normalize(account, str)
143 Gaim::Account account
144 const char *str
145
146 gboolean
147 gaim_program_is_valid(program)
148 const char *program
149
150 gchar_own *
151 gaim_str_add_cr(str)
152 const char *str
153
154 gchar_own *
155 gaim_str_binary_to_ascii(binary, len)
156 const unsigned char *binary
157 guint len
158
159 gboolean
160 gaim_str_has_prefix(s, p)
161 const char *s
162 const char *p
163
164 gboolean
165 gaim_str_has_suffix(s, x)
166 const char *s
167 const char *x
168
169 gchar_own *
170 gaim_str_seconds_to_string(sec)
171 guint sec
172
173 gchar_own *
174 gaim_str_size_to_units(size)
175 size_t size
176
177 void
178 gaim_str_strip_char(str, thechar)
179 char *str
180 char thechar
181
182 time_t
183 gaim_str_to_time(timestamp, utc = FALSE, tm = NULL, tz_off = NULL, rest = NULL)
184 const char *timestamp
185 gboolean utc
186 struct tm *tm
187 long *tz_off
188 const char **rest
189
190 gchar_own *
191 gaim_strcasereplace(string, delimiter, replacement)
192 const char *string
193 const char *delimiter
194 const char *replacement
195
196 const char *
197 gaim_strcasestr(haystack, needle)
198 const char *haystack
199 const char *needle
200
201 gchar_own *
202 gaim_strdup_withhtml(src)
203 const gchar *src
204
205 gchar_own *
206 gaim_strreplace(string, delimiter, replacement)
207 const char *string
208 const char *delimiter
209 const char *replacement
210
211 gchar_own *
212 gaim_text_strip_mnemonic(in)
213 const char *in
214
215 time_t
216 gaim_time_build(year, month, day, hour, min, sec)
217 int year
218 int month
219 int day
220 int hour
221 int min
222 int sec
223
224 const char *
225 gaim_time_format(tm)
226 const struct tm *tm
227
228 const char *
229 gaim_unescape_filename(str)
230 const char *str
231
232 gchar_own *
233 gaim_unescape_html(html)
234 const char *html
235
236 const char *
237 gaim_url_decode(str)
238 const char *str
239
240 const char *
241 gaim_url_encode(str)
242 const char *str
243
244 gboolean
245 gaim_url_parse(url, ret_host, ret_port, ret_path, ret_user, ret_passwd)
246 const char *url
247 char **ret_host
248 int *ret_port
249 char **ret_path
250 char **ret_user
251 char **ret_passwd
252
253 const char *
254 gaim_user_dir()
255
256 const char *
257 gaim_utf8_strftime(const char *format, const struct tm *tm);
258
259 void
260 gaim_util_set_user_dir(dir)
261 const char *dir
262
263 gboolean
264 gaim_util_write_data_to_file(filename, data, size)
265 const char *filename
266 const char *data
267 size_t size