gntblist.h

Go to the documentation of this file.
00001 
00006 /* finch
00007  *
00008  * Finch is the legal property of its developers, whose names are too numerous
00009  * to list here.  Please refer to the COPYRIGHT file distributed with this
00010  * source distribution.
00011  *
00012  * This program is free software; you can redistribute it and/or modify
00013  * it under the terms of the GNU General Public License as published by
00014  * the Free Software Foundation; either version 2 of the License, or
00015  * (at your option) any later version.
00016  *
00017  * This program is distributed in the hope that it will be useful,
00018  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020  * GNU General Public License for more details.
00021  *
00022  * You should have received a copy of the GNU General Public License
00023  * along with this program; if not, write to the Free Software
00024  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
00025  */
00026 #ifndef _GNT_BLIST_H
00027 #define _GNT_BLIST_H
00028 
00029 #include "blist.h"
00030 #include "gnttree.h"
00031 
00032 /**********************************************************************
00033  * @name GNT BuddyList API
00034  **********************************************************************/
00041 typedef struct
00042 {
00043     const char *id;                                    
00044     const char *name;                                  
00045     gboolean (*init)(void);                            
00046     gboolean (*uninit)(void);                          
00047     gboolean (*can_add_node)(PurpleBlistNode *node);   
00048     gpointer (*find_parent)(PurpleBlistNode *node);    
00049     gboolean (*create_tooltip)(gpointer selected_row, GString **body, char **title);  
00050     gpointer reserved[4];
00051 } FinchBlistManager;
00052 
00058 PurpleBlistUiOps * finch_blist_get_ui_ops(void);
00059 
00063 void finch_blist_init(void);
00064 
00068 void finch_blist_uninit(void);
00069 
00073 void finch_blist_show(void);
00074 
00083 gboolean finch_blist_get_position(int *x, int *y);
00084 
00091 void finch_blist_set_position(int x, int y);
00092 
00101 gboolean finch_blist_get_size(int *width, int *height);
00102 
00109 void finch_blist_set_size(int width, int height);
00110 
00121 gpointer finch_retrieve_user_info(PurpleConnection *conn, const char *name);
00122 
00128 GntTree * finch_blist_get_tree(void);
00129 
00136 void finch_blist_install_manager(const FinchBlistManager *manager);
00137 
00144 void finch_blist_uninstall_manager(const FinchBlistManager *manager);
00145 
00154 FinchBlistManager * finch_blist_manager_find(const char *id);
00155 
00162 void finch_blist_manager_add_node(PurpleBlistNode *node);
00163 
00166 #endif