| |
1 #include "module.h" |
| |
2 |
| |
3 /* |
| |
4 TODO |
| |
5 |
| |
6 */ |
| |
7 |
| |
8 |
| |
9 MODULE = Gaim::Serv PACKAGE = Gaim::Serv PREFIX = serv_ |
| |
10 PROTOTYPES: ENABLE |
| |
11 |
| |
12 |
| |
13 void |
| |
14 serv_add_buddies(con, list) |
| |
15 Gaim::Connection con |
| |
16 SV * list |
| |
17 PREINIT: |
| |
18 GList *t_GL; |
| |
19 int i, t_len; |
| |
20 PPCODE: |
| |
21 t_GL = NULL; |
| |
22 t_len = av_len((AV *)SvRV(list)); |
| |
23 |
| |
24 for (i = 0; i < t_len; i++) { |
| |
25 STRLEN t_sl; |
| |
26 t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(list), i, 0), t_sl)); |
| |
27 } |
| |
28 serv_add_buddies(con, t_GL); |
| |
29 |
| |
30 void |
| |
31 serv_add_buddy(con, buddy) |
| |
32 Gaim::Connection con |
| |
33 Gaim::BuddyList::Buddy buddy |
| |
34 |
| |
35 void |
| |
36 serv_add_deny(con, a) |
| |
37 Gaim::Connection con |
| |
38 const char * a |
| |
39 |
| |
40 void |
| |
41 serv_add_permit(a, b) |
| |
42 Gaim::Connection a |
| |
43 const char * b |
| |
44 |
| |
45 void |
| |
46 serv_alias_buddy(buddy) |
| |
47 Gaim::BuddyList::Buddy buddy |
| |
48 |
| |
49 void |
| |
50 serv_change_passwd(con, a, b) |
| |
51 Gaim::Connection con |
| |
52 const char * a |
| |
53 const char * b |
| |
54 |
| |
55 void |
| |
56 serv_chat_invite(con, a, b, c) |
| |
57 Gaim::Connection con |
| |
58 int a |
| |
59 const char * b |
| |
60 const char * c |
| |
61 |
| |
62 void |
| |
63 serv_chat_leave(a, b) |
| |
64 Gaim::Connection a |
| |
65 int b |
| |
66 |
| |
67 int |
| |
68 serv_chat_send(con, a, b) |
| |
69 Gaim::Connection con |
| |
70 int a |
| |
71 const char * b |
| |
72 |
| |
73 void |
| |
74 serv_chat_whisper(con, a, b, c) |
| |
75 Gaim::Connection con |
| |
76 int a |
| |
77 const char * b |
| |
78 const char * c |
| |
79 |
| |
80 void |
| |
81 serv_dir_search(con, a, b, c,d,e,f,g,h) |
| |
82 Gaim::Connection con |
| |
83 const char * a |
| |
84 const char * b |
| |
85 const char * c |
| |
86 const char * d |
| |
87 const char * e |
| |
88 const char * f |
| |
89 const char * g |
| |
90 const char * h |
| |
91 |
| |
92 void |
| |
93 serv_get_dir(con, a) |
| |
94 Gaim::Connection con |
| |
95 const char * a |
| |
96 |
| |
97 void |
| |
98 serv_get_info(con, a) |
| |
99 Gaim::Connection con |
| |
100 const char * a |
| |
101 |
| |
102 void |
| |
103 serv_got_alias(gc, who, alias) |
| |
104 Gaim::Connection gc |
| |
105 const char *who |
| |
106 const char *alias |
| |
107 |
| |
108 void |
| |
109 serv_got_chat_in(g, id, who, chatflags, message, mtime) |
| |
110 Gaim::Connection g |
| |
111 int id |
| |
112 const char *who |
| |
113 Gaim::ConvChatFlags chatflags |
| |
114 const char *message |
| |
115 time_t mtime |
| |
116 |
| |
117 void |
| |
118 serv_got_chat_invite(gc, name, who, message, components) |
| |
119 Gaim::Connection gc |
| |
120 const char *name |
| |
121 const char *who |
| |
122 const char *message |
| |
123 SV * components |
| |
124 INIT: |
| |
125 HV * t_HV; |
| |
126 HE * t_HE; |
| |
127 SV * t_SV; |
| |
128 GHashTable * t_GHash; |
| |
129 int i; |
| |
130 I32 len; |
| |
131 char *t_key, *t_value; |
| |
132 CODE: |
| |
133 t_HV = (HV *)SvRV(components); |
| |
134 t_GHash = g_hash_table_new(NULL, NULL); |
| |
135 |
| |
136 for (t_HE = hv_iternext(t_HV); t_HE != NULL; t_HE = hv_iternext(t_HV) ) { |
| |
137 t_key = hv_iterkey(t_HE, &len); |
| |
138 t_SV = *hv_fetch(t_HV, t_key, len, 0); |
| |
139 t_value = SvPV(t_SV, PL_na); |
| |
140 |
| |
141 g_hash_table_insert(t_GHash, t_key, t_value); |
| |
142 } |
| |
143 serv_got_chat_invite(gc, name, who, message, t_GHash); |
| |
144 |
| |
145 void |
| |
146 serv_got_chat_left(g, id) |
| |
147 Gaim::Connection g |
| |
148 int id |
| |
149 |
| |
150 void |
| |
151 serv_got_im(gc, who, msg, imflags, mtime) |
| |
152 Gaim::Connection gc |
| |
153 const char *who |
| |
154 const char *msg |
| |
155 Gaim::ConvImFlags imflags |
| |
156 time_t mtime |
| |
157 |
| |
158 Gaim::Conversation |
| |
159 serv_got_joined_chat(gc, id, name) |
| |
160 Gaim::Connection gc |
| |
161 int id |
| |
162 const char *name |
| |
163 |
| |
164 void |
| |
165 serv_got_typing(gc, name, timeout, state) |
| |
166 Gaim::Connection gc |
| |
167 const char *name |
| |
168 int timeout |
| |
169 Gaim::TypingState state |
| |
170 |
| |
171 void |
| |
172 serv_got_typing_stopped(gc, name) |
| |
173 Gaim::Connection gc |
| |
174 const char *name |
| |
175 |
| |
176 void |
| |
177 serv_join_chat(con, components) |
| |
178 Gaim::Connection con |
| |
179 SV * components |
| |
180 INIT: |
| |
181 HV * t_HV; |
| |
182 HE * t_HE; |
| |
183 SV * t_SV; |
| |
184 GHashTable * t_GHash; |
| |
185 int i; |
| |
186 I32 len; |
| |
187 char *t_key, *t_value; |
| |
188 CODE: |
| |
189 t_HV = (HV *)SvRV(components); |
| |
190 t_GHash = g_hash_table_new(NULL, NULL); |
| |
191 |
| |
192 for (t_HE = hv_iternext(t_HV); t_HE != NULL; t_HE = hv_iternext(t_HV) ) { |
| |
193 t_key = hv_iterkey(t_HE, &len); |
| |
194 t_SV = *hv_fetch(t_HV, t_key, len, 0); |
| |
195 t_value = SvPV(t_SV, PL_na); |
| |
196 |
| |
197 g_hash_table_insert(t_GHash, t_key, t_value); |
| |
198 } |
| |
199 serv_join_chat(con, t_GHash); |
| |
200 |
| |
201 void |
| |
202 serv_move_buddy(buddy, group1, group2) |
| |
203 Gaim::BuddyList::Buddy buddy |
| |
204 Gaim::BuddyList::Group group1 |
| |
205 Gaim::BuddyList::Group group2 |
| |
206 |
| |
207 void |
| |
208 serv_reject_chat(con, components) |
| |
209 Gaim::Connection con |
| |
210 SV * components |
| |
211 INIT: |
| |
212 HV * t_HV; |
| |
213 HE * t_HE; |
| |
214 SV * t_SV; |
| |
215 GHashTable * t_GHash; |
| |
216 int i; |
| |
217 I32 len; |
| |
218 char *t_key, *t_value; |
| |
219 CODE: |
| |
220 t_HV = (HV *)SvRV(components); |
| |
221 t_GHash = g_hash_table_new(NULL, NULL); |
| |
222 |
| |
223 for (t_HE = hv_iternext(t_HV); t_HE != NULL; t_HE = hv_iternext(t_HV) ) { |
| |
224 t_key = hv_iterkey(t_HE, &len); |
| |
225 t_SV = *hv_fetch(t_HV, t_key, len, 0); |
| |
226 t_value = SvPV(t_SV, PL_na); |
| |
227 |
| |
228 g_hash_table_insert(t_GHash, t_key, t_value); |
| |
229 } |
| |
230 serv_reject_chat(con, t_GHash); |
| |
231 |
| |
232 void |
| |
233 serv_rem_deny(con, a) |
| |
234 Gaim::Connection con |
| |
235 const char * a |
| |
236 |
| |
237 void |
| |
238 serv_rem_permit(con, a) |
| |
239 Gaim::Connection con |
| |
240 const char * a |
| |
241 |
| |
242 void |
| |
243 serv_remove_buddies(con, A, B) |
| |
244 Gaim::Connection con |
| |
245 SV * A |
| |
246 SV * B |
| |
247 PREINIT: |
| |
248 GList *t_GL1, *t_GL2; |
| |
249 int i, t_len; |
| |
250 PPCODE: |
| |
251 t_GL1 = NULL; |
| |
252 t_len = av_len((AV *)SvRV(A)); |
| |
253 |
| |
254 for (i = 0; i < t_len; i++) { |
| |
255 STRLEN t_sl; |
| |
256 t_GL1 = g_list_append(t_GL1, SvPV(*av_fetch((AV *)SvRV(A), i, 0), t_sl)); |
| |
257 } |
| |
258 |
| |
259 t_GL2 = NULL; |
| |
260 t_len = av_len((AV *)SvRV(B)); |
| |
261 |
| |
262 for (i = 0; i < t_len; i++) { |
| |
263 STRLEN t_sl; |
| |
264 t_GL2 = g_list_append(t_GL2, SvPV(*av_fetch((AV *)SvRV(B), i, 0), t_sl)); |
| |
265 } |
| |
266 serv_remove_buddies(con, t_GL1, t_GL2); |
| |
267 |
| |
268 void |
| |
269 serv_remove_buddy(con, buddy, group) |
| |
270 Gaim::Connection con |
| |
271 Gaim::BuddyList::Buddy buddy |
| |
272 Gaim::BuddyList::Group group |
| |
273 |
| |
274 void |
| |
275 serv_remove_group(con, group) |
| |
276 Gaim::Connection con |
| |
277 Gaim::BuddyList::Group group |
| |
278 |
| |
279 void |
| |
280 serv_send_file(gc, who, file) |
| |
281 Gaim::Connection gc |
| |
282 const char *who |
| |
283 const char *file |
| |
284 |
| |
285 int |
| |
286 serv_send_im(con, a, b, flags ) |
| |
287 Gaim::Connection con |
| |
288 const char * a |
| |
289 const char * b |
| |
290 Gaim::ConvImFlags flags |
| |
291 |
| |
292 int |
| |
293 serv_send_typing(con, a, b) |
| |
294 Gaim::Connection con |
| |
295 const char * a |
| |
296 int b |
| |
297 |
| |
298 void |
| |
299 serv_set_buddyicon(gc, filename) |
| |
300 Gaim::Connection gc |
| |
301 const char *filename |
| |
302 |
| |
303 void |
| |
304 serv_set_dir(con, a, b, c,d,e,f,g,h) |
| |
305 Gaim::Connection con |
| |
306 const char * a |
| |
307 const char * b |
| |
308 const char * c |
| |
309 const char * d |
| |
310 const char * e |
| |
311 const char * f |
| |
312 const char * g |
| |
313 int h |
| |
314 |
| |
315 void |
| |
316 serv_set_idle(con, a) |
| |
317 Gaim::Connection con |
| |
318 int a |
| |
319 |
| |
320 void |
| |
321 serv_set_info(con, a) |
| |
322 Gaim::Connection con |
| |
323 const char * a |
| |
324 |
| |
325 void |
| |
326 serv_set_permit_deny(con) |
| |
327 Gaim::Connection con |
| |
328 |
| |
329 void |
| |
330 serv_touch_idle(con) |
| |
331 Gaim::Connection con |
| |
332 |
| |
333 void |
| |
334 serv_warn(con, a, b) |
| |
335 Gaim::Connection con |
| |
336 const char * a |
| |
337 gboolean b |
| |
338 |