blist.h File Reference

Buddy List API

purple. More...

#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

PurpleBuddyListpurple_blist_new (void)
 Creates a new buddy list.
void purple_set_blist (PurpleBuddyList *blist)
 Sets the main buddy list.
PurpleBuddyListpurple_get_blist (void)
 Returns the main buddy list.
PurpleBlistNodepurple_blist_get_root (void)
 Returns the root node of the main buddy list.
PurpleBlistNodepurple_blist_node_next (PurpleBlistNode *node, gboolean offline)
 Returns the next 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_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.
PurpleChatpurple_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.
PurpleBuddypurple_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.
PurpleContactpurple_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.
PurpleGrouppurple_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.
PurpleContactpurple_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.
PurpleBuddypurple_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.
PurpleBuddypurple_find_buddy (PurpleAccount *account, const char *name)
 Finds the buddy struct given a screenname and an account.
PurpleBuddypurple_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.
PurpleGrouppurple_find_group (const char *name)
 Finds a group by name.
PurpleChatpurple_blist_find_chat (PurpleAccount *account, const char *name)
 Finds a chat by name.
PurpleGrouppurple_chat_get_group (PurpleChat *chat)
 Returns the group of which the chat is a member.
PurpleGrouppurple_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.
PurpleBlistUiOpspurple_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)   ((n)->type == PURPLE_BLIST_CHAT_NODE)
#define PURPLE_BLIST_NODE_IS_BUDDY(n)   ((n)->type == PURPLE_BLIST_BUDDY_NODE)
#define PURPLE_BLIST_NODE_IS_CONTACT(n)   ((n)->type == PURPLE_BLIST_CONTACT_NODE)
#define PURPLE_BLIST_NODE_IS_GROUP(n)   ((n)->type == PURPLE_BLIST_GROUP_NODE)
#define PURPLE_BUDDY_IS_ONLINE(b)
#define PURPLE_BLIST_NODE_HAS_FLAG(b, f)   ((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
typedef _PurpleBlistNode PurpleBlistNode
typedef _PurpleChat PurpleChat
typedef _PurpleGroup PurpleGroup
typedef _PurpleContact PurpleContact
typedef _PurpleBuddy PurpleBuddy

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 }

Functions

GList * purple_blist_node_get_extended_menu (PurpleBlistNode *n)
 Retrieves the extended menu items for a buddy list node.


Detailed Description

Buddy List API

purple.

Purple is the legal property of its developers, whose names are too numerous to list here. Please refer to the COPYRIGHT file distributed with this source distribution.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

See also:
Buddy List Signals

Define Documentation

#define PURPLE_BLIST_NODE_NAME  ) 
 

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)

#define PURPLE_BUDDY_IS_ONLINE  ) 
 

Value:


Enumeration Type Documentation

enum PurpleBlistNodeFlags
 

Enumerator:
PURPLE_BLIST_NODE_FLAG_NO_SAVE  node should not be saved with the buddy list


Function Documentation

void purple_blist_add_account PurpleAccount *  account  ) 
 

Called when an account gets signed on.

Tells the UI to update all the buddies.

Parameters:
account The account

void purple_blist_add_buddy PurpleBuddy buddy,
PurpleContact contact,
PurpleGroup group,
PurpleBlistNode node
 

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.

Parameters:
buddy The new buddy who gets added
contact The optional contact to place the buddy in.
group The group to add the new buddy to.
node The insertion point

void purple_blist_add_chat PurpleChat chat,
PurpleGroup group,
PurpleBlistNode node
 

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.

Parameters:
chat The new chat who gets added
group The group to add the new chat to.
node The insertion point

void purple_blist_add_contact PurpleContact contact,
PurpleGroup group,
PurpleBlistNode node
 

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.

Parameters:
contact The contact
group The group to add the contact to
node The insertion point

void purple_blist_add_group PurpleGroup group,
PurpleBlistNode node
 

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.

Parameters:
group The group
node The insertion point

void purple_blist_alias_buddy PurpleBuddy buddy,
const char *  alias
 

Aliases a buddy in the buddy list.

Parameters:
buddy The buddy whose alias will be changed.
alias The buddy's alias.

void purple_blist_alias_chat PurpleChat chat,
const char *  alias
 

Aliases a chat in the buddy list.

Parameters:
chat The chat whose alias will be changed.
alias The chat's new alias.

void purple_blist_alias_contact PurpleContact contact,
const char *  alias
 

Aliases a contact in the buddy list.

Parameters:
contact The contact whose alias will be changed.
alias The contact's alias.

PurpleChat* purple_blist_find_chat PurpleAccount *  account,
const char *  name
 

Finds a chat by name.

Parameters:
account The chat's account.
name The chat's name.
Returns:
The chat, or NULL if the chat does not exist.

int purple_blist_get_group_online_count PurpleGroup group  ) 
 

Determines the number of online buddies in a group.

Parameters:
group The group
Returns:
The number of online buddies in the group, or 0 if the group is NULL

int purple_blist_get_group_size PurpleGroup group,
gboolean  offline
 

Determines the total size of a group.

Parameters:
group The group
offline Count buddies in offline accounts
Returns:
The number of buddies in the group

void* purple_blist_get_handle void   ) 
 

Returns the handle for the buddy list subsystem.

Returns:
The buddy list subsystem handle.

PurpleBlistNode* purple_blist_get_root void   ) 
 

Returns the root node of the main buddy list.

Returns:
The root node.

PurpleBlistUiOps* purple_blist_get_ui_ops void   ) 
 

Returns the UI operations structure to be used for the buddy list.

Returns:
The UI operations structure.

void purple_blist_merge_contact PurpleContact source,
PurpleBlistNode node
 

Merges two contacts.

All of the buddies from source will be moved to target

Parameters:
source The contact to merge
node The place to merge to (a buddy or contact)

PurpleBuddyList* purple_blist_new void   ) 
 

Creates a new buddy list.

Returns:
The new 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.

Parameters:
node The node to retrieve the data from
key The identifier of the data
Returns:
The value, or FALSE if there is no setting

GList* purple_blist_node_get_extended_menu PurpleBlistNode n  ) 
 

Retrieves the extended menu items for a buddy list node.

Parameters:
n The blist node for which to obtain the extended menu items.
Returns:
A list of PurpleMenuAction items, as harvested by the blist-node-extended-menu signal.

PurpleBlistNodeFlags purple_blist_node_get_flags PurpleBlistNode node  ) 
 

Get the current flags on a given node.

Parameters:
node The node from which to get the flags.
Returns:
The flags on the node. This is a bitmask.

int purple_blist_node_get_int PurpleBlistNode node,
const char *  key
 

Retrieves a named integer setting from a node in the buddy list.

Parameters:
node The node to retrieve the data from
key The identifier of the data
Returns:
The value, or 0 if there is no setting

const char* purple_blist_node_get_string PurpleBlistNode node,
const char *  key
 

Retrieves a named string setting from a node in the buddy list.

Parameters:
node The node to retrieve the data from
key The identifier of the data
Returns:
The value, or NULL if there is no setting

PurpleBlistNodeType purple_blist_node_get_type PurpleBlistNode node  ) 
 

Get the type of a given node.

Parameters:
node The node.
Returns:
The type of the node.

PurpleBlistNode* purple_blist_node_next PurpleBlistNode node,
gboolean  offline
 

Returns the next node of a given node.

This function is to be used to iterate over the tree returned by purple_get_blist.

Parameters:
node A node.
offline Whether to include nodes for offline accounts
Returns:
The next node

void purple_blist_node_remove_setting PurpleBlistNode node,
const char *  key
 

Removes a named setting from a blist node.

Parameters:
node The node from which to remove the setting
key The name of the setting

void purple_blist_node_set_bool PurpleBlistNode node,
const char *  key,
gboolean  value
 

Associates a boolean with a node in the buddy list.

Parameters:
node The node to associate the data with
key The identifier for the data
value The value to set

void purple_blist_node_set_flags PurpleBlistNode node,
PurpleBlistNodeFlags  flags
 

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.

Parameters:
node The node on which to set the flags.
flags The flags to set. This is a bitmask.

void purple_blist_node_set_int PurpleBlistNode node,
const char *  key,
int  value
 

Associates an integer with a node in the buddy list.

Parameters:
node The node to associate the data with
key The identifier for the data
value The value to set

void purple_blist_node_set_string PurpleBlistNode node,
const char *  key,
const char *  value
 

Associates a string with a node in the buddy list.

Parameters:
node The node to associate the data with
key The identifier for the data
value The value to set

void purple_blist_remove_account PurpleAccount *  account  ) 
 

Called when an account gets signed off.

Sets the presence of all the buddies to 0 and tells the UI to update them.

Parameters:
account The account

void purple_blist_remove_buddy PurpleBuddy buddy  ) 
 

Removes a buddy from the buddy list and frees the memory allocated to it.

Parameters:
buddy The buddy to be removed

void purple_blist_remove_chat PurpleChat chat  ) 
 

Removes a chat from the buddy list and frees the memory allocated to it.

Parameters:
chat The chat to be removed

void purple_blist_remove_contact PurpleContact contact  ) 
 

Removes a contact, and any buddies it contains, and frees the memory allocated to it.

Parameters:
contact The contact to be removed

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.

Parameters:
group The group to be removed

void purple_blist_rename_buddy PurpleBuddy buddy,
const char *  name
 

Renames a buddy in the buddy list.

Parameters:
buddy The buddy whose name will be changed.
name The new name of the buddy.

void purple_blist_rename_group PurpleGroup group,
const char *  name
 

Renames a group.

Parameters:
group The group to rename
name The new name

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.

Parameters:
account The account the buddy is added to.
username The username of the buddy.
group The name of the group to place the buddy in.
alias The optional alias for the buddy.

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.

Parameters:
account The account the buddy is added to.
group The optional group to add the chat to.
alias The optional alias for the chat.
name The required chat name.

void purple_blist_schedule_save void   ) 
 

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.

void purple_blist_server_alias_buddy PurpleBuddy buddy,
const char *  alias
 

Sets the server-sent alias of a buddy in the buddy list.

PRPLs should call serv_got_alias() instead of this.

Parameters:
buddy The buddy whose alias will be changed.
alias The buddy's "official" alias.

void purple_blist_set_ui_ops PurpleBlistUiOps ops  ) 
 

Sets the UI operations structure to be used for the buddy list.

Parameters:
ops The ops struct.

void purple_blist_set_visible gboolean  show  ) 
 

Hides or unhides the buddy list.

Parameters:
show Whether or not to show the buddy list

void purple_blist_update_buddy_icon PurpleBuddy buddy  ) 
 

Updates a buddy's icon.

Parameters:
buddy The buddy whose buddy icon has changed

void purple_blist_update_buddy_status PurpleBuddy buddy,
PurpleStatus *  old_status
 

Updates a buddy's status.

Parameters:
buddy The buddy whose status has changed.
old_status The status from which we are changing.

PurpleAccount* purple_buddy_get_account const PurpleBuddy buddy  ) 
 

Returns a buddy's account.

Parameters:
buddy The buddy.
Returns:
The account

const char* purple_buddy_get_alias PurpleBuddy buddy  ) 
 

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.

Parameters:
buddy The buddy whose name will be returned.
Returns:
The appropriate name or alias, or NULL

const char* purple_buddy_get_alias_only PurpleBuddy buddy  ) 
 

Returns the alias of a buddy.

Parameters:
buddy The buddy whose name will be returned.
Returns:
The alias (if set), server alias (if set), or NULL.

PurpleContact* purple_buddy_get_contact PurpleBuddy buddy  ) 
 

Returns a buddy's contact.

Parameters:
buddy The buddy.
Returns:
The buddy's contact.

const char* purple_buddy_get_contact_alias PurpleBuddy buddy  ) 
 

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.

Parameters:
buddy The buddy whose name will be returned
Returns:
The appropriate name or alias, or NULL.

PurpleGroup* purple_buddy_get_group PurpleBuddy buddy  ) 
 

Returns the group of which the buddy is a member.

Parameters:
buddy The buddy
Returns:
The group or NULL if the buddy is not in a group

PurpleBuddyIcon* purple_buddy_get_icon const PurpleBuddy buddy  ) 
 

Returns a buddy's icon.

Parameters:
buddy The buddy.
Returns:
The buddy icon.

const char* purple_buddy_get_local_alias PurpleBuddy buddy  ) 
 

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.

Parameters:
buddy The buddy whose alias will be returned.
Returns:
The appropriate name or alias.

const char* purple_buddy_get_name const PurpleBuddy buddy  ) 
 

Returns a buddy's name.

Parameters:
buddy The buddy.
Returns:
The name.

PurplePresence* purple_buddy_get_presence const PurpleBuddy buddy  ) 
 

Returns a buddy's presence.

Parameters:
buddy The buddy.
Returns:
The buddy's presence.

const char* purple_buddy_get_server_alias PurpleBuddy buddy  ) 
 

Gets the server alias for a buddy.

Parameters:
buddy The buddy whose name will be returned
Returns:
The server alias, or NULL if it is not set.

PurpleBuddy* purple_buddy_new PurpleAccount *  account,
const char *  screenname,
const char *  alias
 

Creates a new buddy.

Parameters:
account The account this buddy will get added to
screenname The screenname of the new buddy
alias The alias of the new buddy (or NULL if unaliased)
Returns:
A newly allocated buddy

void purple_buddy_set_icon PurpleBuddy buddy,
PurpleBuddyIcon *  icon
 

Sets a buddy's icon.

This should only be called from within Purple. You probably want to call purple_buddy_icon_set_data().

Parameters:
buddy The buddy.
icon The buddy icon.
See also:
purple_buddy_icon_set_data()

PurpleGroup* purple_chat_get_group PurpleChat chat  ) 
 

Returns the group of which the chat is a member.

Parameters:
chat The chat.
Returns:
The parent group, or NULL if the chat is not in a group.

const char* purple_chat_get_name PurpleChat chat  ) 
 

Returns the correct name to display for a blist chat.

Parameters:
chat The chat whose name will be returned.
Returns:
The alias (if set), or first component value.

PurpleChat* purple_chat_new PurpleAccount *  account,
const char *  alias,
GHashTable *  components
 

Creates a new chat for the buddy list.

Parameters:
account The account this chat will get added to
alias The alias of the new chat
components The info the prpl needs to join the chat. The hash function should be g_str_hash() and the equal function should be g_str_equal().
Returns:
A newly allocated chat

const char* purple_contact_get_alias PurpleContact contact  ) 
 

Gets the alias for a contact.

Parameters:
contact The contact
Returns:
The alias, or NULL if it is not set.

PurpleBuddy* purple_contact_get_priority_buddy PurpleContact contact  ) 
 

Returns the highest priority buddy for a given contact.

Parameters:
contact The contact
Returns:
The highest priority buddy

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.

Parameters:
contact The contact

PurpleContact* purple_contact_new void   ) 
 

Creates a new contact.

Returns:
A new contact struct

gboolean purple_contact_on_account PurpleContact contact,
PurpleAccount *  account
 

Determines whether an account owns any buddies in a given contact.

Parameters:
contact The contact to search through.
account The account.
Returns:
TRUE if there are any buddies from account in the contact, or FALSE otherwise.

void purple_contact_set_alias PurpleContact contact,
const char *  alias
 

Sets the alias for a contact.

Parameters:
contact The contact
alias The alias to set, or NULL to unset

GSList* purple_find_buddies PurpleAccount *  account,
const char *  name
 

Finds all PurpleBuddy structs given a screenname and an account.

Parameters:
account The account this buddy belongs to
name The buddy's screenname (or NULL to return all buddies in the account)
Returns:
A GSList of buddies (which must be freed), or NULL if the buddy doesn't exist

PurpleBuddy* purple_find_buddy PurpleAccount *  account,
const char *  name
 

Finds the buddy struct given a screenname and an account.

Parameters:
account The account this buddy belongs to
name The buddy's screenname
Returns:
The buddy or NULL if the buddy does not exist

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.

Parameters:
account The account this buddy belongs to
name The buddy's screenname
group The group to look in
Returns:
The buddy or NULL if the buddy does not exist in the group

PurpleGroup* purple_find_group const char *  name  ) 
 

Finds a group by name.

Parameters:
name The group's name
Returns:
The group or NULL if the group does not exist

PurpleBuddyList* purple_get_blist void   ) 
 

Returns the main buddy list.

Returns:
The main buddy list.

GSList* purple_group_get_accounts PurpleGroup g  ) 
 

Returns a list of accounts that have buddies in this group.

Parameters:
g The group
Returns:
A list of purple_accounts

const char* purple_group_get_name PurpleGroup group  ) 
 

Returns the name of a group.

Parameters:
group The group.
Returns:
The name of the group.

PurpleGroup* purple_group_new const char *  name  ) 
 

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.

Parameters:
name The name of the new group
Returns:
A new group struct

gboolean purple_group_on_account PurpleGroup g,
PurpleAccount *  account
 

Determines whether an account owns any buddies in a given group.

Parameters:
g The group to search through.
account The account.
Returns:
TRUE if there are any buddies in the group, or FALSE otherwise.

void purple_set_blist PurpleBuddyList blist  ) 
 

Sets the main buddy list.

Parameters:
blist The buddy list you want to use.