#include "account.h"
#include "blist.h"
#include "imgstore.h"
#include "prpl.h"
#include "util.h"
Go to the source code of this file.
Typedefs | |
typedef struct _PurpleBuddyIcon | PurpleBuddyIcon |
Functions | |
Buddy Icon API | |
PurpleBuddyIcon * | purple_buddy_icon_new (PurpleAccount *account, const char *username, void *icon_data, size_t icon_len, const char *checksum) |
Creates a new buddy icon structure and populates it. | |
PurpleBuddyIcon * | purple_buddy_icon_ref (PurpleBuddyIcon *icon) |
Increments the reference count on a buddy icon. | |
PurpleBuddyIcon * | purple_buddy_icon_unref (PurpleBuddyIcon *icon) |
Decrements the reference count on a buddy icon. | |
void | purple_buddy_icon_update (PurpleBuddyIcon *icon) |
Updates every instance of this icon. | |
void | purple_buddy_icon_set_data (PurpleBuddyIcon *icon, guchar *data, size_t len, const char *checksum) |
Sets the buddy icon's data. | |
PurpleAccount * | purple_buddy_icon_get_account (const PurpleBuddyIcon *icon) |
Returns the buddy icon's account. | |
const char * | purple_buddy_icon_get_username (const PurpleBuddyIcon *icon) |
Returns the buddy icon's username. | |
const char * | purple_buddy_icon_get_checksum (const PurpleBuddyIcon *icon) |
Returns the buddy icon's checksum. | |
gconstpointer | purple_buddy_icon_get_data (const PurpleBuddyIcon *icon, size_t *len) |
Returns the buddy icon's data. | |
const char * | purple_buddy_icon_get_extension (const PurpleBuddyIcon *icon) |
Returns an extension corresponding to the buddy icon's file type. | |
char * | purple_buddy_icon_get_full_path (PurpleBuddyIcon *icon) |
Returns a full path to an icon. | |
Buddy Icon Subsystem API | |
void | purple_buddy_icons_set_for_user (PurpleAccount *account, const char *username, void *icon_data, size_t icon_len, const char *checksum) |
Sets a buddy icon for a user. | |
const char * | purple_buddy_icons_get_checksum_for_user (PurpleBuddy *buddy) |
Returns the checksum for the buddy icon of a specified buddy. | |
PurpleBuddyIcon * | purple_buddy_icons_find (PurpleAccount *account, const char *username) |
Returns the buddy icon information for a user. | |
gboolean | purple_buddy_icons_has_custom_icon (PurpleContact *contact) |
Returns a boolean indicating if a given contact has a custom buddy icon. | |
PurpleStoredImage * | purple_buddy_icons_find_account_icon (PurpleAccount *account) |
Returns the buddy icon image for an account. | |
PurpleStoredImage * | purple_buddy_icons_set_account_icon (PurpleAccount *account, guchar *icon_data, size_t icon_len) |
Sets a buddy icon for an account. | |
time_t | purple_buddy_icons_get_account_icon_timestamp (PurpleAccount *account) |
Returns the timestamp of when the icon was set. | |
PurpleStoredImage * | purple_buddy_icons_find_custom_icon (PurpleContact *contact) |
Returns the custom buddy icon image for a contact. | |
PurpleStoredImage * | purple_buddy_icons_set_custom_icon (PurpleContact *contact, guchar *icon_data, size_t icon_len) |
Sets a custom buddy icon for a user. | |
void | purple_buddy_icons_set_caching (gboolean caching) |
Sets whether or not buddy icon caching is enabled. | |
gboolean | purple_buddy_icons_is_caching (void) |
Returns whether or not buddy icon caching should be enabled. | |
void | purple_buddy_icons_set_cache_dir (const char *cache_dir) |
Sets the directory used to store buddy icon cache files. | |
const char * | purple_buddy_icons_get_cache_dir (void) |
Returns the directory used to store buddy icon cache files. | |
void * | purple_buddy_icons_get_handle (void) |
Returns the buddy icon subsystem handle. | |
void | purple_buddy_icons_init (void) |
Initializes the buddy icon subsystem. | |
void | purple_buddy_icons_uninit (void) |
Uninitializes the buddy icon subsystem. | |
Buddy Icon Helper API | |
void | purple_buddy_icon_get_scale_size (PurpleBuddyIconSpec *spec, int *width, int *height) |
Gets display size for a buddy icon. |
Definition in file buddyicon.h.
PurpleAccount* purple_buddy_icon_get_account | ( | const PurpleBuddyIcon * | icon | ) |
Returns the buddy icon's account.
icon | The buddy icon. |
const char* purple_buddy_icon_get_checksum | ( | const PurpleBuddyIcon * | icon | ) |
Returns the buddy icon's checksum.
This function is really only for prpl use.
icon | The buddy icon. |
gconstpointer purple_buddy_icon_get_data | ( | const PurpleBuddyIcon * | icon, | |
size_t * | len | |||
) |
Returns the buddy icon's data.
icon | The buddy icon. | |
len | If not NULL , the length of the icon data returned will be set in the location pointed to by this. |
const char* purple_buddy_icon_get_extension | ( | const PurpleBuddyIcon * | icon | ) |
Returns an extension corresponding to the buddy icon's file type.
icon | The buddy icon. |
NULL
if the image data has disappeared. char* purple_buddy_icon_get_full_path | ( | PurpleBuddyIcon * | icon | ) |
Returns a full path to an icon.
If the icon has data and the file exists in the cache, this will return a full path to the cache file.
In general, it is not appropriate to be poking in the icon cache directly. If you find yourself wanting to use this function, think very long and hard about it, and then don't.
icon | The buddy icon |
NULL
under various conditions. const char* purple_buddy_icon_get_username | ( | const PurpleBuddyIcon * | icon | ) |
Returns the buddy icon's username.
icon | The buddy icon. |
PurpleBuddyIcon* purple_buddy_icon_new | ( | PurpleAccount * | account, | |
const char * | username, | |||
void * | icon_data, | |||
size_t | icon_len, | |||
const char * | checksum | |||
) |
Creates a new buddy icon structure and populates it.
If the buddy icon already exists, you'll get a reference to that structure, which will have been updated with the data supplied.
account | The account the user is on. | |
username | The username the icon belongs to. | |
icon_data | The buddy icon data. | |
icon_len | The buddy icon length. | |
checksum | A protocol checksum from the prpl or NULL . |
PurpleBuddyIcon* purple_buddy_icon_ref | ( | PurpleBuddyIcon * | icon | ) |
Increments the reference count on a buddy icon.
icon | The buddy icon. |
void purple_buddy_icon_set_data | ( | PurpleBuddyIcon * | icon, | |
guchar * | data, | |||
size_t | len, | |||
const char * | checksum | |||
) |
Sets the buddy icon's data.
icon | The buddy icon. | |
data | The buddy icon data, which the buddy icon code takes ownership of and will free. | |
len | The length of the data in data. | |
checksum | A protocol checksum from the prpl or NULL . |
PurpleBuddyIcon* purple_buddy_icon_unref | ( | PurpleBuddyIcon * | icon | ) |
Decrements the reference count on a buddy icon.
If the reference count reaches 0, the icon will be destroyed.
icon | The buddy icon. |
NULL
if the reference count reached 0. void purple_buddy_icon_update | ( | PurpleBuddyIcon * | icon | ) |
Updates every instance of this icon.
icon | The buddy icon. |
PurpleBuddyIcon* purple_buddy_icons_find | ( | PurpleAccount * | account, | |
const char * | username | |||
) |
Returns the buddy icon information for a user.
account | The account the user is on. | |
username | The username of the user. |
NULL
if not found. PurpleStoredImage* purple_buddy_icons_find_account_icon | ( | PurpleAccount * | account | ) |
Returns the buddy icon image for an account.
The caller owns a reference to the image in the store, and must dereference the image with purple_imgstore_unref() for it to be freed.
This function deals with loading the icon from the cache, if needed, so it should be called in any case where you want the appropriate icon.
account | The account |
PurpleStoredImage* purple_buddy_icons_find_custom_icon | ( | PurpleContact * | contact | ) |
Returns the custom buddy icon image for a contact.
The caller owns a reference to the image in the store, and must dereference the image with purple_imgstore_unref() for it to be freed.
This function deals with loading the icon from the cache, if needed, so it should be called in any case where you want the appropriate icon.
contact | The contact |
time_t purple_buddy_icons_get_account_icon_timestamp | ( | PurpleAccount * | account | ) |
Returns the timestamp of when the icon was set.
This is intended for use in protocols that require a timestamp for buddy icon update reasons.
account | The account |
const char* purple_buddy_icons_get_cache_dir | ( | void | ) |
Returns the directory used to store buddy icon cache files.
The default directory is PURPLEDIR/icons, unless otherwise specified by purple_buddy_icons_set_cache_dir().
const char* purple_buddy_icons_get_checksum_for_user | ( | PurpleBuddy * | buddy | ) |
Returns the checksum for the buddy icon of a specified buddy.
This avoids loading the icon image data from the cache if it's not already loaded for some other reason.
buddy | The buddy |
void* purple_buddy_icons_get_handle | ( | void | ) |
Returns the buddy icon subsystem handle.
gboolean purple_buddy_icons_has_custom_icon | ( | PurpleContact * | contact | ) |
Returns a boolean indicating if a given contact has a custom buddy icon.
contact | The contact |
gboolean purple_buddy_icons_is_caching | ( | void | ) |
Returns whether or not buddy icon caching should be enabled.
The default is TRUE, unless otherwise specified by purple_buddy_icons_set_caching().
PurpleStoredImage* purple_buddy_icons_set_account_icon | ( | PurpleAccount * | account, | |
guchar * | icon_data, | |||
size_t | icon_len | |||
) |
Sets a buddy icon for an account.
This function will deal with saving a record of the icon, caching the data, etc.
account | The account for which to set a custom icon. | |
icon_data | The image data of the icon, which the buddy icon code will free. | |
icon_len | The length of the data in icon_data. |
void purple_buddy_icons_set_cache_dir | ( | const char * | cache_dir | ) |
Sets the directory used to store buddy icon cache files.
cache_dir | The directory to store buddy icon cache files to. |
void purple_buddy_icons_set_caching | ( | gboolean | caching | ) |
Sets whether or not buddy icon caching is enabled.
caching | TRUE of buddy icon caching should be enabled, or FALSE otherwise. |
PurpleStoredImage* purple_buddy_icons_set_custom_icon | ( | PurpleContact * | contact, | |
guchar * | icon_data, | |||
size_t | icon_len | |||
) |
Sets a custom buddy icon for a user.
This function will deal with saving a record of the icon, caching the data, etc.
contact | The contact for which to set a custom icon. | |
icon_data | The image data of the icon, which the buddy icon code will free. | |
icon_len | The length of the data in icon_data. |
void purple_buddy_icons_set_for_user | ( | PurpleAccount * | account, | |
const char * | username, | |||
void * | icon_data, | |||
size_t | icon_len, | |||
const char * | checksum | |||
) |
Sets a buddy icon for a user.
account | The account the user is on. | |
username | The username of the user. | |
icon_data | The buddy icon data, which the buddy icon code takes ownership of and will free. | |
icon_len | The length of the icon data. | |
checksum | A protocol checksum from the prpl or NULL . |