#include <glib.h>
#include "account.h"
#include "buddyicon.h"
#include "status.h"
Include dependency graph for blist.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | _PurpleBlistNode |
A Buddy list node. More... | |
struct | _PurpleBuddy |
A buddy. More... | |
struct | _PurpleContact |
A contact. More... | |
struct | _PurpleGroup |
A group. More... | |
struct | _PurpleChat |
A chat. More... | |
struct | _PurpleBuddyList |
The Buddy List. More... | |
struct | _PurpleBlistUiOps |
Buddy list UI operations. More... | |
Buddy List API | |
PurpleBuddyList * | purple_blist_new (void) |
Creates a new buddy list. | |
void | purple_set_blist (PurpleBuddyList *blist) |
Sets the main buddy list. | |
PurpleBuddyList * | purple_get_blist (void) |
Returns the main buddy list. | |
PurpleBlistNode * | purple_blist_get_root (void) |
Returns the root node of the main buddy list. | |
PurpleBlistNode * | purple_blist_node_next (PurpleBlistNode *node, gboolean offline) |
Returns the next node of a given node. | |
PurpleBlistNode * | purple_blist_node_get_parent (PurpleBlistNode *node) |
Returns the parent node of a given node. | |
PurpleBlistNode * | purple_blist_node_get_first_child (PurpleBlistNode *node) |
Returns the the first child node of a given node. | |
PurpleBlistNode * | purple_blist_node_get_sibling_next (PurpleBlistNode *node) |
Returns the sibling node of a given node. | |
PurpleBlistNode * | purple_blist_node_get_sibling_prev (PurpleBlistNode *node) |
Returns the previous sibling node of a given node. | |
void | purple_blist_show (void) |
Shows the buddy list, creating a new one if necessary. | |
void | purple_blist_destroy (void) |
Destroys the buddy list window. | |
void | purple_blist_set_visible (gboolean show) |
Hides or unhides the buddy list. | |
void | purple_blist_update_buddy_status (PurpleBuddy *buddy, PurpleStatus *old_status) |
Updates a buddy's status. | |
void | purple_blist_update_node_icon (PurpleBlistNode *node) |
Updates a node's custom icon. | |
void | purple_blist_update_buddy_icon (PurpleBuddy *buddy) |
Updates a buddy's icon. | |
void | purple_blist_rename_buddy (PurpleBuddy *buddy, const char *name) |
Renames a buddy in the buddy list. | |
void | purple_blist_alias_contact (PurpleContact *contact, const char *alias) |
Aliases a contact in the buddy list. | |
void | purple_blist_alias_buddy (PurpleBuddy *buddy, const char *alias) |
Aliases a buddy in the buddy list. | |
void | purple_blist_server_alias_buddy (PurpleBuddy *buddy, const char *alias) |
Sets the server-sent alias of a buddy in the buddy list. | |
void | purple_blist_alias_chat (PurpleChat *chat, const char *alias) |
Aliases a chat in the buddy list. | |
void | purple_blist_rename_group (PurpleGroup *group, const char *name) |
Renames a group. | |
PurpleChat * | purple_chat_new (PurpleAccount *account, const char *alias, GHashTable *components) |
Creates a new chat for the buddy list. | |
void | purple_blist_add_chat (PurpleChat *chat, PurpleGroup *group, PurpleBlistNode *node) |
Adds a new chat to the buddy list. | |
PurpleBuddy * | purple_buddy_new (PurpleAccount *account, const char *screenname, const char *alias) |
Creates a new buddy. | |
void | purple_buddy_set_icon (PurpleBuddy *buddy, PurpleBuddyIcon *icon) |
Sets a buddy's icon. | |
PurpleAccount * | purple_buddy_get_account (const PurpleBuddy *buddy) |
Returns a buddy's account. | |
const char * | purple_buddy_get_name (const PurpleBuddy *buddy) |
Returns a buddy's name. | |
PurpleBuddyIcon * | purple_buddy_get_icon (const PurpleBuddy *buddy) |
Returns a buddy's icon. | |
PurpleContact * | purple_buddy_get_contact (PurpleBuddy *buddy) |
Returns a buddy's contact. | |
PurplePresence * | purple_buddy_get_presence (const PurpleBuddy *buddy) |
Returns a buddy's presence. | |
void | purple_blist_add_buddy (PurpleBuddy *buddy, PurpleContact *contact, PurpleGroup *group, PurpleBlistNode *node) |
Adds a new buddy to the buddy list. | |
PurpleGroup * | purple_group_new (const char *name) |
Creates a new group. | |
void | purple_blist_add_group (PurpleGroup *group, PurpleBlistNode *node) |
Adds a new group to the buddy list. | |
PurpleContact * | purple_contact_new (void) |
Creates a new contact. | |
void | purple_blist_add_contact (PurpleContact *contact, PurpleGroup *group, PurpleBlistNode *node) |
Adds a new contact to the buddy list. | |
void | purple_blist_merge_contact (PurpleContact *source, PurpleBlistNode *node) |
Merges two contacts. | |
PurpleBuddy * | purple_contact_get_priority_buddy (PurpleContact *contact) |
Returns the highest priority buddy for a given contact. | |
void | purple_contact_set_alias (PurpleContact *contact, const char *alias) |
Sets the alias for a contact. | |
const char * | purple_contact_get_alias (PurpleContact *contact) |
Gets the alias for a contact. | |
gboolean | purple_contact_on_account (PurpleContact *contact, PurpleAccount *account) |
Determines whether an account owns any buddies in a given contact. | |
void | purple_contact_invalidate_priority_buddy (PurpleContact *contact) |
Invalidates the priority buddy so that the next call to purple_contact_get_priority_buddy recomputes it. | |
void | purple_blist_remove_buddy (PurpleBuddy *buddy) |
Removes a buddy from the buddy list and frees the memory allocated to it. | |
void | purple_blist_remove_contact (PurpleContact *contact) |
Removes a contact, and any buddies it contains, and frees the memory allocated to it. | |
void | purple_blist_remove_chat (PurpleChat *chat) |
Removes a chat from the buddy list and frees the memory allocated to it. | |
void | purple_blist_remove_group (PurpleGroup *group) |
Removes a group from the buddy list and frees the memory allocated to it and to its children. | |
const char * | purple_buddy_get_alias_only (PurpleBuddy *buddy) |
Returns the alias of a buddy. | |
const char * | purple_buddy_get_server_alias (PurpleBuddy *buddy) |
Gets the server alias for a buddy. | |
const char * | purple_buddy_get_contact_alias (PurpleBuddy *buddy) |
Returns the correct name to display for a buddy, taking the contact alias into account. | |
const char * | purple_buddy_get_local_alias (PurpleBuddy *buddy) |
Returns the correct alias for this user, ignoring server aliases. | |
const char * | purple_buddy_get_alias (PurpleBuddy *buddy) |
Returns the correct name to display for a buddy. | |
const char * | purple_chat_get_name (PurpleChat *chat) |
Returns the correct name to display for a blist chat. | |
PurpleBuddy * | purple_find_buddy (PurpleAccount *account, const char *name) |
Finds the buddy struct given a screenname and an account. | |
PurpleBuddy * | purple_find_buddy_in_group (PurpleAccount *account, const char *name, PurpleGroup *group) |
Finds the buddy struct given a screenname, an account, and a group. | |
GSList * | purple_find_buddies (PurpleAccount *account, const char *name) |
Finds all PurpleBuddy structs given a screenname and an account. | |
PurpleGroup * | purple_find_group (const char *name) |
Finds a group by name. | |
PurpleChat * | purple_blist_find_chat (PurpleAccount *account, const char *name) |
Finds a chat by name. | |
PurpleGroup * | purple_chat_get_group (PurpleChat *chat) |
Returns the group of which the chat is a member. | |
PurpleAccount * | purple_chat_get_account (PurpleChat *chat) |
Returns the account the chat belongs to. | |
GHashTable * | purple_chat_get_components (PurpleChat *chat) |
Get a hashtable containing information about a chat. | |
PurpleGroup * | purple_buddy_get_group (PurpleBuddy *buddy) |
Returns the group of which the buddy is a member. | |
GSList * | purple_group_get_accounts (PurpleGroup *g) |
Returns a list of accounts that have buddies in this group. | |
gboolean | purple_group_on_account (PurpleGroup *g, PurpleAccount *account) |
Determines whether an account owns any buddies in a given group. | |
const char * | purple_group_get_name (PurpleGroup *group) |
Returns the name of a group. | |
void | purple_blist_add_account (PurpleAccount *account) |
Called when an account gets signed on. | |
void | purple_blist_remove_account (PurpleAccount *account) |
Called when an account gets signed off. | |
int | purple_blist_get_group_size (PurpleGroup *group, gboolean offline) |
Determines the total size of a group. | |
int | purple_blist_get_group_online_count (PurpleGroup *group) |
Determines the number of online buddies in a group. | |
Buddy list file management API | |
void | purple_blist_load (void) |
Loads the buddy list from ~/.purple/blist.xml. | |
void | purple_blist_schedule_save (void) |
Schedule a save of the blist.xml file. | |
void | purple_blist_request_add_buddy (PurpleAccount *account, const char *username, const char *group, const char *alias) |
Requests from the user information needed to add a buddy to the buddy list. | |
void | purple_blist_request_add_chat (PurpleAccount *account, PurpleGroup *group, const char *alias, const char *name) |
Requests from the user information needed to add a chat to the buddy list. | |
void | purple_blist_request_add_group (void) |
Requests from the user information needed to add a group to the buddy list. | |
void | purple_blist_node_set_bool (PurpleBlistNode *node, const char *key, gboolean value) |
Associates a boolean with a node in the buddy list. | |
gboolean | purple_blist_node_get_bool (PurpleBlistNode *node, const char *key) |
Retrieves a named boolean setting from a node in the buddy list. | |
void | purple_blist_node_set_int (PurpleBlistNode *node, const char *key, int value) |
Associates an integer with a node in the buddy list. | |
int | purple_blist_node_get_int (PurpleBlistNode *node, const char *key) |
Retrieves a named integer setting from a node in the buddy list. | |
void | purple_blist_node_set_string (PurpleBlistNode *node, const char *key, const char *value) |
Associates a string with a node in the buddy list. | |
const char * | purple_blist_node_get_string (PurpleBlistNode *node, const char *key) |
Retrieves a named string setting from a node in the buddy list. | |
void | purple_blist_node_remove_setting (PurpleBlistNode *node, const char *key) |
Removes a named setting from a blist node. | |
void | purple_blist_node_set_flags (PurpleBlistNode *node, PurpleBlistNodeFlags flags) |
Set the flags for the given node. | |
PurpleBlistNodeFlags | purple_blist_node_get_flags (PurpleBlistNode *node) |
Get the current flags on a given node. | |
PurpleBlistNodeType | purple_blist_node_get_type (PurpleBlistNode *node) |
Get the type of a given node. | |
UI Registration Functions | |
void | purple_blist_set_ui_ops (PurpleBlistUiOps *ops) |
Sets the UI operations structure to be used for the buddy list. | |
PurpleBlistUiOps * | purple_blist_get_ui_ops (void) |
Returns the UI operations structure to be used for the buddy list. | |
Buddy List Subsystem | |
void * | purple_blist_get_handle (void) |
Returns the handle for the buddy list subsystem. | |
void | purple_blist_init (void) |
Initializes the buddy list subsystem. | |
void | purple_blist_uninit (void) |
Uninitializes the buddy list subsystem. | |
Defines | |
#define | PURPLE_BLIST_NODE_IS_CHAT(n) (purple_blist_node_get_type(n) == PURPLE_BLIST_CHAT_NODE) |
#define | PURPLE_BLIST_NODE_IS_BUDDY(n) (purple_blist_node_get_type(n) == PURPLE_BLIST_BUDDY_NODE) |
#define | PURPLE_BLIST_NODE_IS_CONTACT(n) (purple_blist_node_get_type(n) == PURPLE_BLIST_CONTACT_NODE) |
#define | PURPLE_BLIST_NODE_IS_GROUP(n) (purple_blist_node_get_type(n) == PURPLE_BLIST_GROUP_NODE) |
#define | PURPLE_BUDDY_IS_ONLINE(b) |
#define | PURPLE_BLIST_NODE_HAS_FLAG(b, f) (((PurpleBlistNode*)(b))->flags & (f)) |
#define | PURPLE_BLIST_NODE_SHOULD_SAVE(b) (! PURPLE_BLIST_NODE_HAS_FLAG(b, PURPLE_BLIST_NODE_FLAG_NO_SAVE)) |
#define | PURPLE_BLIST_NODE_NAME(n) |
Typedefs | |
typedef _PurpleBuddyList | PurpleBuddyList |
| |
typedef _PurpleBlistUiOps | PurpleBlistUiOps |
Any UI representing a buddy list must assign a filled-out PurpleBlistUiOps structure to the buddy list core. | |
typedef _PurpleBlistNode | PurpleBlistNode |
This can represent a group, a buddy, or anything else. This is a base class for struct buddy and struct group and for anything else that wants to put itself in the buddy list. | |
typedef _PurpleChat | PurpleChat |
This contains everything Purple needs to put a chat room in the buddy list. | |
typedef _PurpleGroup | PurpleGroup |
This contains everything Purple will ever need to know about a group. | |
typedef _PurpleContact | PurpleContact |
This contains everything Purple will ever need to know about a contact. | |
typedef _PurpleBuddy | PurpleBuddy |
This contains everything Purple will ever need to know about someone on the buddy list. Everything. | |
Enumerations | |
enum | PurpleBlistNodeType { PURPLE_BLIST_GROUP_NODE, PURPLE_BLIST_CONTACT_NODE, PURPLE_BLIST_BUDDY_NODE, PURPLE_BLIST_CHAT_NODE, PURPLE_BLIST_OTHER_NODE } |
enum | PurpleBlistNodeFlags { PURPLE_BLIST_NODE_FLAG_NO_SAVE = 1 << 0 } |
Functions | |
GList * | purple_blist_node_get_extended_menu (PurpleBlistNode *n) |
Retrieves the extended menu items for a buddy list node. |
Definition in file blist.h.
|
Value: ((n)->type == PURPLE_BLIST_CHAT_NODE ? purple_chat_get_name((PurpleChat*)n) : \ (n)->type == PURPLE_BLIST_BUDDY_NODE ? purple_buddy_get_name((PurpleBuddy*)n) : NULL) |
|
Value: ((b) != NULL && purple_account_is_connected(purple_buddy_get_account(b)) && \ purple_presence_is_online(purple_buddy_get_presence(b))) |
|
|
|
Called when an account gets signed on. Tells the UI to update all the buddies.
|
|
Adds a new buddy to the buddy list. The buddy will be inserted right after node or prepended to the group if node is NULL. If both are NULL, the buddy will be added to the "Buddies" group.
|
|
Adds a new chat to the buddy list. The chat will be inserted right after node or appended to the end of group if node is NULL. If both are NULL, the buddy will be added to the "Chats" group.
|
|
Adds a new contact to the buddy list. The new contact will be inserted after insert or prepended to the list if node is NULL.
|
|
Adds a new group to the buddy list. The new group will be inserted after insert or prepended to the list if node is NULL.
|
|
Aliases a buddy in the buddy list.
|
|
Aliases a chat in the buddy list.
|
|
Aliases a contact in the buddy list.
|
|
Finds a chat by name.
|
|
Determines the number of online buddies in a group.
|
|
Determines the total size of a group.
|
|
Returns the handle for the buddy list subsystem.
|
|
Returns the root node of the main buddy list.
|
|
Returns the UI operations structure to be used for the buddy list.
|
|
Merges two contacts. All of the buddies from source will be moved to target
|
|
Creates a new buddy list.
|
|
Retrieves a named boolean setting from a node in the buddy list.
|
|
Retrieves the extended menu items for a buddy list node.
|
|
Returns the the first child node of a given node.
|
|
Get the current flags on a given node.
|
|
Retrieves a named integer setting from a node in the buddy list.
|
|
Returns the parent node of a given node.
|
|
Returns the sibling node of a given node.
|
|
Returns the previous sibling node of a given node.
|
|
Retrieves a named string setting from a node in the buddy list.
|
|
Get the type of a given node.
|
|
Returns the next node of a given node. This function is to be used to iterate over the tree returned by purple_get_blist.
|
|
Removes a named setting from a blist node.
|
|
Associates a boolean with a node in the buddy list.
|
|
Set the flags for the given node. Setting a node's flags will overwrite the old flags, so if you want to save them, you must first call purple_blist_node_get_flags and modify that appropriately.
|
|
Associates an integer with a node in the buddy list.
|
|
Associates a string with a node in the buddy list.
|
|
Called when an account gets signed off. Sets the presence of all the buddies to 0 and tells the UI to update them.
|
|
Removes a buddy from the buddy list and frees the memory allocated to it. This doesn't actually try to remove the buddy from the server list, nor does it clean up the prpl_data.
|
|
Removes a chat from the buddy list and frees the memory allocated to it.
|
|
Removes a contact, and any buddies it contains, and frees the memory allocated to it.
|
|
Removes a group from the buddy list and frees the memory allocated to it and to its children.
|
|
Renames a buddy in the buddy list.
|
|
Renames a group.
|
|
Requests from the user information needed to add a buddy to the buddy list.
|
|
Requests from the user information needed to add a chat to the buddy list.
|
|
Schedule a save of the blist.xml file. This is used by the privacy API whenever the privacy settings are changed. If you make a change to blist.xml using one of the functions in the buddy list API, then the buddy list is saved automatically, so you should not need to call this. |
|
Sets the server-sent alias of a buddy in the buddy list. PRPLs should call serv_got_alias() instead of this.
|
|
Sets the UI operations structure to be used for the buddy list.
|
|
Hides or unhides the buddy list.
|
|
Updates a buddy's icon.
|
|
Updates a buddy's status.
|
|
Updates a node's custom icon.
|
|
Returns a buddy's account.
|
|
Returns the correct name to display for a buddy. In order of precedence: the buddy's alias; the buddy's server alias; the buddy's contact alias; the buddy's user name.
|
|
Returns the alias of a buddy.
|
|
Returns a buddy's contact.
|
|
Returns the correct name to display for a buddy, taking the contact alias into account. In order of precedence: the buddy's alias; the buddy's contact alias; the buddy's server alias; the buddy's user name.
|
|
Returns the group of which the buddy is a member.
|
|
Returns a buddy's icon.
|
|
Returns the correct alias for this user, ignoring server aliases. Used when a user-recognizable name is required. In order: buddy's alias; buddy's contact alias; buddy's user name.
|
|
Returns a buddy's name.
|
|
Returns a buddy's presence.
|
|
Gets the server alias for a buddy.
|
|
Creates a new buddy.
|
|
Sets a buddy's icon. This should only be called from within Purple. You probably want to call purple_buddy_icon_set_data().
|
|
Returns the account the chat belongs to.
|
|
Get a hashtable containing information about a chat.
|
|
Returns the group of which the chat is a member.
|
|
Returns the correct name to display for a blist chat.
|
|
Creates a new chat for the buddy list.
|
|
Gets the alias for a contact.
|
|
Returns the highest priority buddy for a given contact.
|
|
Invalidates the priority buddy so that the next call to purple_contact_get_priority_buddy recomputes it.
|
|
Creates a new contact.
|
|
Determines whether an account owns any buddies in a given contact.
|
|
Sets the alias for a contact.
|
|
Finds all PurpleBuddy structs given a screenname and an account.
|
|
Finds the buddy struct given a screenname and an account.
|
|
Finds the buddy struct given a screenname, an account, and a group.
|
|
Finds a group by name.
|
|
Returns the main buddy list.
|
|
Returns a list of accounts that have buddies in this group.
|
|
Returns the name of a group.
|
|
Creates a new group. You can't have more than one group with the same name. Sorry. If you pass this the * name of a group that already exists, it will return that group.
|
|
Determines whether an account owns any buddies in a given group.
|
|
Sets the main buddy list.
|