plugins/perl/common/BuddyList.xs

Sat, 16 Apr 2005 18:44:40 +0000

author
Stu Tomlinson <nosnilmot@pidgin.im>
date
Sat, 16 Apr 2005 18:44:40 +0000
changeset 10833
62d8c516b51b
parent 10632
42c80df526f0
child 11118
36db35a9da56
permissions
-rw-r--r--

[gaim-migrate @ 12503]
Fix bug #1016434 - "MSN phone numbers don't appear changed until next logon"

6531
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 #include "module.h"
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 MODULE = Gaim::BuddyList PACKAGE = Gaim::BuddyList PREFIX = gaim_blist_
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 PROTOTYPES: ENABLE
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 void
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 gaim_blist_set_visible(show)
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 gboolean show
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 void
10631
de1e21808029 [gaim-migrate @ 12110]
Gregory C. Harfst
parents: 6699
diff changeset
11 add_buddy(account, buddy, group)
de1e21808029 [gaim-migrate @ 12110]
Gregory C. Harfst
parents: 6699
diff changeset
12 Gaim::Account account
6531
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 Gaim::BuddyList::Buddy buddy
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 Gaim::BuddyList::Group group
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 CODE:
6699
1af918908513 [gaim-migrate @ 7225]
Christian Hammond <chipx86@chipx86.com>
parents: 6545
diff changeset
16 gaim_blist_add_buddy(buddy, NULL, group, NULL);
10631
de1e21808029 [gaim-migrate @ 12110]
Gregory C. Harfst
parents: 6699
diff changeset
17 serv_add_buddy(gaim_account_get_connection(account), buddy);
6531
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 void
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 add_group(group)
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 Gaim::BuddyList::Group group
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 CODE:
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 gaim_blist_add_group(group, NULL);
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 void
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 add_chat(chat, group)
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27 Gaim::BuddyList::Chat chat
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28 Gaim::BuddyList::Group group
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29 CODE:
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30 gaim_blist_add_chat(chat, group, NULL);
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32 void
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33 gaim_blist_remove_buddy(buddy)
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34 Gaim::BuddyList::Buddy buddy
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36 void
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 gaim_blist_remove_group(group)
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38 Gaim::BuddyList::Group group
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40 void
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 gaim_blist_remove_chat(chat)
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42 Gaim::BuddyList::Chat chat
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 Gaim::BuddyList::Buddy
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 find_buddy(account, name)
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 Gaim::Account account
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 const char *name
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48 CODE:
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
49 RETVAL = gaim_find_buddy(account, name);
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 OUTPUT:
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 RETVAL
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 void
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 find_buddies(account, name)
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 Gaim::Account account
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
56 const char *name
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57 PREINIT:
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
58 GSList *l;
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59 PPCODE:
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
60 for (l = gaim_find_buddies(account, name); l != NULL; l = l->next)
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
61 {
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data,
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
63 "Gaim::BuddyList::Buddy")));
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64 }
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66 g_slist_free(l);
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 Gaim::BuddyList::Group
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69 find_group(name)
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70 const char *name
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 CODE:
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 RETVAL = gaim_find_group(name);
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73 OUTPUT:
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74 RETVAL
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76 Gaim::BuddyList::Chat
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77 gaim_blist_find_chat(account, name)
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78 Gaim::Account account
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 const char *name
3fca41d7b411 [gaim-migrate @ 7048]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80
6540
55a72edbd2d5 [gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
81 void
55a72edbd2d5 [gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
82 groups()
55a72edbd2d5 [gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
83 PREINIT:
55a72edbd2d5 [gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
84 GaimBlistNode *node;
6544
b248ad9766b1 [gaim-migrate @ 7066]
Christian Hammond <chipx86@chipx86.com>
parents: 6543
diff changeset
85 PPCODE:
6543
4e9e0b46461c [gaim-migrate @ 7065]
Christian Hammond <chipx86@chipx86.com>
parents: 6542
diff changeset
86 if (gaim_get_blist() != NULL)
6540
55a72edbd2d5 [gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
87 {
6543
4e9e0b46461c [gaim-migrate @ 7065]
Christian Hammond <chipx86@chipx86.com>
parents: 6542
diff changeset
88 for (node = gaim_get_blist()->root; node != NULL; node = node->next)
4e9e0b46461c [gaim-migrate @ 7065]
Christian Hammond <chipx86@chipx86.com>
parents: 6542
diff changeset
89 {
4e9e0b46461c [gaim-migrate @ 7065]
Christian Hammond <chipx86@chipx86.com>
parents: 6542
diff changeset
90 XPUSHs(sv_2mortal(gaim_perl_bless_object(node,
4e9e0b46461c [gaim-migrate @ 7065]
Christian Hammond <chipx86@chipx86.com>
parents: 6542
diff changeset
91 "Gaim::BuddyList::Group")));
4e9e0b46461c [gaim-migrate @ 7065]
Christian Hammond <chipx86@chipx86.com>
parents: 6542
diff changeset
92 }
6540
55a72edbd2d5 [gaim-migrate @ 7062]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
93 }
6545
139a447a1419 [gaim-migrate @ 7067]
Christian Hammond <chipx86@chipx86.com>
parents: 6544
diff changeset
94
139a447a1419 [gaim-migrate @ 7067]
Christian Hammond <chipx86@chipx86.com>
parents: 6544
diff changeset
95 void *
139a447a1419 [gaim-migrate @ 7067]
Christian Hammond <chipx86@chipx86.com>
parents: 6544
diff changeset
96 handle()
139a447a1419 [gaim-migrate @ 7067]
Christian Hammond <chipx86@chipx86.com>
parents: 6544
diff changeset
97 CODE:
139a447a1419 [gaim-migrate @ 7067]
Christian Hammond <chipx86@chipx86.com>
parents: 6544
diff changeset
98 RETVAL = gaim_blist_get_handle();
139a447a1419 [gaim-migrate @ 7067]
Christian Hammond <chipx86@chipx86.com>
parents: 6544
diff changeset
99 OUTPUT:
139a447a1419 [gaim-migrate @ 7067]
Christian Hammond <chipx86@chipx86.com>
parents: 6544
diff changeset
100 RETVAL

mercurial