00001
00025 #ifndef _GAIM_BUDDYICON_H_
00026 #define _GAIM_BUDDYICON_H_
00027
00028 typedef struct _GaimBuddyIcon GaimBuddyIcon;
00029
00030 #include "account.h"
00031 #include "blist.h"
00032
00033 struct _GaimBuddyIcon
00034 {
00035 GaimAccount *account;
00036 char *username;
00038 void *data;
00039 size_t len;
00041 int ref_count;
00042 };
00043
00044
00046
00059 GaimBuddyIcon *gaim_buddy_icon_new(GaimAccount *account, const char *username,
00060 void *icon_data, size_t icon_len);
00061
00070 void gaim_buddy_icon_destroy(GaimBuddyIcon *icon);
00071
00079 GaimBuddyIcon *gaim_buddy_icon_ref(GaimBuddyIcon *icon);
00080
00090 GaimBuddyIcon *gaim_buddy_icon_unref(GaimBuddyIcon *icon);
00091
00097 void gaim_buddy_icon_update(GaimBuddyIcon *icon);
00098
00105 void gaim_buddy_icon_cache(GaimBuddyIcon *icon, GaimBuddy *buddy);
00106
00112 void gaim_buddy_icon_uncache(GaimBuddy *buddy);
00113
00120 void gaim_buddy_icon_set_account(GaimBuddyIcon *icon, GaimAccount *account);
00121
00128 void gaim_buddy_icon_set_username(GaimBuddyIcon *icon, const char *username);
00129
00137 void gaim_buddy_icon_set_data(GaimBuddyIcon *icon, void *data, size_t len);
00138
00146 GaimAccount *gaim_buddy_icon_get_account(const GaimBuddyIcon *icon);
00147
00155 const char *gaim_buddy_icon_get_username(const GaimBuddyIcon *icon);
00156
00165 const void *gaim_buddy_icon_get_data(const GaimBuddyIcon *icon, size_t *len);
00166
00174 const char *gaim_buddy_icon_get_type(const GaimBuddyIcon *icon);
00175
00178
00180
00191 void gaim_buddy_icons_set_for_user(GaimAccount *account, const char *username,
00192 void *icon_data, size_t icon_len);
00193
00202 GaimBuddyIcon *gaim_buddy_icons_find(GaimAccount *account,
00203 const char *username);
00204
00211 void gaim_buddy_icons_set_caching(gboolean caching);
00212
00221 gboolean gaim_buddy_icons_is_caching(void);
00222
00228 void gaim_buddy_icons_set_cache_dir(const char *cache_dir);
00229
00238 const char *gaim_buddy_icons_get_cache_dir(void);
00239
00245 void *gaim_buddy_icons_get_handle();
00246
00250 void gaim_buddy_icons_init();
00251
00255 void gaim_buddy_icons_uninit();
00256
00259 #endif