11118
|
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_get_info(con, a)
|
|
82 Gaim::Connection con
|
|
83 const char * a
|
|
84
|
|
85 void
|
|
86 serv_got_alias(gc, who, alias)
|
|
87 Gaim::Connection gc
|
|
88 const char *who
|
|
89 const char *alias
|
|
90
|
|
91 void
|
|
92 serv_got_chat_in(g, id, who, chatflags, message, mtime)
|
|
93 Gaim::Connection g
|
|
94 int id
|
|
95 const char *who
|
|
96 Gaim::ConvChatFlags chatflags
|
|
97 const char *message
|
|
98 time_t mtime
|
|
99
|
|
100 void
|
|
101 serv_got_chat_invite(gc, name, who, message, components)
|
|
102 Gaim::Connection gc
|
|
103 const char *name
|
|
104 const char *who
|
|
105 const char *message
|
|
106 SV * components
|
|
107 INIT:
|
|
108 HV * t_HV;
|
|
109 HE * t_HE;
|
|
110 SV * t_SV;
|
|
111 GHashTable * t_GHash;
|
|
112 I32 len;
|
|
113 char *t_key, *t_value;
|
|
114 CODE:
|
|
115 t_HV = (HV *)SvRV(components);
|
|
116 t_GHash = g_hash_table_new(NULL, NULL);
|
|
117
|
|
118 for (t_HE = hv_iternext(t_HV); t_HE != NULL; t_HE = hv_iternext(t_HV) ) {
|
|
119 t_key = hv_iterkey(t_HE, &len);
|
|
120 t_SV = *hv_fetch(t_HV, t_key, len, 0);
|
|
121 t_value = SvPV(t_SV, PL_na);
|
|
122
|
|
123 g_hash_table_insert(t_GHash, t_key, t_value);
|
|
124 }
|
|
125 serv_got_chat_invite(gc, name, who, message, t_GHash);
|
|
126
|
|
127 void
|
|
128 serv_got_chat_left(g, id)
|
|
129 Gaim::Connection g
|
|
130 int id
|
|
131
|
|
132 void
|
|
133 serv_got_im(gc, who, msg, imflags, mtime)
|
|
134 Gaim::Connection gc
|
|
135 const char *who
|
|
136 const char *msg
|
|
137 Gaim::ConvImFlags imflags
|
|
138 time_t mtime
|
|
139
|
|
140 Gaim::Conversation
|
|
141 serv_got_joined_chat(gc, id, name)
|
|
142 Gaim::Connection gc
|
|
143 int id
|
|
144 const char *name
|
|
145
|
|
146 void
|
|
147 serv_got_typing(gc, name, timeout, state)
|
|
148 Gaim::Connection gc
|
|
149 const char *name
|
|
150 int timeout
|
|
151 Gaim::TypingState state
|
|
152
|
|
153 void
|
|
154 serv_got_typing_stopped(gc, name)
|
|
155 Gaim::Connection gc
|
|
156 const char *name
|
|
157
|
|
158 void
|
|
159 serv_join_chat(con, components)
|
|
160 Gaim::Connection con
|
|
161 SV * components
|
|
162 INIT:
|
|
163 HV * t_HV;
|
|
164 HE * t_HE;
|
|
165 SV * t_SV;
|
|
166 GHashTable * t_GHash;
|
|
167 I32 len;
|
|
168 char *t_key, *t_value;
|
|
169 CODE:
|
|
170 t_HV = (HV *)SvRV(components);
|
|
171 t_GHash = g_hash_table_new(NULL, NULL);
|
|
172
|
|
173 for (t_HE = hv_iternext(t_HV); t_HE != NULL; t_HE = hv_iternext(t_HV) ) {
|
|
174 t_key = hv_iterkey(t_HE, &len);
|
|
175 t_SV = *hv_fetch(t_HV, t_key, len, 0);
|
|
176 t_value = SvPV(t_SV, PL_na);
|
|
177
|
|
178 g_hash_table_insert(t_GHash, t_key, t_value);
|
|
179 }
|
|
180 serv_join_chat(con, t_GHash);
|
|
181
|
|
182 void
|
|
183 serv_move_buddy(buddy, group1, group2)
|
|
184 Gaim::BuddyList::Buddy buddy
|
|
185 Gaim::BuddyList::Group group1
|
|
186 Gaim::BuddyList::Group group2
|
|
187
|
|
188 void
|
|
189 serv_reject_chat(con, components)
|
|
190 Gaim::Connection con
|
|
191 SV * components
|
|
192 INIT:
|
|
193 HV * t_HV;
|
|
194 HE * t_HE;
|
|
195 SV * t_SV;
|
|
196 GHashTable * t_GHash;
|
|
197 I32 len;
|
|
198 char *t_key, *t_value;
|
|
199 CODE:
|
|
200 t_HV = (HV *)SvRV(components);
|
|
201 t_GHash = g_hash_table_new(NULL, NULL);
|
|
202
|
|
203 for (t_HE = hv_iternext(t_HV); t_HE != NULL; t_HE = hv_iternext(t_HV) ) {
|
|
204 t_key = hv_iterkey(t_HE, &len);
|
|
205 t_SV = *hv_fetch(t_HV, t_key, len, 0);
|
|
206 t_value = SvPV(t_SV, PL_na);
|
|
207
|
|
208 g_hash_table_insert(t_GHash, t_key, t_value);
|
|
209 }
|
|
210 serv_reject_chat(con, t_GHash);
|
|
211
|
|
212 void
|
|
213 serv_rem_deny(con, a)
|
|
214 Gaim::Connection con
|
|
215 const char * a
|
|
216
|
|
217 void
|
|
218 serv_rem_permit(con, a)
|
|
219 Gaim::Connection con
|
|
220 const char * a
|
|
221
|
|
222 void
|
|
223 serv_remove_buddies(con, A, B)
|
|
224 Gaim::Connection con
|
|
225 SV * A
|
|
226 SV * B
|
|
227 PREINIT:
|
|
228 GList *t_GL1, *t_GL2;
|
|
229 int i, t_len;
|
|
230 PPCODE:
|
|
231 t_GL1 = NULL;
|
|
232 t_len = av_len((AV *)SvRV(A));
|
|
233
|
|
234 for (i = 0; i < t_len; i++) {
|
|
235 STRLEN t_sl;
|
|
236 t_GL1 = g_list_append(t_GL1, SvPV(*av_fetch((AV *)SvRV(A), i, 0), t_sl));
|
|
237 }
|
|
238
|
|
239 t_GL2 = NULL;
|
|
240 t_len = av_len((AV *)SvRV(B));
|
|
241
|
|
242 for (i = 0; i < t_len; i++) {
|
|
243 STRLEN t_sl;
|
|
244 t_GL2 = g_list_append(t_GL2, SvPV(*av_fetch((AV *)SvRV(B), i, 0), t_sl));
|
|
245 }
|
|
246 serv_remove_buddies(con, t_GL1, t_GL2);
|
|
247
|
|
248 void
|
|
249 serv_remove_buddy(con, buddy, group)
|
|
250 Gaim::Connection con
|
|
251 Gaim::BuddyList::Buddy buddy
|
|
252 Gaim::BuddyList::Group group
|
|
253
|
|
254 void
|
|
255 serv_remove_group(con, group)
|
|
256 Gaim::Connection con
|
|
257 Gaim::BuddyList::Group group
|
|
258
|
|
259 void
|
|
260 serv_send_file(gc, who, file)
|
|
261 Gaim::Connection gc
|
|
262 const char *who
|
|
263 const char *file
|
|
264
|
|
265 int
|
|
266 serv_send_im(con, a, b, flags )
|
|
267 Gaim::Connection con
|
|
268 const char * a
|
|
269 const char * b
|
|
270 Gaim::ConvImFlags flags
|
|
271
|
|
272 int
|
|
273 serv_send_typing(con, a, b)
|
|
274 Gaim::Connection con
|
|
275 const char * a
|
|
276 int b
|
|
277
|
|
278 void
|
|
279 serv_set_buddyicon(gc, filename)
|
|
280 Gaim::Connection gc
|
|
281 const char *filename
|
|
282
|
|
283 void
|
|
284 serv_set_idle(con, a)
|
|
285 Gaim::Connection con
|
|
286 int a
|
|
287
|
|
288 void
|
|
289 serv_set_info(con, a)
|
|
290 Gaim::Connection con
|
|
291 const char * a
|
|
292
|
|
293 void
|
|
294 serv_set_permit_deny(con)
|
|
295 Gaim::Connection con
|
|
296
|
|
297 void
|
|
298 serv_touch_idle(con)
|
|
299 Gaim::Connection con
|
|
300
|
|
301 void
|
|
302 serv_warn(con, a, b)
|
|
303 Gaim::Connection con
|
|
304 const char * a
|
|
305 gboolean b
|
|
306
|