Added missing definitions on blist.pxd.
[python-purple] / libpurple / blist.pxd
1 #
2 #  Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
3 #
4 #  This file is part of python-purple.
5 #
6 #  python-purple is free software: you can redistribute it and/or modify
7 #  it under the terms of the GNU General Public License as published by
8 #  the Free Software Foundation, either version 3 of the License, or
9 #  (at your option) any later version.
10 #
11 #  python-purple is distributed in the hope that it will be useful,
12 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 #  GNU General Public License for more details.
15 #
16 #  You should have received a copy of the GNU General Public License
17 #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 #
19
20 cimport glib
21
22 cimport account
23 cimport status
24
25 cdef extern from *:
26     ctypedef char const_char "const char"
27
28 cdef extern from "libpurple/blist.h":
29     ctypedef struct PurpleBuddyList
30     ctypedef struct PurpleBlistUiOps
31     ctypedef struct PurpleBlistNode
32     ctypedef struct PurpleChat
33     ctypedef struct PurpleGroup
34     ctypedef struct PurpleContact
35     ctypedef struct PurpleBuddy
36
37     ctypedef enum PurpleBlistNodeType:
38         PURPLE_BLIST_GROUP_NODE
39         PURPLE_BLIST_CONTACT_NODE
40         PURPLE_BLIST_BUDDY_NODE
41         PURPLE_BLIST_CHAT_NODE
42         PURPLE_BLIST_OTHER_NODE
43
44     ctypedef enum PurpleBlistNodeFlags:
45         PURPLE_BLIST_NODE_FLAG_NO_SAVE = 1 << 0
46
47     ctypedef struct PurpleBlistNode:
48         PurpleBlistNodeType type
49         PurpleBlistNode *prev
50         PurpleBlistNode *next
51         PurpleBlistNode *parent
52         PurpleBlistNode *child
53         glib.GHashTable *settings
54         void *ui_data
55         PurpleBlistNodeFlags flags
56
57     ctypedef struct PurpleBuddy:
58         char *name
59         char *alias
60         char *server_alias
61         void *proto_data
62
63     ctypedef struct PurpleContact:
64         pass
65
66     ctypedef struct PurpleGroup:
67         pass
68
69     ctypedef struct PurpleChat:
70         pass
71
72     ctypedef struct PurpleBuddyList:
73         PurpleBlistNode *root
74         glib.GHashTable *buddies
75         void *ui_data
76
77     ctypedef struct PurpleBlistUiOps:
78         void (*new_list) (PurpleBuddyList *list)
79         void (*new_node) (PurpleBlistNode *node)
80         void (*show) (PurpleBuddyList *list)
81         void (*update) (PurpleBuddyList *list, PurpleBlistNode *node)
82         void (*remove) (PurpleBuddyList *list, PurpleBlistNode *node)
83         void (*destroy) (PurpleBuddyList *list)
84         void (*set_visible) (PurpleBuddyList *list, glib.gboolean show)
85         void (*request_add_buddy) (account.PurpleAccount *account, const_char *username, const_char *group, const_char *alias)
86         void (*request_add_chat) (account.PurpleAccount *account, PurpleGroup *group, const_char *alias, const_char *name)
87         void (*request_add_group) ()
88
89     void *c_purple_blist_get_handle "purple_blist_get_handle" ()
90     void c_purple_blist_load "purple_blist_load" ()
91     PurpleBuddyList* c_purple_blist_new "purple_blist_new" ()
92     void c_purple_blist_set_ui_ops "purple_blist_set_ui_ops" (PurpleBlistUiOps *ops)
93
94     PurpleBuddy *c_purple_buddy_new "purple_buddy_new" (account.PurpleAccount *account,
95             char *screenname, char *alias)
96     char *c_purple_buddy_get_alias_only "purple_buddy_get_alias_only" (PurpleBuddy *buddy)
97     char *c_purple_buddy_get_name "purple_buddy_get_name" (PurpleBuddy *buddy)
98     PurpleBuddy *c_purple_find_buddy "purple_find_buddy" (account.PurpleAccount *account, char *name)
99     void c_purple_set_blist "purple_set_blist" (PurpleBuddyList *list)
100     glib.GSList *c_purple_find_buddies "purple_find_buddies" (account.PurpleAccount *account, char *name)
101     account.PurpleAccount *c_purple_buddy_get_account "purple_buddy_get_account" (PurpleBuddy *buddy)
102     status.PurplePresence *c_purple_buddy_get_presence "purple_buddy_get_presence" (PurpleBuddy *buddy)