Mercurial > pidgin.yaz
annotate plugins/perl/common/BuddyList.xs @ 6540:eae61831e596
[gaim-migrate @ 7062]
Improved the buddy list perl API a bit.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Thu, 21 Aug 2003 02:38:05 +0000 |
parents | 7c42b8ca3222 |
children | f31eb1fab20e |
rev | line source |
---|---|
6531 | 1 #include "module.h" |
2 | |
3 MODULE = Gaim::BuddyList PACKAGE = Gaim::BuddyList PREFIX = gaim_blist_ | |
4 PROTOTYPES: ENABLE | |
5 | |
6 void | |
7 gaim_blist_set_visible(show) | |
8 gboolean show | |
9 | |
10 void | |
11 add_buddy(buddy, group) | |
12 Gaim::BuddyList::Buddy buddy | |
13 Gaim::BuddyList::Group group | |
14 CODE: | |
15 gaim_blist_add_buddy(buddy, group, NULL); | |
16 | |
17 void | |
18 add_group(group) | |
19 Gaim::BuddyList::Group group | |
20 CODE: | |
21 gaim_blist_add_group(group, NULL); | |
22 | |
23 void | |
24 add_chat(chat, group) | |
25 Gaim::BuddyList::Chat chat | |
26 Gaim::BuddyList::Group group | |
27 CODE: | |
28 gaim_blist_add_chat(chat, group, NULL); | |
29 | |
30 void | |
31 gaim_blist_remove_buddy(buddy) | |
32 Gaim::BuddyList::Buddy buddy | |
33 | |
34 void | |
35 gaim_blist_remove_group(group) | |
36 Gaim::BuddyList::Group group | |
37 | |
38 void | |
39 gaim_blist_remove_chat(chat) | |
40 Gaim::BuddyList::Chat chat | |
41 | |
42 Gaim::BuddyList::Buddy | |
43 find_buddy(account, name) | |
44 Gaim::Account account | |
45 const char *name | |
46 CODE: | |
47 RETVAL = gaim_find_buddy(account, name); | |
48 OUTPUT: | |
49 RETVAL | |
50 | |
51 void | |
52 find_buddies(account, name) | |
53 Gaim::Account account | |
54 const char *name | |
55 PREINIT: | |
56 GSList *l; | |
57 PPCODE: | |
58 for (l = gaim_find_buddies(account, name); l != NULL; l = l->next) | |
59 { | |
60 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, | |
61 "Gaim::BuddyList::Buddy"))); | |
62 } | |
63 | |
64 g_slist_free(l); | |
65 | |
66 Gaim::BuddyList::Group | |
67 find_group(name) | |
68 const char *name | |
69 CODE: | |
70 RETVAL = gaim_find_group(name); | |
71 OUTPUT: | |
72 RETVAL | |
73 | |
74 Gaim::BuddyList::Chat | |
75 gaim_blist_find_chat(account, name) | |
76 Gaim::Account account | |
77 const char *name | |
78 | |
6540
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
79 void |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
80 groups() |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
81 PREINIT: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
82 GaimBlistNode *node; |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
83 CODE: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
84 for (node = gaim_get_blist()->root; node != NULL; node = node->next) |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
85 { |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
86 XPUSHs(sv_2mortal(gaim_perl_bless_object(node, |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
87 "Gaim::BuddyList::Group"))); |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
88 } |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
89 |
6531 | 90 |
91 ########################################################################### | |
92 MODULE = Gaim::GroupList::Group PACKAGE = Gaim::GroupList::Group PREFIX = gaim_group_ | |
93 PROTOTYPES: ENABLE | |
94 ########################################################################### | |
95 | |
96 Gaim::BuddyList::Group | |
97 new(name) | |
98 const char *name | |
99 CODE: | |
100 RETVAL = gaim_group_new(name); | |
101 OUTPUT: | |
102 RETVAL | |
103 | |
104 void | |
105 rename(group, new_name) | |
106 Gaim::BuddyList::Group group | |
107 const char *new_name | |
108 CODE: | |
109 gaim_blist_rename_group(group, new_name); | |
110 | |
111 void | |
112 get_accounts(group) | |
113 Gaim::BuddyList::Group group | |
114 PREINIT: | |
115 GSList *l; | |
116 PPCODE: | |
117 for (l = gaim_group_get_accounts(group); l != NULL; l = l->next) | |
118 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Account"))); | |
119 | |
120 int | |
121 get_size(group, offline) | |
122 Gaim::BuddyList::Group group | |
123 gboolean offline | |
124 CODE: | |
125 RETVAL = gaim_blist_get_group_size(group, offline); | |
126 OUTPUT: | |
127 RETVAL | |
128 | |
6540
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
129 const char * |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
130 get_name(group) |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
131 Gaim::BuddyList::Group group |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
132 CODE: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
133 RETVAL = group->name; |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
134 OUTPUT: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
135 RETVAL |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
136 |
6531 | 137 int |
138 get_online_count(group) | |
139 Gaim::BuddyList::Group group | |
140 CODE: | |
141 RETVAL = gaim_blist_get_group_online_count(group); | |
142 OUTPUT: | |
143 RETVAL | |
144 | |
145 void | |
146 gaim_group_set_setting(group, key, value) | |
147 Gaim::BuddyList::Group group | |
148 const char *key | |
149 const char *value | |
150 | |
151 const char * | |
152 gaim_group_get_setting(group, key) | |
153 Gaim::BuddyList::Group group | |
154 const char *key | |
155 | |
6540
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
156 void |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
157 buddies(group) |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
158 Gaim::BuddyList::Group group |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
159 PREINIT: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
160 GaimBlistNode *node; |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
161 GaimBlistNode *_group = (GaimBlistNode *)group; |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
162 PPCODE: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
163 for (node = _group->child; node != NULL; node = node->next) |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
164 { |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
165 XPUSHs(sv_2mortal(gaim_perl_bless_object(node, |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
166 "Gaim::BuddyList::Buddy"))); |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
167 } |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
168 |
6531 | 169 |
170 ########################################################################### | |
171 MODULE = Gaim::BuddyList::Buddy PACKAGE = Gaim::BuddyList::Buddy PREFIX = gaim_buddy_ | |
172 PROTOTYPES: ENABLE | |
173 ########################################################################### | |
174 | |
175 Gaim::BuddyList::Buddy | |
176 new(account, name, alias) | |
177 Gaim::Account account | |
178 const char *name | |
179 const char *alias | |
180 CODE: | |
181 RETVAL = gaim_buddy_new(account, name, alias); | |
182 OUTPUT: | |
183 RETVAL | |
184 | |
185 void | |
186 update_presence(buddy, presence) | |
187 Gaim::BuddyList::Buddy buddy | |
188 int presence | |
189 CODE: | |
190 gaim_blist_update_buddy_presence(buddy, presence); | |
191 | |
192 void | |
193 set_idle_time(buddy, idle) | |
194 Gaim::BuddyList::Buddy buddy | |
195 int idle | |
196 CODE: | |
197 gaim_blist_update_buddy_idle(buddy, idle); | |
198 | |
199 void | |
200 set_warning_percent(buddy, warning) | |
201 Gaim::BuddyList::Buddy buddy | |
202 int warning | |
203 CODE: | |
204 gaim_blist_update_buddy_evil(buddy, warning); | |
205 | |
206 void | |
207 rename(buddy, new_name) | |
208 Gaim::BuddyList::Buddy buddy | |
209 const char *new_name | |
210 CODE: | |
211 gaim_blist_rename_buddy(buddy, new_name); | |
212 | |
213 void | |
214 set_alias(buddy, alias) | |
215 Gaim::BuddyList::Buddy buddy | |
216 const char *alias | |
217 CODE: | |
218 gaim_blist_alias_buddy(buddy, alias); | |
219 | |
220 void | |
221 set_server_alias(buddy, alias) | |
222 Gaim::BuddyList::Buddy buddy | |
223 const char *alias | |
224 CODE: | |
225 gaim_blist_server_alias_buddy(buddy, alias); | |
226 | |
227 const char * | |
6540
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
228 get_name(buddy) |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
229 Gaim::BuddyList::Buddy buddy |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
230 CODE: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
231 RETVAL = buddy->name; |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
232 OUTPUT: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
233 RETVAL |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
234 |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
235 Gaim::Account |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
236 get_account(buddy) |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
237 Gaim::BuddyList::Buddy buddy |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
238 CODE: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
239 RETVAL = buddy->account; |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
240 OUTPUT: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
241 RETVAL |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
242 |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
243 const char * |
6531 | 244 get_alias_only(buddy) |
245 Gaim::BuddyList::Buddy buddy | |
246 CODE: | |
247 RETVAL = gaim_get_buddy_alias_only(buddy); | |
248 OUTPUT: | |
249 RETVAL | |
250 | |
251 const char * | |
252 get_alias(buddy) | |
253 Gaim::BuddyList::Buddy buddy | |
254 CODE: | |
255 RETVAL = gaim_get_buddy_alias(buddy); | |
256 OUTPUT: | |
257 RETVAL | |
258 | |
259 Gaim::BuddyList::Group | |
260 get_group(buddy) | |
261 Gaim::BuddyList::Buddy buddy | |
262 CODE: | |
263 RETVAL = gaim_find_buddys_group(buddy); | |
264 OUTPUT: | |
265 RETVAL | |
266 | |
267 void | |
268 gaim_buddy_set_setting(buddy, key, value) | |
269 Gaim::BuddyList::Buddy buddy | |
270 const char *key | |
271 const char *value | |
272 | |
273 const char * | |
274 gaim_buddy_get_setting(buddy, key) | |
275 Gaim::BuddyList::Buddy buddy | |
276 const char *key | |
277 | |
278 | |
279 ########################################################################### | |
280 MODULE = Gaim::BuddyList::Chat PACKAGE = Gaim::BuddyList::Chat PREFIX = gaim_chat_ | |
281 PROTOTYPES: ENABLE | |
282 ########################################################################### | |
283 | |
284 void | |
285 set_alias(chat, alias) | |
286 Gaim::BuddyList::Chat chat | |
287 const char *alias | |
288 CODE: | |
289 gaim_blist_alias_chat(chat, alias); | |
290 | |
291 const char * | |
292 gaim_chat_get_display_name(chat) | |
293 Gaim::BuddyList::Chat chat | |
294 | |
295 Gaim::BuddyList::Group | |
296 gaim_blist_chat_get_group(chat) | |
297 Gaim::BuddyList::Chat chat | |
298 CODE: | |
299 RETVAL = gaim_blist_chat_get_group(chat); | |
300 OUTPUT: | |
301 RETVAL | |
302 | |
303 void | |
304 gaim_chat_set_setting(chat, key, value) | |
305 Gaim::BuddyList::Chat chat | |
306 const char *key | |
307 const char *value | |
308 | |
309 const char * | |
310 gaim_chat_get_setting(chat, key) | |
311 Gaim::BuddyList::Chat chat | |
312 const char *key | |
6540
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
313 |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
314 Gaim::Account |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
315 get_account(chat) |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
316 Gaim::BuddyList::Chat chat |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
317 CODE: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
318 RETVAL = chat->account; |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
319 OUTPUT: |
eae61831e596
[gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents:
6531
diff
changeset
|
320 RETVAL |