Mercurial > pidgin.yaz
annotate finch/gntblist.h @ 30248:834038426c38
Minor cleanup.
* g_free is NULL-safe.
* No need for an extra * on the gpointer.
* Adium doesn't like / in their <img> tags.
* purple_xfer_set_thumbnail should free previous data.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Sun, 25 Apr 2010 20:38:17 +0000 |
parents | f1441c4e4d2f |
children | 02a2e8183b1d |
rev | line source |
---|---|
15818 | 1 /** |
2 * @file gntblist.h GNT BuddyList API | |
16194
0f0832c13fcb
Rename the Doxygen group from gntui to finch and define the finch group
Richard Laager <rlaager@wiktel.com>
parents:
15871
diff
changeset
|
3 * @ingroup finch |
20074
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19680
diff
changeset
|
4 */ |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19680
diff
changeset
|
5 |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19680
diff
changeset
|
6 /* finch |
15818 | 7 * |
15871
66dff3dfdea6
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents:
15823
diff
changeset
|
8 * Finch is the legal property of its developers, whose names are too numerous |
15818 | 9 * to list here. Please refer to the COPYRIGHT file distributed with this |
10 * source distribution. | |
11 * | |
12 * This program is free software; you can redistribute it and/or modify | |
13 * it under the terms of the GNU General Public License as published by | |
14 * the Free Software Foundation; either version 2 of the License, or | |
15 * (at your option) any later version. | |
16 * | |
17 * This program is distributed in the hope that it will be useful, | |
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 * GNU General Public License for more details. | |
21 * | |
22 * You should have received a copy of the GNU General Public License | |
23 * along with this program; if not, write to the Free Software | |
19680
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
17520
diff
changeset
|
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
15818 | 25 */ |
26 #ifndef _GNT_BLIST_H | |
27 #define _GNT_BLIST_H | |
28 | |
29 #include "blist.h" | |
22171
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
30 #include "gnttree.h" |
15818 | 31 |
32 /********************************************************************** | |
33 * @name GNT BuddyList API | |
34 **********************************************************************/ | |
35 /*@{*/ | |
36 | |
23256
f1441c4e4d2f
Add doxygen foo for FinchBlistManager.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22190
diff
changeset
|
37 /** |
f1441c4e4d2f
Add doxygen foo for FinchBlistManager.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22190
diff
changeset
|
38 * Buddylist manager for finch. This decides the visility, ordering and hierarchy |
f1441c4e4d2f
Add doxygen foo for FinchBlistManager.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22190
diff
changeset
|
39 * of the buddylist nodes. This also manages the creation of tooltips. |
f1441c4e4d2f
Add doxygen foo for FinchBlistManager.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22190
diff
changeset
|
40 */ |
22171
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
41 typedef struct |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
42 { |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
43 const char *id; /**< An identifier for the manager. */ |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
44 const char *name; /**< Displayable name for the manager. */ |
22190
bcaf4a037704
Init and uninit the buddylist managers at appropriate times.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22171
diff
changeset
|
45 gboolean (*init)(void); /**< Called right before it's being used. */ |
bcaf4a037704
Init and uninit the buddylist managers at appropriate times.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22171
diff
changeset
|
46 gboolean (*uninit)(void); /**< Called right after it's not being used any more. */ |
22171
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
47 gboolean (*can_add_node)(PurpleBlistNode *node); /**< Whether a node should be added to the view. */ |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
48 gpointer (*find_parent)(PurpleBlistNode *node); /**< Find the parent row for a node. */ |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
49 gboolean (*create_tooltip)(gpointer selected_row, GString **body, char **title); /**< Create tooltip for a selected row. */ |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
50 gpointer reserved[4]; |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
51 } FinchBlistManager; |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
52 |
15818 | 53 /** |
54 * Get the ui-functions. | |
55 * | |
15823 | 56 * @return The PurpleBlistUiOps structure populated with the appropriate functions. |
15818 | 57 */ |
15823 | 58 PurpleBlistUiOps * finch_blist_get_ui_ops(void); |
15818 | 59 |
60 /** | |
61 * Perform necessary initializations. | |
62 */ | |
63 void finch_blist_init(void); | |
64 | |
65 /** | |
66 * Perform necessary uninitializations. | |
67 */ | |
68 void finch_blist_uninit(void); | |
69 | |
70 /** | |
71 * Show the buddy list. | |
72 */ | |
73 void finch_blist_show(void); | |
74 | |
75 /** | |
76 * Get the position of the buddy list. | |
77 * | |
78 * @param x The x-coordinate is set here if not @ NULL. | |
79 * @param y The y-coordinate is set here if not @c NULL. | |
80 * | |
81 * @return Returns @c TRUE if the values were set, @c FALSE otherwise. | |
82 */ | |
83 gboolean finch_blist_get_position(int *x, int *y); | |
84 | |
85 /** | |
86 * Set the position of the buddy list. | |
87 * | |
88 * @param x The x-coordinate of the buddy list. | |
89 * @param y The y-coordinate of the buddy list. | |
90 */ | |
91 void finch_blist_set_position(int x, int y); | |
92 | |
93 /** | |
94 * Get the size of the buddy list. | |
95 * | |
96 * @param width The width is set here if not @ NULL. | |
97 * @param height The height is set here if not @c NULL. | |
98 * | |
99 * @return Returns @c TRUE if the values were set, @c FALSE otherwise. | |
100 */ | |
101 gboolean finch_blist_get_size(int *width, int *height); | |
102 | |
103 /** | |
104 * Set the size of the buddy list. | |
105 * | |
106 * @param width The width of the buddy list. | |
107 * @param height The height of the buddy list. | |
108 */ | |
109 void finch_blist_set_size(int width, int height); | |
110 | |
17275
319bcb73eb4e
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16194
diff
changeset
|
111 /** |
319bcb73eb4e
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16194
diff
changeset
|
112 * Get information about a user. Show immediate feedback. |
319bcb73eb4e
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16194
diff
changeset
|
113 * |
319bcb73eb4e
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16194
diff
changeset
|
114 * @param conn The connection to get information fro |
319bcb73eb4e
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16194
diff
changeset
|
115 * @param name The user to get information about. |
17520
464840043c66
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17275
diff
changeset
|
116 * |
464840043c66
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17275
diff
changeset
|
117 * @return Returns the ui-handle for the userinfo notification. |
20874
acf284962b40
Add @since doxygen tags for finch/libgnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20074
diff
changeset
|
118 * |
acf284962b40
Add @since doxygen tags for finch/libgnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20074
diff
changeset
|
119 * @since 2.1.0 |
17275
319bcb73eb4e
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16194
diff
changeset
|
120 */ |
17520
464840043c66
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17275
diff
changeset
|
121 gpointer finch_retrieve_user_info(PurpleConnection *conn, const char *name); |
17275
319bcb73eb4e
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16194
diff
changeset
|
122 |
22171
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
123 /** |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
124 * Get the tree list of the buddy list. |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
125 * @return The GntTree widget. |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
126 * @since 2.4.0 |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
127 */ |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
128 GntTree * finch_blist_get_tree(void); |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
129 |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
130 /** |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
131 * Add an alternate buddy list manager. |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
132 * |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
133 * @param manager The alternate buddylist manager. |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
134 * @since 2.4.0 |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
135 */ |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
136 void finch_blist_install_manager(const FinchBlistManager *manager); |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
137 |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
138 /** |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
139 * Remove an alternate buddy list manager. |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
140 * |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
141 * @param manager The buddy list manager to remove. |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
142 * @since 2.4.0 |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
143 */ |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
144 void finch_blist_uninstall_manager(const FinchBlistManager *manager); |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
145 |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
146 /** |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
147 * Find a buddy list manager. |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
148 * |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
149 * @param id The identifier for the desired buddy list manager. |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
150 * |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
151 * @return The manager with the requested identifier, if available. @c NULL otherwise. |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
152 * @since 2.4.0 |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
153 */ |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
154 FinchBlistManager * finch_blist_manager_find(const char *id); |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
155 |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
156 /** |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
157 * Request the active buddy list manager to add a node. |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
158 * |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
159 * @param node The node to add |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
160 * @since 2.4.0 |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
161 */ |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
162 void finch_blist_manager_add_node(PurpleBlistNode *node); |
2c9646c55369
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20874
diff
changeset
|
163 |
15818 | 164 /*@}*/ |
165 | |
166 #endif |