account.h   account.h 
skipping to change at line 258 skipping to change at line 258
* Notifies the user that a remote user has wants to add the local user * Notifies the user that a remote user has wants to add the local user
* to his or her buddy list and requires authorization to do so. * to his or her buddy list and requires authorization to do so.
* *
* This will present a dialog informing the user of this and ask if the * This will present a dialog informing the user of this and ask if the
* user authorizes or denies the remote user from adding him. * user authorizes or denies the remote user from adding him.
* *
* @param account The account that was added * @param account The account that was added
* @param remote_user The name of the user that added this account. * @param remote_user The name of the user that added this account.
* @param id The optional ID of the local account. Rarely used. * @param id The optional ID of the local account. Rarely used.
* @param alias The optional alias of the remote user. * @param alias The optional alias of the remote user.
* @param message The optional message sent from the uer requesting yo u * @param message The optional message sent by the user wanting to add you.
* @param on_list Is the remote user already on the buddy list? * @param on_list Is the remote user already on the buddy list?
* @param auth_cb The callback called when the local user accepts * @param auth_cb The callback called when the local user accepts
* @param deny_cb The callback called when the local user rejects * @param deny_cb The callback called when the local user rejects
* @param user_data Data to be passed back to the above callbacks * @param user_data Data to be passed back to the above callbacks
* *
* @return A UI-specific handle. * @return A UI-specific handle.
*/ */
void *purple_account_request_authorization(PurpleAccount *account, const ch ar *remote_user, void *purple_account_request_authorization(PurpleAccount *account, const ch ar *remote_user,
const char *id, const char *alias, c onst char *message, gboolean on_list, const char *id, const char *alias, c onst char *message, gboolean on_list,
PurpleAccountRequestAuthorizationCb auth_cb, PurpleAccountRequestAuthorizationCb deny_cb, void *user_data); PurpleAccountRequestAuthorizationCb auth_cb, PurpleAccountRequestAuthorizationCb deny_cb, void *user_data);
skipping to change at line 412 skipping to change at line 412
/** /**
* Sets the account's status types. * Sets the account's status types.
* *
* @param account The account. * @param account The account.
* @param status_types The list of status types. * @param status_types The list of status types.
*/ */
void purple_account_set_status_types(PurpleAccount *account, GList *status_ types); void purple_account_set_status_types(PurpleAccount *account, GList *status_ types);
/** /**
* Activates or deactivates a status. All changes to the statuses of * Variadic version of purple_account_set_status_list(); the variadic list
* an account go through this function or purple_account_set_status_list. * replaces @a attrs, and should be <tt>NULL</tt>-terminated.
*
* Only independent statuses can be deactivated with this. To deactivate
* an exclusive status, activate a different (and exclusive?) status.
* *
* @param account The account. * @copydoc purple_account_set_status_list()
* @param status_id The ID of the status.
* @param active The active state.
* @param ... Pairs of attributes for the new status passed in
* as a NULL-terminated list of id/value pairs.
*/ */
void purple_account_set_status(PurpleAccount *account, const char *status_i d, void purple_account_set_status(PurpleAccount *account, const char *status_i d,
gboolean active, .. .) G_GNUC_NULL_TERMINATED; gboolean active, ...) G_GNUC_NULL_TERMINATED;
/** /**
* Activates or deactivates a status. All changes to the statuses of * Activates or deactivates a status. All changes to the statuses of
* an account go through this function or purple_account_set_status. * an account go through this function or purple_account_set_status().
* *
* Only independent statuses can be deactivated with this. To deactivate * You can only deactivate an exclusive status by activating another exclus
* an exclusive status, activate a different (and exclusive?) status. ive
* status. So, if @a status_id is an exclusive status and @a active is @c
* FALSE, this function does nothing.
* *
* @param account The account. * @param account The account.
* @param status_id The ID of the status. * @param status_id The ID of the status.
* @param active The active state. * @param active Whether @a status_id is to be activated (<tt>TRUE</tt>)
* @param attrs A list of attributes in key/value pairs or
* deactivated (<tt>FALSE</tt>).
* @param attrs A list of <tt>const char *</tt> attribute names followe
d by
* <tt>const char *</tt> attribute values for the status.
* (For example, one pair might be <tt>"message"</tt> foll
owed
* by <tt>"hello, talk to me!"</tt>.)
*/ */
void purple_account_set_status_list(PurpleAccount *account, void purple_account_set_status_list(PurpleAccount *account,
const char const char *status_id, gboolean active, GList *attrs);
*status_id,
gboolean a
ctive, GList *attrs);
/** /**
* Clears all protocol-specific settings on an account. * Clears all protocol-specific settings on an account.
* *
* @param account The account. * @param account The account.
*/ */
void purple_account_clear_settings(PurpleAccount *account); void purple_account_clear_settings(PurpleAccount *account);
/** /**
* Sets a protocol-specific integer setting for an account. * Sets a protocol-specific integer setting for an account.
 End of changes. 8 change blocks. 
21 lines changed or deleted 20 lines changed or added


 accountopt.h   accountopt.h 
skipping to change at line 86 skipping to change at line 86
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/************************************************************************** / /************************************************************************** /
/** @name Account Option API * / /** @name Account Option API * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Creates a new account option. * Creates a new account option. If you know what @a type will be in advan
ce,
* consider using purple_account_option_bool_new(),
* purple_account_option_int_new(), purple_account_option_string_new() or
* purple_account_option_list_new() (as appropriate) instead.
* *
* @param type The type of option. * @param type The type of option.
* @param text The text of the option. * @param text The text of the option.
* @param pref_name The account preference name for the option. * @param pref_name The account preference name for the option.
* *
* @return The account option. * @return The account option.
*/ */
PurpleAccountOption *purple_account_option_new(PurplePrefType type, const c PurpleAccountOption *purple_account_option_new(PurplePrefType type,
har *text, const char *text, const char *pref_name);
const char *pref_name);
/** /**
* Creates a new boolean account option. * Creates a new boolean account option.
* *
* @param text The text of the option. * @param text The text of the option.
* @param pref_name The account preference name for the option. * @param pref_name The account preference name for the option.
* @param default_value The default value. * @param default_value The default value.
* *
* @return The account option. * @return The account option.
*/ */
PurpleAccountOption *purple_account_option_bool_new(const char *text, PurpleAccountOption *purple_account_option_bool_new(const char *text,
const char *pref_name, gboolean default_value);
const char *pref_name,
gboolean default_value);
/** /**
* Creates a new integer account option. * Creates a new integer account option.
* *
* @param text The text of the option. * @param text The text of the option.
* @param pref_name The account preference name for the option. * @param pref_name The account preference name for the option.
* @param default_value The default value. * @param default_value The default value.
* *
* @return The account option. * @return The account option.
*/ */
PurpleAccountOption *purple_account_option_int_new(const char *text, PurpleAccountOption *purple_account_option_int_new(const char *text,
const char *pref_name, int default_value);
const char *pref_name,
int default_value);
/** /**
* Creates a new string account option. * Creates a new string account option.
* *
* @param text The text of the option. * @param text The text of the option.
* @param pref_name The account preference name for the option. * @param pref_name The account preference name for the option.
* @param default_value The default value. * @param default_value The default value.
* *
* @return The account option. * @return The account option.
*/ */
PurpleAccountOption *purple_account_option_string_new(const char *text, PurpleAccountOption *purple_account_option_string_new(const char *text,
const char *pref_name, const char *default_value);
const char *pref_name,
const char *default_value);
/** /**
* Creates a new list account option. * Creates a new list account option.
* *
* The list passed will be owned by the account option, and the * The list passed will be owned by the account option, and the
* strings inside will be freed automatically. * strings inside will be freed automatically.
* *
* The list is a list of PurpleKeyValuePair items. The key is the ID stored and * The list is a list of PurpleKeyValuePair items. The key is the ID stored and
* used internally, and the value is the label displayed. * used internally, and the <tt>(const char *)</tt> value is the label disp layed.
* *
* @param text The text of the option. * @param text The text of the option.
* @param pref_name The account preference name for the option. * @param pref_name The account preference name for the option.
* @param list The key, value list. * @param list The key, value list.
* *
* @return The account option. * @return The account option.
*/ */
PurpleAccountOption *purple_account_option_list_new(const char *text, PurpleAccountOption *purple_account_option_list_new(const char *text,
const char *pref_name, GList *list);
const char *pref_name,
GList *list);
/** /**
* Destroys an account option. * Destroys an account option.
* *
* @param option The option to destroy. * @param option The option to destroy.
*/ */
void purple_account_option_destroy(PurpleAccountOption *option); void purple_account_option_destroy(PurpleAccountOption *option);
/** /**
* Sets the default boolean value for an account option. * Sets the default boolean value for an account option.
skipping to change at line 243 skipping to change at line 242
/** /**
* Returns the text for an account option. * Returns the text for an account option.
* *
* @param option The account option. * @param option The account option.
* *
* @return The account option's text. * @return The account option's text.
*/ */
const char *purple_account_option_get_text(const PurpleAccountOption *optio n); const char *purple_account_option_get_text(const PurpleAccountOption *optio n);
/** /**
* Returns the account setting for an account option. * Returns the name of an account option. This corresponds to the @c pref_
name
* parameter supplied to purple_account_option_new() or one of the
* type-specific constructors.
* *
* @param option The account option. * @param option The account option.
* *
* @return The account setting. * @return The option's name.
*/ */
const char *purple_account_option_get_setting(const PurpleAccountOption *op tion); const char *purple_account_option_get_setting(const PurpleAccountOption *op tion);
/** /**
* Returns the default boolean value for an account option. * Returns the default boolean value for an account option.
* *
* @param option The account option. * @param option The account option.
* *
* @return The default boolean value. * @return The default boolean value.
*/ */
 End of changes. 9 change blocks. 
24 lines changed or deleted 17 lines changed or added


 blist.h   blist.h 
skipping to change at line 56 skipping to change at line 56
typedef enum typedef enum
{ {
PURPLE_BLIST_GROUP_NODE, PURPLE_BLIST_GROUP_NODE,
PURPLE_BLIST_CONTACT_NODE, PURPLE_BLIST_CONTACT_NODE,
PURPLE_BLIST_BUDDY_NODE, PURPLE_BLIST_BUDDY_NODE,
PURPLE_BLIST_CHAT_NODE, PURPLE_BLIST_CHAT_NODE,
PURPLE_BLIST_OTHER_NODE PURPLE_BLIST_OTHER_NODE
} PurpleBlistNodeType; } PurpleBlistNodeType;
#define PURPLE_BLIST_NODE_IS_CHAT(n) ((n)->type == PURPLE_BLIST_CHAT_NOD #define PURPLE_BLIST_NODE_IS_CHAT(n) (purple_blist_node_get_type(n) == P
E) URPLE_BLIST_CHAT_NODE)
#define PURPLE_BLIST_NODE_IS_BUDDY(n) ((n)->type == PURPLE_BLIST_BUDDY_NO #define PURPLE_BLIST_NODE_IS_BUDDY(n) (purple_blist_node_get_type(n) == P
DE) URPLE_BLIST_BUDDY_NODE)
#define PURPLE_BLIST_NODE_IS_CONTACT(n) ((n)->type == PURPLE_BLIST_CONTACT_ #define PURPLE_BLIST_NODE_IS_CONTACT(n) (purple_blist_node_get_type(n) == P
NODE) URPLE_BLIST_CONTACT_NODE)
#define PURPLE_BLIST_NODE_IS_GROUP(n) ((n)->type == PURPLE_BLIST_GROUP_NO #define PURPLE_BLIST_NODE_IS_GROUP(n) (purple_blist_node_get_type(n) == P
DE) URPLE_BLIST_GROUP_NODE)
#define PURPLE_BUDDY_IS_ONLINE(b) \ #define PURPLE_BUDDY_IS_ONLINE(b) \
((b) != NULL && purple_account_is_connected((b)->account) && \ ((b) != NULL && purple_account_is_connected(purple_buddy_get_account (b)) && \
purple_presence_is_online(purple_buddy_get_presence(b))) purple_presence_is_online(purple_buddy_get_presence(b)))
typedef enum typedef enum
{ {
PURPLE_BLIST_NODE_FLAG_NO_SAVE = 1 << 0, /**< node should not b e saved with the buddy list */ PURPLE_BLIST_NODE_FLAG_NO_SAVE = 1 << 0, /**< node should not b e saved with the buddy list */
} PurpleBlistNodeFlags; } PurpleBlistNodeFlags;
#define PURPLE_BLIST_NODE_HAS_FLAG(b, f) (((PurpleBlistNode*)(b))->flags & (f)) #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, P URPLE_BLIST_NODE_FLAG_NO_SAVE)) #define PURPLE_BLIST_NODE_SHOULD_SAVE(b) (! PURPLE_BLIST_NODE_HAS_FLAG(b, P URPLE_BLIST_NODE_FLAG_NO_SAVE))
skipping to change at line 232 skipping to change at line 232
*/ */
PurpleBlistNode *purple_blist_get_root(void); PurpleBlistNode *purple_blist_get_root(void);
/** /**
* Returns the next node of a given node. This function is to be used to it erate * Returns the next node of a given node. This function is to be used to it erate
* over the tree returned by purple_get_blist. * over the tree returned by purple_get_blist.
* *
* @param node A node. * @param node A node.
* @param offline Whether to include nodes for offline accounts * @param offline Whether to include nodes for offline accounts
* @return The next node * @return The next node
* @see purple_blist_node_get_parent
* @see purple_blist_node_get_first_child
* @see purple_blist_node_get_sibling_next
* @see purple_blist_node_get_sibling_prev
*/ */
PurpleBlistNode *purple_blist_node_next(PurpleBlistNode *node, gboolean off line); PurpleBlistNode *purple_blist_node_next(PurpleBlistNode *node, gboolean off line);
/** /**
* Returns the parent node of a given node.
*
* @param node A node.
* @return The parent node.
* @since 2.4.0
* @see purple_blist_node_get_first_child
* @see purple_blist_node_get_sibling_next
* @see purple_blist_node_get_sibling_prev
* @see purple_blist_node_next
*/
PurpleBlistNode *purple_blist_node_get_parent(PurpleBlistNode *node);
/**
* Returns the the first child node of a given node.
*
* @param node A node.
* @return The child node.
* @since 2.4.0
* @see purple_blist_node_get_parent
* @see purple_blist_node_get_sibling_next
* @see purple_blist_node_get_sibling_prev
* @see purple_blist_node_next
*/
PurpleBlistNode *purple_blist_node_get_first_child(PurpleBlistNode *node);
/**
* Returns the sibling node of a given node.
*
* @param node A node.
* @return The sibling node.
* @since 2.4.0
* @see purple_blist_node_get_parent
* @see purple_blist_node_get_first_child
* @see purple_blist_node_get_sibling_prev
* @see purple_blist_node_next
*/
PurpleBlistNode *purple_blist_node_get_sibling_next(PurpleBlistNode *node);
/**
* Returns the previous sibling node of a given node.
*
* @param node A node.
* @return The sibling node.
* @since 2.4.0
* @see purple_blist_node_get_parent
* @see purple_blist_node_get_first_child
* @see purple_blist_node_get_sibling_next
* @see purple_blist_node_next
*/
PurpleBlistNode *purple_blist_node_get_sibling_prev(PurpleBlistNode *node);
/**
* Shows the buddy list, creating a new one if necessary. * Shows the buddy list, creating a new one if necessary.
*/ */
void purple_blist_show(void); void purple_blist_show(void);
/** /**
* Destroys the buddy list window. * Destroys the buddy list window.
*/ */
void purple_blist_destroy(void); void purple_blist_destroy(void);
/** /**
skipping to change at line 666 skipping to change at line 722
/** /**
* Returns the group of which the chat is a member. * Returns the group of which the chat is a member.
* *
* @param chat The chat. * @param chat The chat.
* *
* @return The parent group, or @c NULL if the chat is not in a group. * @return The parent group, or @c NULL if the chat is not in a group.
*/ */
PurpleGroup *purple_chat_get_group(PurpleChat *chat); PurpleGroup *purple_chat_get_group(PurpleChat *chat);
/** /**
* Returns the account the chat belongs to.
*
* @param chat The chat.
*
* @return The account the chat belongs to.
* @since 2.4.0
*/
PurpleAccount *purple_chat_get_account(PurpleChat *chat);
/**
* Get a hashtable containing information about a chat.
*
* @param chat The chat.
*
* @constreturn The hashtable.
* @since 2.4.0
*/
GHashTable *purple_chat_get_components(PurpleChat *chat);
/**
* Returns the group of which the buddy is a member. * Returns the group of which the buddy is a member.
* *
* @param buddy The buddy * @param buddy The buddy
* @return The group or NULL if the buddy is not in a group * @return The group or NULL if the buddy is not in a group
*/ */
PurpleGroup *purple_buddy_get_group(PurpleBuddy *buddy); PurpleGroup *purple_buddy_get_group(PurpleBuddy *buddy);
/** /**
* Returns a list of accounts that have buddies in this group * Returns a list of accounts that have buddies in this group
* *
* @param g The group * @param g The group
* *
* @return A list of purple_accounts * @return A GSList of accounts (which must be freed), or NULL if the group
* has no accounts.
*/ */
GSList *purple_group_get_accounts(PurpleGroup *g); GSList *purple_group_get_accounts(PurpleGroup *g);
/** /**
* Determines whether an account owns any buddies in a given group * Determines whether an account owns any buddies in a given group
* *
* @param g The group to search through. * @param g The group to search through.
* @param account The account. * @param account The account.
* *
* @return TRUE if there are any buddies in the group, or FALSE otherwise. * @return TRUE if there are any buddies in the group, or FALSE otherwise.
 End of changes. 6 change blocks. 
10 lines changed or deleted 87 lines changed or added


 certificate.h   certificate.h 
skipping to change at line 34 skipping to change at line 34
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-130 1 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-130 1 USA
*/ */
#ifndef _PURPLE_CERTIFICATE_H #ifndef _PURPLE_CERTIFICATE_H
#define _PURPLE_CERTIFICATE_H #define _PURPLE_CERTIFICATE_H
#include <time.h>
#include <glib.h> #include <glib.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
typedef enum typedef enum
{ {
PURPLE_CERTIFICATE_INVALID = 0, PURPLE_CERTIFICATE_INVALID = 0,
PURPLE_CERTIFICATE_VALID = 1 PURPLE_CERTIFICATE_VALID = 1
skipping to change at line 786 skipping to change at line 788
/** /**
* Displays a window showing X.509 certificate information * Displays a window showing X.509 certificate information
* *
* @param crt Certificate under an "x509" Scheme * @param crt Certificate under an "x509" Scheme
* @todo Will break on CA certs, as they have no Common Name * @todo Will break on CA certs, as they have no Common Name
*/ */
void void
purple_certificate_display_x509(PurpleCertificate *crt); purple_certificate_display_x509(PurpleCertificate *crt);
/**
* Add a search path for certificates.
*
* @param path Path to search for certificates.
*/
void purple_certificate_add_ca_search_path(const char *path);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /* __cplusplus */ #endif /* __cplusplus */
#endif /* _PURPLE_CERTIFICATE_H */ #endif /* _PURPLE_CERTIFICATE_H */
 End of changes. 2 change blocks. 
0 lines changed or deleted 9 lines changed or added


 cipher.h   cipher.h 
skipping to change at line 41 skipping to change at line 41
#define PURPLE_CIPHER(obj) ((PurpleCipher *)(obj)) /**< PurpleCipher typecast helper */ #define PURPLE_CIPHER(obj) ((PurpleCipher *)(obj)) /**< PurpleCipher typecast helper */
#define PURPLE_CIPHER_OPS(obj) ((PurpleCipherOps *)(obj)) /**< PurpleCipherInfo typecase helper */ #define PURPLE_CIPHER_OPS(obj) ((PurpleCipherOps *)(obj)) /**< PurpleCipherInfo typecase helper */
#define PURPLE_CIPHER_CONTEXT(obj) ((PurpleCipherContext *)(obj)) /**< PurpleCipherContext typecast helper */ #define PURPLE_CIPHER_CONTEXT(obj) ((PurpleCipherContext *)(obj)) /**< PurpleCipherContext typecast helper */
typedef struct _PurpleCipher PurpleCipher; /**< A handle to a PurpleCipher */ typedef struct _PurpleCipher PurpleCipher; /**< A handle to a PurpleCipher */
typedef struct _PurpleCipherOps PurpleCipherOps; /**< Ops for a PurpleCipher */ typedef struct _PurpleCipherOps PurpleCipherOps; /**< Ops for a PurpleCipher */
typedef struct _PurpleCipherContext PurpleCipherContext; /**< A conte xt for a PurpleCipher */ typedef struct _PurpleCipherContext PurpleCipherContext; /**< A conte xt for a PurpleCipher */
/** /**
* Modes for batch encrypters
*/
typedef enum _PurpleCipherBatchMode {
PURPLE_CIPHER_BATCH_MODE_ECB,
PURPLE_CIPHER_BATCH_MODE_CBC
} PurpleCipherBatchMode;
/**
* The operation flags for a cipher * The operation flags for a cipher
*/ */
typedef enum _PurpleCipherCaps { typedef enum _PurpleCipherCaps {
PURPLE_CIPHER_CAPS_SET_OPT = 1 << 1, PURPLE_CIPHER_CAPS_SET_OPT = 1 << 1, /**< Set option flag
/**< Set option flag */ */
PURPLE_CIPHER_CAPS_GET_OPT = 1 << 2, PURPLE_CIPHER_CAPS_GET_OPT = 1 << 2, /**< Get option flag
/**< Get option flag */ */
PURPLE_CIPHER_CAPS_INIT = 1 << 3, PURPLE_CIPHER_CAPS_INIT = 1 << 3, /**< Init flag
/**< Init flag */ */
PURPLE_CIPHER_CAPS_RESET = 1 << 4, PURPLE_CIPHER_CAPS_RESET = 1 << 4, /**< Reset flag
/**< Reset flag */ */
PURPLE_CIPHER_CAPS_UNINIT = 1 << 5, PURPLE_CIPHER_CAPS_UNINIT = 1 << 5, /**< Uninit flag
/**< Uninit flag */ */
PURPLE_CIPHER_CAPS_SET_IV = 1 << 6, PURPLE_CIPHER_CAPS_SET_IV = 1 << 6, /**< Set IV flag
/**< Set IV flag */ */
PURPLE_CIPHER_CAPS_APPEND = 1 << 7, PURPLE_CIPHER_CAPS_APPEND = 1 << 7, /**< Append flag
/**< Append flag */ */
PURPLE_CIPHER_CAPS_DIGEST = 1 << 8, PURPLE_CIPHER_CAPS_DIGEST = 1 << 8, /**< Digest flag
/**< Digest flag */ */
PURPLE_CIPHER_CAPS_ENCRYPT = 1 << 9, PURPLE_CIPHER_CAPS_ENCRYPT = 1 << 9, /**< Encrypt flag
/**< Encrypt flag */ */
PURPLE_CIPHER_CAPS_DECRYPT = 1 << 10, PURPLE_CIPHER_CAPS_DECRYPT = 1 << 10, /**< Decrypt flag
/**< Decrypt flag */ */
PURPLE_CIPHER_CAPS_SET_SALT = 1 << 11, PURPLE_CIPHER_CAPS_SET_SALT = 1 << 11, /**< Set salt flag
/**< Set salt flag */ */
PURPLE_CIPHER_CAPS_GET_SALT_SIZE = 1 << 12, PURPLE_CIPHER_CAPS_GET_SALT_SIZE = 1 << 12, /**< Get salt size f
/**< Get salt size flag */ lag */
PURPLE_CIPHER_CAPS_SET_KEY = 1 << 13, PURPLE_CIPHER_CAPS_SET_KEY = 1 << 13, /**< Set key flag
/**< Set key flag */ */
PURPLE_CIPHER_CAPS_GET_KEY_SIZE = 1 << 14, /**< PURPLE_CIPHER_CAPS_GET_KEY_SIZE = 1 << 14, /**< Get key size fl
Get key size flag */ ag */
PURPLE_CIPHER_CAPS_UNKNOWN = 1 << 16 PURPLE_CIPHER_CAPS_SET_BATCH_MODE = 1 << 15, /**< Set batch mode
/**< Unknown */ flag */
PURPLE_CIPHER_CAPS_GET_BATCH_MODE = 1 << 16, /**< Get batch mode
flag */
PURPLE_CIPHER_CAPS_GET_BLOCK_SIZE = 1 << 17, /**< The get block s
ize flag */
PURPLE_CIPHER_CAPS_SET_KEY_WITH_LEN = 1 << 18, /**< The set key wit
h length flag */
PURPLE_CIPHER_CAPS_UNKNOWN = 1 << 19 /**< Unknown
*/
} PurpleCipherCaps; } PurpleCipherCaps;
/** /**
* The operations of a cipher. Every cipher must implement one of these. * The operations of a cipher. Every cipher must implement one of these.
*/ */
struct _PurpleCipherOps { struct _PurpleCipherOps {
/** The set option function */ /** The set option function */
void (*set_option)(PurpleCipherContext *context, const gchar *name, void *value); void (*set_option)(PurpleCipherContext *context, const gchar *name, void *value);
/** The get option function */ /** The get option function */
skipping to change at line 107 skipping to change at line 119
/** The get salt size function */ /** The get salt size function */
size_t (*get_salt_size)(PurpleCipherContext *context); size_t (*get_salt_size)(PurpleCipherContext *context);
/** The set key function */ /** The set key function */
void (*set_key)(PurpleCipherContext *context, const guchar *key); void (*set_key)(PurpleCipherContext *context, const guchar *key);
/** The get key size function */ /** The get key size function */
size_t (*get_key_size)(PurpleCipherContext *context); size_t (*get_key_size)(PurpleCipherContext *context);
void (*_purple_reserved1)(void); /** The set batch mode function */
void (*_purple_reserved2)(void); void (*set_batch_mode)(PurpleCipherContext *context, PurpleCipherBat
void (*_purple_reserved3)(void); chMode mode);
void (*_purple_reserved4)(void);
/** The get batch mode function */
PurpleCipherBatchMode (*get_batch_mode)(PurpleCipherContext *context
);
/** The get block size function */
size_t (*get_block_size)(PurpleCipherContext *context);
/** The set key with length function */
void (*set_key_with_len)(PurpleCipherContext *context, const guchar
*key, size_t len);
}; };
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
/************************************************************************** ***/ /************************************************************************** ***/
/** @name PurpleCipher API */ /** @name PurpleCipher API */
/************************************************************************** ***/ /************************************************************************** ***/
/*@{*/ /*@{*/
skipping to change at line 347 skipping to change at line 366
* @param output The output buffer * @param output The output buffer
* @param outlen The len of data that was outputed * @param outlen The len of data that was outputed
* *
* @return A cipher specific status code * @return A cipher specific status code
*/ */
gint purple_cipher_context_decrypt(PurpleCipherContext *context, const guch ar data[], size_t len, guchar output[], size_t *outlen); gint purple_cipher_context_decrypt(PurpleCipherContext *context, const guch ar data[], size_t len, guchar output[], size_t *outlen);
/** /**
* Sets the salt on a context * Sets the salt on a context
* *
* @param context The context who's salt to set * @param context The context whose salt to set
* @param salt The salt * @param salt The salt
*/ */
void purple_cipher_context_set_salt(PurpleCipherContext *context, guchar *s alt); void purple_cipher_context_set_salt(PurpleCipherContext *context, guchar *s alt);
/** /**
* Gets the size of the salt if the cipher supports it * Gets the size of the salt if the cipher supports it
* *
* @param context The context who's salt size to get * @param context The context whose salt size to get
* *
* @return The size of the salt * @return The size of the salt
*/ */
size_t purple_cipher_context_get_salt_size(PurpleCipherContext *context); size_t purple_cipher_context_get_salt_size(PurpleCipherContext *context);
/** /**
* Sets the key on a context * Sets the key on a context
* *
* @param context The context who's key to set * @param context The context whose key to set
* @param key The key * @param key The key
*/ */
void purple_cipher_context_set_key(PurpleCipherContext *context, const guch ar *key); void purple_cipher_context_set_key(PurpleCipherContext *context, const guch ar *key);
/** /**
* Gets the key size for a context * Gets the key size for a context
* *
* @param context The context who's key size to get * @param context The context whose key size to get
* *
* @return The size of the key * @return The size of the key
*/ */
size_t purple_cipher_context_get_key_size(PurpleCipherContext *context); size_t purple_cipher_context_get_key_size(PurpleCipherContext *context);
/** /**
* Sets the batch mode of a context
*
* @param context The context whose batch mode to set
* @param mode The batch mode under which the cipher should operate
*
*/
void purple_cipher_context_set_batch_mode(PurpleCipherContext *context, Pur
pleCipherBatchMode mode);
/**
* Gets the batch mode of a context
*
* @param context The context whose batch mode to get
*
* @return The batch mode under which the cipher is operating
*/
PurpleCipherBatchMode purple_cipher_context_get_batch_mode(PurpleCipherCont
ext *context);
/**
* Gets the block size of a context
*
* @param context The context whose block size to get
*
* @return The block size of the context
*/
size_t purple_cipher_context_get_block_size(PurpleCipherContext *context);
/**
* Sets the key with a given length on a context
*
* @param context The context whose key to set
* @param key The key
* @param len The length of the key
*
*/
void purple_cipher_context_set_key_with_len(PurpleCipherContext *context, c
onst guchar *key, size_t len);
/**
* Sets the cipher data for a context * Sets the cipher data for a context
* *
* @param context The context who's cipher data to set * @param context The context whose cipher data to set
* @param data The cipher data to set * @param data The cipher data to set
*/ */
void purple_cipher_context_set_data(PurpleCipherContext *context, gpointer data); void purple_cipher_context_set_data(PurpleCipherContext *context, gpointer data);
/** /**
* Gets the cipher data for a context * Gets the cipher data for a context
* *
* @param context The context who's cipher data to get * @param context The context whose cipher data to get
* *
* @return The cipher data * @return The cipher data
*/ */
gpointer purple_cipher_context_get_data(PurpleCipherContext *context); gpointer purple_cipher_context_get_data(PurpleCipherContext *context);
/*@}*/ /*@}*/
/************************************************************************** ***/ /************************************************************************** ***/
/** @name Purple Cipher HTTP Digest Helper Functions */ /** @name Purple Cipher HTTP Digest Helper Functions */
/************************************************************************** ***/ /************************************************************************** ***/
/*@{*/ /*@{*/
 End of changes. 10 change blocks. 
40 lines changed or deleted 106 lines changed or added


 cmds.h   cmds.h 
skipping to change at line 33 skipping to change at line 33
#ifndef _PURPLE_CMDS_H_ #ifndef _PURPLE_CMDS_H_
#define _PURPLE_CMDS_H_ #define _PURPLE_CMDS_H_
#include "conversation.h" #include "conversation.h"
/************************************************************************** / /************************************************************************** /
/** @name Structures * / /** @name Structures * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
enum _PurpleCmdStatus { typedef enum _PurpleCmdStatus {
PURPLE_CMD_STATUS_OK, PURPLE_CMD_STATUS_OK,
PURPLE_CMD_STATUS_FAILED, PURPLE_CMD_STATUS_FAILED,
PURPLE_CMD_STATUS_NOT_FOUND, PURPLE_CMD_STATUS_NOT_FOUND,
PURPLE_CMD_STATUS_WRONG_ARGS, PURPLE_CMD_STATUS_WRONG_ARGS,
PURPLE_CMD_STATUS_WRONG_PRPL, PURPLE_CMD_STATUS_WRONG_PRPL,
PURPLE_CMD_STATUS_WRONG_TYPE, PURPLE_CMD_STATUS_WRONG_TYPE,
}; } PurpleCmdStatus;
enum _PurpleCmdRet { typedef enum _PurpleCmdRet {
PURPLE_CMD_RET_OK, /**< Everything's okay. Don't look for anot her command to call. */ PURPLE_CMD_RET_OK, /**< Everything's okay. Don't look for anot her command to call. */
PURPLE_CMD_RET_FAILED, /**< The command failed, but stop looking.* / PURPLE_CMD_RET_FAILED, /**< The command failed, but stop looking.* /
PURPLE_CMD_RET_CONTINUE, /**< Continue, looking for other commands w ith the same name to call. */ PURPLE_CMD_RET_CONTINUE, /**< Continue, looking for other commands w ith the same name to call. */
}; } PurpleCmdRet;
#define PURPLE_CMD_FUNC(func) ((PurpleCmdFunc)func) #define PURPLE_CMD_FUNC(func) ((PurpleCmdFunc)func)
typedef enum _PurpleCmdRet (*PurpleCmdFunc)(PurpleConversation *, const gch ar *cmd, typedef PurpleCmdRet (*PurpleCmdFunc)(PurpleConversation *, const gchar *cm d,
gchar **args, gchar **error, void *data); gchar **args, gchar **error, void *data);
typedef guint PurpleCmdId; typedef guint PurpleCmdId;
enum _PurpleCmdPriority { typedef enum _PurpleCmdPriority {
PURPLE_CMD_P_VERY_LOW = -1000, PURPLE_CMD_P_VERY_LOW = -1000,
PURPLE_CMD_P_LOW = 0, PURPLE_CMD_P_LOW = 0,
PURPLE_CMD_P_DEFAULT = 1000, PURPLE_CMD_P_DEFAULT = 1000,
PURPLE_CMD_P_PRPL = 2000, PURPLE_CMD_P_PRPL = 2000,
PURPLE_CMD_P_PLUGIN = 3000, PURPLE_CMD_P_PLUGIN = 3000,
PURPLE_CMD_P_ALIAS = 4000, PURPLE_CMD_P_ALIAS = 4000,
PURPLE_CMD_P_HIGH = 5000, PURPLE_CMD_P_HIGH = 5000,
PURPLE_CMD_P_VERY_HIGH = 6000, PURPLE_CMD_P_VERY_HIGH = 6000,
}; } PurpleCmdPriority;
/** Flags used to set various properties of commands. Every command should /** Flags used to set various properties of commands. Every command should
* have at least one of #PURPLE_CMD_FLAG_IM and #PURPLE_CMD_FLAG_CHAT set in * have at least one of #PURPLE_CMD_FLAG_IM and #PURPLE_CMD_FLAG_CHAT set in
* order to be even slighly useful. * order to be even slighly useful.
* *
* @see purple_cmd_register * @see purple_cmd_register
*/ */
enum _PurpleCmdFlag { typedef enum _PurpleCmdFlag {
/** Command is usable in IMs. */ /** Command is usable in IMs. */
PURPLE_CMD_FLAG_IM = 0x01, PURPLE_CMD_FLAG_IM = 0x01,
/** Command is usable in multi-user chats. */ /** Command is usable in multi-user chats. */
PURPLE_CMD_FLAG_CHAT = 0x02, PURPLE_CMD_FLAG_CHAT = 0x02,
/** Command is usable only for a particular prpl. */ /** Command is usable only for a particular prpl. */
PURPLE_CMD_FLAG_PRPL_ONLY = 0x04, PURPLE_CMD_FLAG_PRPL_ONLY = 0x04,
/** Incorrect arguments to this command should be accepted anyway. * / /** Incorrect arguments to this command should be accepted anyway. * /
PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS = 0x08, PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS = 0x08,
}; } PurpleCmdFlag;
typedef enum _PurpleCmdPriority PurpleCmdPriority;
typedef enum _PurpleCmdFlag PurpleCmdFlag;
typedef enum _PurpleCmdStatus PurpleCmdStatus;
typedef enum _PurpleCmdRet PurpleCmdRet;
/*@}*/ /*@}*/
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/************************************************************************** / /************************************************************************** /
/** @name Commands API * / /** @name Commands API * /
/************************************************************************** / /************************************************************************** /
 End of changes. 9 change blocks. 
14 lines changed or deleted 9 lines changed or added


 connection.h   connection.h 
skipping to change at line 199 skipping to change at line 199
* @deprecated in favour of * @deprecated in favour of
* #PurpleConnectionUiOps.report_disconnect_reason. * #PurpleConnectionUiOps.report_disconnect_reason.
*/ */
void (*report_disconnect)(PurpleConnection *gc, const char *text); void (*report_disconnect)(PurpleConnection *gc, const char *text);
/** Called when libpurple discovers that the computer's network /** Called when libpurple discovers that the computer's network
* connection is active. On Linux, this uses Network Manager if * connection is active. On Linux, this uses Network Manager if
* available; on Windows, it uses Win32's network change notificati on * available; on Windows, it uses Win32's network change notificati on
* infrastructure. * infrastructure.
*/ */
void (*network_connected)(); void (*network_connected)(void);
/** Called when libpurple discovers that the computer's network /** Called when libpurple discovers that the computer's network
* connection has gone away. * connection has gone away.
*/ */
void (*network_disconnected)(); void (*network_disconnected)(void);
/** Called when an error causes a connection to be disconnected. /** Called when an error causes a connection to be disconnected.
* Called before #disconnected. This op is intended to replace * Called before #disconnected. This op is intended to replace
* #report_disconnect. If both are implemented, this will be calle d * #report_disconnect. If both are implemented, this will be calle d
* first; however, there's no real reason to implement both. * first; however, there's no real reason to implement both.
* @param reason why the connection ended, if known, or * @param reason why the connection ended, if known, or
* #PURPLE_CONNECTION_ERROR_OTHER_ERROR, if not. * #PURPLE_CONNECTION_ERROR_OTHER_ERROR, if not.
* @param text a localized message describing the disconnection * @param text a localized message describing the disconnection
* in more detail to the user. * in more detail to the user.
* @see #purple_connection_error_reason * @see #purple_connection_error_reason
skipping to change at line 254 skipping to change at line 254
/** Wants to Die state. This is set when the user chooses to log ou t, or /** Wants to Die state. This is set when the user chooses to log ou t, or
* when the protocol is disconnected and should not be automatically * when the protocol is disconnected and should not be automatically
* reconnected (incorrect password, etc.). prpls should rely on * reconnected (incorrect password, etc.). prpls should rely on
* purple_connection_error_reason() to set this for them rather than * purple_connection_error_reason() to set this for them rather than
* setting it themselves. * setting it themselves.
* @see purple_connection_error_is_fatal * @see purple_connection_error_is_fatal
*/ */
gboolean wants_to_die; gboolean wants_to_die;
guint disconnect_timeout; /**< Timer used for nasty stack tricks */ guint disconnect_timeout; /**< Timer used for nasty stack tricks */
time_t last_received; /**< When we last received a packet. Se
t by the
prpl to avoid sending unneeded kee
palives */
}; };
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/************************************************************************** / /************************************************************************** /
/** @name Connection API * / /** @name Connection API * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
skipping to change at line 365 skipping to change at line 367
* @return The connection state. * @return The connection state.
*/ */
PurpleConnectionState purple_connection_get_state(const PurpleConnection *g c); PurpleConnectionState purple_connection_get_state(const PurpleConnection *g c);
/** /**
* Returns TRUE if the account is connected, otherwise returns FALSE. * Returns TRUE if the account is connected, otherwise returns FALSE.
* *
* @return TRUE if the account is connected, otherwise returns FALSE. * @return TRUE if the account is connected, otherwise returns FALSE.
*/ */
#define PURPLE_CONNECTION_IS_CONNECTED(gc) \ #define PURPLE_CONNECTION_IS_CONNECTED(gc) \
(gc->state == PURPLE_CONNECTED) (purple_connection_get_state(gc) == PURPLE_CONNECTED)
/** /**
* Returns the connection's account. * Returns the connection's account.
* *
* @param gc The connection. * @param gc The connection.
* *
* @return The connection's account. * @return The connection's account.
*/ */
PurpleAccount *purple_connection_get_account(const PurpleConnection *gc); PurpleAccount *purple_connection_get_account(const PurpleConnection *gc);
/** /**
* Returns the protocol plugin managing a connection.
*
* @param gc The connection.
*
* @return The protocol plugin.
* @since 2.4.0
*/
PurplePlugin * purple_connection_get_prpl(const PurpleConnection *gc);
/**
* Returns the connection's password. * Returns the connection's password.
* *
* @param gc The connection. * @param gc The connection.
* *
* @return The connection's password. * @return The connection's password.
*/ */
const char *purple_connection_get_password(const PurpleConnection *gc); const char *purple_connection_get_password(const PurpleConnection *gc);
/** /**
* Returns the connection's displayed name. * Returns the connection's displayed name.
 End of changes. 5 change blocks. 
3 lines changed or deleted 17 lines changed or added


 conversation.h   conversation.h 
skipping to change at line 489 skipping to change at line 489
* @param conv The conversation. * @param conv The conversation.
* @param name The conversation's name. * @param name The conversation's name.
*/ */
void purple_conversation_set_name(PurpleConversation *conv, const char *nam e); void purple_conversation_set_name(PurpleConversation *conv, const char *nam e);
/** /**
* Returns the specified conversation's name. * Returns the specified conversation's name.
* *
* @param conv The conversation. * @param conv The conversation.
* *
* @return The conversation's name. * @return The conversation's name. If the conversation is an IM with a Pur
pleBuddy,
* then it's the name of the PurpleBuddy.
*/ */
const char *purple_conversation_get_name(const PurpleConversation *conv); const char *purple_conversation_get_name(const PurpleConversation *conv);
/** /**
* Enables or disables logging for this conversation. * Enables or disables logging for this conversation.
* *
* @param conv The conversation. * @param conv The conversation.
* @param log @c TRUE if logging should be enabled, or @c FALSE otherwise. * @param log @c TRUE if logging should be enabled, or @c FALSE otherwise.
*/ */
void purple_conversation_set_logging(PurpleConversation *conv, gboolean log ); void purple_conversation_set_logging(PurpleConversation *conv, gboolean log );
skipping to change at line 715 skipping to change at line 716
* *
* @since 2.2.0 * @since 2.2.0
*/ */
const char *purple_conversation_message_get_message(PurpleConvMessage *msg) ; const char *purple_conversation_message_get_message(PurpleConvMessage *msg) ;
/** /**
* Get the message-flags of a PurpleConvMessage * Get the message-flags of a PurpleConvMessage
* *
* @param msg A PurpleConvMessage * @param msg A PurpleConvMessage
* *
* @return The name of the sender of the message * @return The message flags
* *
* @since 2.2.0 * @since 2.2.0
*/ */
PurpleMessageFlags purple_conversation_message_get_flags(PurpleConvMessage *msg); PurpleMessageFlags purple_conversation_message_get_flags(PurpleConvMessage *msg);
/** /**
* Get the timestamp of a PurpleConvMessage * Get the timestamp of a PurpleConvMessage
* *
* @param msg A PurpleConvMessage * @param msg A PurpleConvMessage
* *
* @return The name of the sender of the message * @return The timestamp of the message
* *
* @since 2.2.0 * @since 2.2.0
*/ */
time_t purple_conversation_message_get_timestamp(PurpleConvMessage *msg); time_t purple_conversation_message_get_timestamp(PurpleConvMessage *msg);
/*@}*/ /*@}*/
/************************************************************************** / /************************************************************************** /
/** @name IM Conversation API * / /** @name IM Conversation API * /
/************************************************************************** / /************************************************************************** /
 End of changes. 3 change blocks. 
3 lines changed or deleted 5 lines changed or added


 core.h   core.h 
skipping to change at line 70 skipping to change at line 70
/** /**
* Quits the core of purple, which, depending on the UI, may quit the * Quits the core of purple, which, depending on the UI, may quit the
* application using the purple core. * application using the purple core.
*/ */
void purple_core_quit(void); void purple_core_quit(void);
/** /**
* Calls purple_core_quit(). This can be used as the function * Calls purple_core_quit(). This can be used as the function
* passed to purple_timeout_add() when you want to shutdown Purple * passed to purple_timeout_add() when you want to shutdown Purple
* in a specified amount of time. When shutting down Purple * in a specified amount of time. When shutting down Purple
* from a plugin, you must use this with a timeout value of 0: * from a plugin, you must use this instead of purple_core_quit();
* for an immediate exit, use a timeout value of 0:
* purple_timeout_add(0, purple_core_quitcb, NULL); * purple_timeout_add(0, purple_core_quitcb, NULL);
* This is ensures that code from your plugin is not being * This is ensures that code from your plugin is not being
* executed when purple_core_quit() is called. Otherwise you * executed when purple_core_quit() is called. If the plugin
* would get a core dump after purple_core_quit() executes and * called purple_core_quit() directly, you would get a core dump
* control returns to your plugin because purple_core_quit() frees * after purple_core_quit() executes and control returns to your
* all plugins. * plugin because purple_core_quit() frees all plugins.
*/ */
gboolean purple_core_quit_cb(gpointer unused); gboolean purple_core_quit_cb(gpointer unused);
/** /**
* Returns the version of the core library. * Returns the version of the core library.
* *
* @return The version of the core library. * @return The version of the core library.
*/ */
const char *purple_core_get_version(void); const char *purple_core_get_version(void);
 End of changes. 2 change blocks. 
5 lines changed or deleted 6 lines changed or added


 finch.h   finch.h 
skipping to change at line 32 skipping to change at line 32
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-130 1 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-130 1 USA
*/ */
#include <glib.h> #include <glib.h>
#include "libpurple/internal.h" #include "libpurple/internal.h"
#define FINCH_UI "gnt-purple" #define FINCH_UI "gnt-purple"
#define FINCH_PREFS_ROOT "/finch" #define FINCH_PREFS_ROOT "/finch"
#define FINCH_GET_DATA(obj) (obj)->ui_data
#define FINCH_SET_DATA(obj, data) (obj)->ui_data = data
 End of changes. 1 change blocks. 
0 lines changed or deleted 0 lines changed or added


 ft.h   ft.h 
skipping to change at line 361 skipping to change at line 361
/** /**
* Returns the remote port number in the file transfer. * Returns the remote port number in the file transfer.
* *
* @param xfer The file transfer. * @param xfer The file transfer.
* *
* @return The port number on the other end. * @return The port number on the other end.
*/ */
unsigned int purple_xfer_get_remote_port(const PurpleXfer *xfer); unsigned int purple_xfer_get_remote_port(const PurpleXfer *xfer);
/** /**
* Returns the time the transfer of a file started.
*
* @param xfer The file transfer.
*
* @return The time when the transfer started.
* @since 2.4.0
*/
time_t purple_xfer_get_start_time(const PurpleXfer *xfer);
/**
* Returns the time the transfer of a file ended.
*
* @param xfer The file transfer.
*
* @return The time when the transfer ended.
* @since 2.4.0
*/
time_t purple_xfer_get_end_time(const PurpleXfer *xfer);
/**
* Sets the completed state for the file transfer. * Sets the completed state for the file transfer.
* *
* @param xfer The file transfer. * @param xfer The file transfer.
* @param completed The completed state. * @param completed The completed state.
*/ */
void purple_xfer_set_completed(PurpleXfer *xfer, gboolean completed); void purple_xfer_set_completed(PurpleXfer *xfer, gboolean completed);
/** /**
* Sets the filename for the file transfer. * Sets the filename for the file transfer.
* *
 End of changes. 1 change blocks. 
0 lines changed or deleted 20 lines changed or added


 gnt.h   gnt.h 
skipping to change at line 144 skipping to change at line 144
* @param widget The widget to set the URGENT hint for. * @param widget The widget to set the URGENT hint for.
*/ */
void gnt_widget_set_urgent(GntWidget *widget); void gnt_widget_set_urgent(GntWidget *widget);
/** /**
* Register a global action. * Register a global action.
* *
* @param label The user-visible label for the action. * @param label The user-visible label for the action.
* @param callback The callback function for the action. * @param callback The callback function for the action.
*/ */
void gnt_register_action(const char *label, void (*callback)()); void gnt_register_action(const char *label, void (*callback)(void));
/** /**
* Show a menu. * Show a menu.
* *
* @param menu The menu to display. * @param menu The menu to display.
* *
* @return @c TRUE if the menu is displayed, @c FALSE otherwise (e.g., if a nother menu is currently displayed). * @return @c TRUE if the menu is displayed, @c FALSE otherwise (e.g., if a nother menu is currently displayed).
*/ */
gboolean gnt_screen_menu_show(gpointer menu); gboolean gnt_screen_menu_show(gpointer menu);
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 gntblist.h   gntblist.h 
skipping to change at line 30 skipping to change at line 30
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-130 1 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-130 1 USA
*/ */
#ifndef _GNT_BLIST_H #ifndef _GNT_BLIST_H
#define _GNT_BLIST_H #define _GNT_BLIST_H
#include "blist.h" #include "blist.h"
#include "gnttree.h"
/********************************************************************** /**********************************************************************
* @name GNT BuddyList API * @name GNT BuddyList API
**********************************************************************/ **********************************************************************/
/*@{*/ /*@{*/
typedef struct
{
const char *id; /**< An identifie
r for the manager. */
const char *name; /**< Displayable
name for the manager. */
gboolean (*init)(void); /**< Called right
before it's being used. */
gboolean (*uninit)(void); /**< Called right
after it's not being used any more. */
gboolean (*can_add_node)(PurpleBlistNode *node); /**< Whether a no
de should be added to the view. */
gpointer (*find_parent)(PurpleBlistNode *node); /**< Find the par
ent row for a node. */
gboolean (*create_tooltip)(gpointer selected_row, GString **body, ch
ar **title); /**< Create tooltip for a selected row. */
gpointer reserved[4];
} FinchBlistManager;
/** /**
* Get the ui-functions. * Get the ui-functions.
* *
* @return The PurpleBlistUiOps structure populated with the appropriate fu nctions. * @return The PurpleBlistUiOps structure populated with the appropriate fu nctions.
*/ */
PurpleBlistUiOps * finch_blist_get_ui_ops(void); PurpleBlistUiOps * finch_blist_get_ui_ops(void);
/** /**
* Perform necessary initializations. * Perform necessary initializations.
*/ */
skipping to change at line 106 skipping to change at line 119
* *
* @param conn The connection to get information fro * @param conn The connection to get information fro
* @param name The user to get information about. * @param name The user to get information about.
* *
* @return Returns the ui-handle for the userinfo notification. * @return Returns the ui-handle for the userinfo notification.
* *
* @since 2.1.0 * @since 2.1.0
*/ */
gpointer finch_retrieve_user_info(PurpleConnection *conn, const char *name) ; gpointer finch_retrieve_user_info(PurpleConnection *conn, const char *name) ;
/**
* Get the tree list of the buddy list.
* @return The GntTree widget.
* @since 2.4.0
*/
GntTree * finch_blist_get_tree(void);
/**
* Add an alternate buddy list manager.
*
* @param manager The alternate buddylist manager.
* @since 2.4.0
*/
void finch_blist_install_manager(const FinchBlistManager *manager);
/**
* Remove an alternate buddy list manager.
*
* @param manager The buddy list manager to remove.
* @since 2.4.0
*/
void finch_blist_uninstall_manager(const FinchBlistManager *manager);
/**
* Find a buddy list manager.
*
* @param id The identifier for the desired buddy list manager.
*
* @return The manager with the requested identifier, if available. @c NUL
L otherwise.
* @since 2.4.0
*/
FinchBlistManager * finch_blist_manager_find(const char *id);
/**
* Request the active buddy list manager to add a node.
*
* @param node The node to add
* @since 2.4.0
*/
void finch_blist_manager_add_node(PurpleBlistNode *node);
/*@}*/ /*@}*/
#endif #endif
 End of changes. 3 change blocks. 
0 lines changed or deleted 62 lines changed or added


 gntcolors.h   gntcolors.h 
skipping to change at line 89 skipping to change at line 89
*/ */
void gnt_colors_parse(GKeyFile *kfile); void gnt_colors_parse(GKeyFile *kfile);
/** /**
* Parse color-pair information from a file. * Parse color-pair information from a file.
* *
* @param kfile The file containing the color-pair information. * @param kfile The file containing the color-pair information.
*/ */
void gnt_color_pairs_parse(GKeyFile *kfile); void gnt_color_pairs_parse(GKeyFile *kfile);
/**
* Parse a string color
*
* @param kfile The string value
*
* @return A color
*
* @since 2.4.0
*/
int gnt_colors_get_color(char *key);
#endif #endif
/** /**
* Return the appropriate character attribute for a specified color. * Return the appropriate character attribute for a specified color.
* If the terminal doesn't have color support, this returns A_STANDOUT * If the terminal doesn't have color support, this returns A_STANDOUT
* when deemed appropriate. * when deemed appropriate.
* *
* @param color The color code. * @param color The color code.
* *
* @return A character attribute. * @return A character attribute.
* *
* @since 2.3.0 * @since 2.3.0
*/ */
int gnt_color_pair(int color); int gnt_color_pair(int color);
/**
* Adds a color definition
*
* @param fg Foreground
* @param bg Background
*
* @return A color pair
*
* @since 2.4.0
*/
int gnt_color_add_pair(int fg, int bg);
#endif #endif
 End of changes. 2 change blocks. 
0 lines changed or deleted 21 lines changed or added


 gntft.h   gntft.h 
skipping to change at line 57 skipping to change at line 57
/** /**
* Displays the file transfer dialog given. * Displays the file transfer dialog given.
* If dialog is @c NULL, displays the default dialog, creating one if neces sary * If dialog is @c NULL, displays the default dialog, creating one if neces sary
*/ */
void finch_xfer_dialog_show(void); void finch_xfer_dialog_show(void);
/** /**
* Hides the file transfer dialog. * Hides the file transfer dialog.
*/ */
void finch_xfer_dialog_hide(); void finch_xfer_dialog_hide(void);
/** /**
* Adds a file transfer to the dialog. * Adds a file transfer to the dialog.
* *
* @param xfer The file transfer. * @param xfer The file transfer.
*/ */
void finch_xfer_dialog_add_xfer(PurpleXfer *xfer); void finch_xfer_dialog_add_xfer(PurpleXfer *xfer);
/** /**
* Removes a file transfer from the dialog. * Removes a file transfer from the dialog.
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 gntplugin.h   gntplugin.h 
skipping to change at line 43 skipping to change at line 43
#include <string.h> #include <string.h>
#include "finch.h" #include "finch.h"
/********************************************************************** /**********************************************************************
* @name GNT Plugins API * @name GNT Plugins API
**********************************************************************/ **********************************************************************/
/*@{*/ /*@{*/
typedef GntWidget* (*FinchPluginFrame) (); typedef GntWidget* (*FinchPluginFrame) (void);
/* Guess where these came from */ /* Guess where these came from */
#define FINCH_PLUGIN_TYPE FINCH_UI #define FINCH_PLUGIN_TYPE FINCH_UI
/** /**
* Decide whether a plugin is a GNT-plugin. * Decide whether a plugin is a GNT-plugin.
*/ */
#define PURPLE_IS_GNT_PLUGIN(plugin) \ #define PURPLE_IS_GNT_PLUGIN(plugin) \
((plugin)->info != NULL && (plugin)->info->ui_info != NULL && \ ((plugin)->info != NULL && (plugin)->info->ui_info != NULL && \
!strcmp((plugin)->info->ui_requirement, FINCH_PLUGIN_TYPE)) !strcmp((plugin)->info->ui_requirement, FINCH_PLUGIN_TYPE))
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 gntrequest.h   gntrequest.h 
skipping to change at line 30 skipping to change at line 30
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-130 1 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-130 1 USA
*/ */
#ifndef _GNT_REQUEST_H #ifndef _GNT_REQUEST_H
#define _GNT_REQUEST_H #define _GNT_REQUEST_H
#include "request.h" #include "request.h"
#include "gnt.h"
/********************************************************************** /**********************************************************************
* @name GNT Request API * @name GNT Request API
**********************************************************************/ **********************************************************************/
/*@{*/ /*@{*/
/** /**
* Get the ui-functions. * Get the ui-functions.
* *
* @return The PurpleRequestUiOps structure populated with the appropriate functions. * @return The PurpleRequestUiOps structure populated with the appropriate functions.
skipping to change at line 59 skipping to change at line 60
* Perform necessary uninitializations. * Perform necessary uninitializations.
*/ */
void finch_request_uninit(void); void finch_request_uninit(void);
/** /**
* Save the request fields in preferences where the id attribute of each fi eld is the * Save the request fields in preferences where the id attribute of each fi eld is the
* id of a preference. * id of a preference.
*/ */
void finch_request_save_in_prefs(gpointer null, PurpleRequestFields *fields ); void finch_request_save_in_prefs(gpointer null, PurpleRequestFields *fields );
/**
* Create a widget field for a request-field.
*
* @param field The request field.
*
* @return A GntWidget for the request field.
* @since 2.4.0
*/
GntWidget *finch_request_field_get_widget(PurpleRequestField *field);
/*@}*/ /*@}*/
#endif #endif
 End of changes. 2 change blocks. 
0 lines changed or deleted 10 lines changed or added


 gntstyle.h   gntstyle.h 
skipping to change at line 68 skipping to change at line 68
* will be used first, if available. Otherwise, "general" wi ll be used. * will be used first, if available. Otherwise, "general" wi ll be used.
* @param key The key * @param key The key
* *
* @return The value of the setting as a string, or @c NULL * @return The value of the setting as a string, or @c NULL
* *
* @since 2.0.0 (gnt), 2.1.0 (pidgin) * @since 2.0.0 (gnt), 2.1.0 (pidgin)
*/ */
char *gnt_style_get_from_name(const char *group, const char *key); char *gnt_style_get_from_name(const char *group, const char *key);
/** /**
* Get the value of a preference in ~/.gntrc.
*
* @param group The name of the group in the keyfile. If @c NULL, the prg
name
* will be used first, if available. Otherwise, "general" wi
ll be used.
* @param key The key
* @param length Return location for the number of strings returned, or NU
LL
*
* @return NULL terminated string array. The array should be freed w
ith g_strfreev().
*
* @since 2.4.0
*/
char **gnt_style_get_string_list(const char *group, const char *key, gsize
*length);
/**
* Get the value of a color pair in ~/.gntrc.
*
* @param group The name of the group in the keyfile. If @c NULL, the prg
name
* will be used first, if available. Otherwise, "general" wi
ll be used.
* @param key The key
*
* @return The value of the color as an int, or 0 on error.
*
* @since 2.4.0
*/
int gnt_style_get_color(char *group, char *key);
/**
* Parse a boolean preference. For example, if 'value' is "false" (ignoring case) * Parse a boolean preference. For example, if 'value' is "false" (ignoring case)
* or "0", the return value will be @c FALSE, otherwise @c TRUE. * or "0", the return value will be @c FALSE, otherwise @c TRUE.
* *
* @param value The value of the boolean setting as a string * @param value The value of the boolean setting as a string
* @return The boolean value * @return The boolean value
* *
* @since 2.0.0 (gnt), 2.1.0 (pidgin) * @since 2.0.0 (gnt), 2.1.0 (pidgin)
*/ */
gboolean gnt_style_parse_bool(const char *value); gboolean gnt_style_parse_bool(const char *value);
 End of changes. 1 change blocks. 
0 lines changed or deleted 34 lines changed or added


 gnttree.h   gnttree.h 
skipping to change at line 328 skipping to change at line 328
/** /**
* Set flags for the text in a row in the tree. * Set flags for the text in a row in the tree.
* *
* @param tree The tree * @param tree The tree
* @param key The key for the row * @param key The key for the row
* @param flags The flags to set * @param flags The flags to set
*/ */
void gnt_tree_set_row_flags(GntTree *tree, void *key, GntTextFormatFlags fl ags); void gnt_tree_set_row_flags(GntTree *tree, void *key, GntTextFormatFlags fl ags);
/** /**
* Set color for the text in a row in the tree.
*
* @param tree The tree
* @param key The key for the row
* @param color The color
* @since 2.4.0
*/
void gnt_tree_set_row_color(GntTree *tree, void *key, int color);
/**
* Select a row. * Select a row.
* *
* @param tree The tree * @param tree The tree
* @param key The key of the row to select * @param key The key of the row to select
*/ */
void gnt_tree_set_selected(GntTree *tree , void *key); void gnt_tree_set_selected(GntTree *tree , void *key);
/** /**
* Create a row to insert in the tree. * Create a row to insert in the tree.
* *
skipping to change at line 568 skipping to change at line 578
* sent the tree itself, the key of a row, the search * sent the tree itself, the key of a row, the search
* string and the content of row in the search column. * string and the content of row in the search column.
* If the function returns @c TRUE, the row is dislayed, * If the function returns @c TRUE, the row is dislayed,
* otherwise it's not. * otherwise it's not.
* *
* @since 2.0.0 (gnt), 2.1.0 (pidgin) * @since 2.0.0 (gnt), 2.1.0 (pidgin)
*/ */
void gnt_tree_set_search_function(GntTree *tree, void gnt_tree_set_search_function(GntTree *tree,
gboolean (*func)(GntTree *tree, gpointer key, const char *se arch, const char *current)); gboolean (*func)(GntTree *tree, gpointer key, const char *se arch, const char *current));
/**
* Get the parent key for a row.
*
* @param tree The tree
* @param key The key for the row.
*
* @return The key of the parent row.
* @since 2.4.0
*/
gpointer gnt_tree_get_parent_key(GntTree *tree, gpointer key);
G_END_DECLS G_END_DECLS
#endif /* GNT_TREE_H */ #endif /* GNT_TREE_H */
 End of changes. 2 change blocks. 
0 lines changed or deleted 21 lines changed or added


 gntwm.h   gntwm.h 
skipping to change at line 76 skipping to change at line 76
int x; int x;
int y; int y;
} GntPosition; } GntPosition;
/** /**
* An application can register actions which will show up in a 'start-menu' like popup * An application can register actions which will show up in a 'start-menu' like popup
*/ */
typedef struct _GntAction typedef struct _GntAction
{ {
const char *label; const char *label;
void (*callback)(); void (*callback)(void);
} GntAction; } GntAction;
struct _GntWM struct _GntWM
{ {
GntBindable inherit; GntBindable inherit;
GMainLoop *loop; GMainLoop *loop;
GList *workspaces; GList *workspaces;
GList *tagged; /* tagged windows */ GList *tagged; /* tagged windows */
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 gtkdialogs.h   gtkdialogs.h 
skipping to change at line 57 skipping to change at line 57
void pidgin_dialogs_alias_buddy(PurpleBuddy *); void pidgin_dialogs_alias_buddy(PurpleBuddy *);
void pidgin_dialogs_alias_chat(PurpleChat *); void pidgin_dialogs_alias_chat(PurpleChat *);
void pidgin_dialogs_remove_buddy(PurpleBuddy *); void pidgin_dialogs_remove_buddy(PurpleBuddy *);
void pidgin_dialogs_remove_group(PurpleGroup *); void pidgin_dialogs_remove_group(PurpleGroup *);
void pidgin_dialogs_remove_chat(PurpleChat *); void pidgin_dialogs_remove_chat(PurpleChat *);
void pidgin_dialogs_remove_contact(PurpleContact *); void pidgin_dialogs_remove_contact(PurpleContact *);
void pidgin_dialogs_merge_groups(PurpleGroup *, const char *); void pidgin_dialogs_merge_groups(PurpleGroup *, const char *);
/* Everything after this should probably be moved elsewhere */ /* Everything after this should probably be moved elsewhere */
/** #ifndef PIDGIN_DISABLE_DEPRECATED
* Our UI's identifier.
*/
#define PIDGIN_DIALOG(x) x = gtk_window_new(GTK_WINDOW_TOPLEVEL); \ #define PIDGIN_DIALOG(x) x = gtk_window_new(GTK_WINDOW_TOPLEVEL); \
gtk_window_set_type_hint(GTK_WINDOW(x), GDK_WINDOW_T YPE_HINT_DIALOG) gtk_window_set_type_hint(GTK_WINDOW(x), GDK_WINDOW_T YPE_HINT_DIALOG)
#endif
#define PIDGIN_WINDOW_ICONIFIED(x) (gdk_window_get_state(GTK_WIDGET(x)->win dow) & GDK_WINDOW_STATE_ICONIFIED) #define PIDGIN_WINDOW_ICONIFIED(x) (gdk_window_get_state(GTK_WIDGET(x)->win dow) & GDK_WINDOW_STATE_ICONIFIED)
#endif /* _PIDGINDIALOGS_H_ */ #endif /* _PIDGINDIALOGS_H_ */
 End of changes. 2 change blocks. 
3 lines changed or deleted 2 lines changed or added


 gtkimhtml.h   gtkimhtml.h 
skipping to change at line 228 skipping to change at line 228
GTK_IMHTML_NO_COLOURS = 1 << 0, GTK_IMHTML_NO_COLOURS = 1 << 0,
GTK_IMHTML_NO_FONTS = 1 << 1, GTK_IMHTML_NO_FONTS = 1 << 1,
GTK_IMHTML_NO_COMMENTS = 1 << 2, /* Remove */ GTK_IMHTML_NO_COMMENTS = 1 << 2, /* Remove */
GTK_IMHTML_NO_TITLE = 1 << 3, GTK_IMHTML_NO_TITLE = 1 << 3,
GTK_IMHTML_NO_NEWLINE = 1 << 4, GTK_IMHTML_NO_NEWLINE = 1 << 4,
GTK_IMHTML_NO_SIZES = 1 << 5, GTK_IMHTML_NO_SIZES = 1 << 5,
GTK_IMHTML_NO_SCROLL = 1 << 6, GTK_IMHTML_NO_SCROLL = 1 << 6,
GTK_IMHTML_RETURN_LOG = 1 << 7, GTK_IMHTML_RETURN_LOG = 1 << 7,
GTK_IMHTML_USE_POINTSIZE = 1 << 8, GTK_IMHTML_USE_POINTSIZE = 1 << 8,
GTK_IMHTML_NO_FORMATTING = 1 << 9, GTK_IMHTML_NO_FORMATTING = 1 << 9,
GTK_IMHTML_USE_SMOOTHSCROLLING = 1 << 10 GTK_IMHTML_USE_SMOOTHSCROLLING = 1 << 10,
GTK_IMHTML_NO_SMILEY = 1 << 11,
} GtkIMHtmlOptions; } GtkIMHtmlOptions;
enum { enum {
GTK_IMHTML_DRAG_URL = 0, GTK_IMHTML_DRAG_URL = 0,
GTK_IMHTML_DRAG_HTML, GTK_IMHTML_DRAG_HTML,
GTK_IMHTML_DRAG_UTF8_STRING, GTK_IMHTML_DRAG_UTF8_STRING,
GTK_IMHTML_DRAG_COMPOUND_TEXT, GTK_IMHTML_DRAG_COMPOUND_TEXT,
GTK_IMHTML_DRAG_STRING, GTK_IMHTML_DRAG_STRING,
GTK_IMHTML_DRAG_TEXT, GTK_IMHTML_DRAG_TEXT,
GTK_IMHTML_DRAG_NUM GTK_IMHTML_DRAG_NUM
 End of changes. 1 change blocks. 
1 lines changed or deleted 2 lines changed or added


 gtkutils.h   gtkutils.h 
skipping to change at line 119 skipping to change at line 119
* @param title The window title, or @c NULL * @param title The window title, or @c NULL
* @param border_width The window's desired border width * @param border_width The window's desired border width
* @param role A string indicating what the window is responsible f or doing, or @c NULL * @param role A string indicating what the window is responsible f or doing, or @c NULL
* @param resizable Whether the window should be resizable (@c TRUE) or not (@c FALSE) * @param resizable Whether the window should be resizable (@c TRUE) or not (@c FALSE)
* *
* @since 2.1.0 * @since 2.1.0
*/ */
GtkWidget *pidgin_create_window(const char *title, guint border_width, cons t char *role, gboolean resizable); GtkWidget *pidgin_create_window(const char *title, guint border_width, cons t char *role, gboolean resizable);
/** /**
* Creates a new dialog window
*
* @param title The window title, or @c NULL
* @param border_width The window's desired border width
* @param role A string indicating what the window is responsible f
or doing, or @c NULL
* @param resizable Whether the window should be resizable (@c TRUE) or
not (@c FALSE)
*
* @since 2.4.0
*/
GtkWidget *pidgin_create_dialog(const char *title, guint border_width, cons
t char *role, gboolean resizable);
/**
* Retrieves the main content box (vbox) from a pidgin dialog window
*
* @param dialog The dialog window
* @param homogeneous TRUE if all children are to be given equal space all
otments.
* @param spacing the number of pixels to place by default between chi
ldren
*
* @since 2.4.0
*/
GtkWidget *pidgin_dialog_get_vbox_with_properties(GtkDialog *dialog, gboole
an homogeneous, gint spacing);
/**
* Retrieves the main content box (vbox) from a pidgin dialog window
*
* @param dialog The dialog window
*
* @since 2.4.0
*/
GtkWidget *pidgin_dialog_get_vbox(GtkDialog *dialog);
/**
* Add a button to a dialog created by #pidgin_create_dialog.
*
* @param dialog The dialog window
* @param label The stock-id or the label for the button
* @param callback The callback function for the button
* @param callbackdata The user data for the callback function
*
* @return The created button.
* @since 2.4.0
*/
GtkWidget *pidgin_dialog_add_button(GtkDialog *dialog, const char *label,
GCallback callback, gpointer callbackdata);
/**
* Retrieves the action area (button box) from a pidgin dialog window
*
* @param dialog The dialog window
*
* @since 2.4.0
*/
GtkWidget *pidgin_dialog_get_action_area(GtkDialog *dialog);
/**
* Toggles the sensitivity of a widget. * Toggles the sensitivity of a widget.
* *
* @param widget @c NULL. Used for signal handlers. * @param widget @c NULL. Used for signal handlers.
* @param to_toggle The widget to toggle. * @param to_toggle The widget to toggle.
*/ */
void pidgin_toggle_sensitive(GtkWidget *widget, GtkWidget *to_toggle); void pidgin_toggle_sensitive(GtkWidget *widget, GtkWidget *to_toggle);
/** /**
* Checks if text has been entered into a GtkTextEntry widget. If * Checks if text has been entered into a GtkTextEntry widget. If
* so, the GTK_RESPONSE_OK on the given dialog is set to TRUE. * so, the GTK_RESPONSE_OK on the given dialog is set to TRUE.
skipping to change at line 317 skipping to change at line 372
* The default filter function for screenname autocomplete. * The default filter function for screenname autocomplete.
* *
* @param completion_entry The completion entry to filter. * @param completion_entry The completion entry to filter.
* @param all_accounts If this is @c FALSE, only the autocompletion entrie s * @param all_accounts If this is @c FALSE, only the autocompletion entrie s
* which belong to an online account will be filter ed. * which belong to an online account will be filter ed.
* @return Returns @c TRUE if the autocompletion entry is filtered. * @return Returns @c TRUE if the autocompletion entry is filtered.
*/ */
gboolean pidgin_screenname_autocomplete_default_filter(const PidginBuddyCom pletionEntry *completion_entry, gpointer all_accounts); gboolean pidgin_screenname_autocomplete_default_filter(const PidginBuddyCom pletionEntry *completion_entry, gpointer all_accounts);
/** /**
* @deprecated
* Add autocompletion of screenames to an entry. * Add autocompletion of screenames to an entry.
* The usage of this function is deprecated. For new code, use the equivale *
nt: * @deprecated
* pidgin_setup_screenname_autocomplete_with_filter(entry, optmenu, pidgin_ * For new code, use the equivalent:
screenname_autocomplete_default_filter, GINT_TO_POINTER(all)) * #pidgin_setup_screenname_autocomplete_with_filter(@a entry, @a optmenu
,
* #pidgin_screenname_autocomplete_default_filter, <tt>GINT_TO_POINTER(@a
* all)</tt>)
* *
* @param entry The GtkEntry on which to setup autocomplete. * @param entry The GtkEntry on which to setup autocomplete.
* @param optmenu A menu for accounts, returned by pidgin_account_option_ * @param optmenu A menu for accounts, returned by
menu_new(). * pidgin_account_option_menu_new(). If @a optmenu is not
* If @a optmenu is not @c NULL, it'll be updated when a s @c
creenname is chosen * NULL, it'll be updated when a screenname is chosen from
* from the autocomplete list. the
* autocomplete list.
* @param all Whether to include screennames from disconnected accoun ts. * @param all Whether to include screennames from disconnected accoun ts.
*/ */
void pidgin_setup_screenname_autocomplete(GtkWidget *entry, GtkWidget *optm enu, gboolean all); void pidgin_setup_screenname_autocomplete(GtkWidget *entry, GtkWidget *optm enu, gboolean all);
/** /**
* Check if the given path is a directory or not. If it is, then modify * Check if the given path is a directory or not. If it is, then modify
* the given GtkFileSelection dialog so that it displays the given path. * the given GtkFileSelection dialog so that it displays the given path.
* If the given path is not a directory, then do nothing. * If the given path is not a directory, then do nothing.
* *
* @param path The path entered in the file selection window by the user . * @param path The path entered in the file selection window by the user .
skipping to change at line 449 skipping to change at line 508
* @param push_in This is an output parameter? * @param push_in This is an output parameter?
* @param data Not used by this particular position function. * @param data Not used by this particular position function.
* *
* @since 2.1.0 * @since 2.1.0
*/ */
void pidgin_menu_position_func_helper(GtkMenu *menu, gint *x, gint *y, void pidgin_menu_position_func_helper(GtkMenu *menu, gint *x, gint *y,
gboolean *push_in, gpointer data); gboolean *push_in, gpointer data);
/** /**
* A valid GtkMenuPositionFunc. This is used to determine where * A valid GtkMenuPositionFunc. This is used to determine where
* to draw context menu's when the menu is activated with the * to draw context menus when the menu is activated with the
* keyboard (shift+F10). If the menu is activated with the mouse, * keyboard (shift+F10). If the menu is activated with the mouse,
* then you should just use GTK's built-in position function, * then you should just use GTK's built-in position function,
* because it does a better job of positioning the menu. * because it does a better job of positioning the menu.
* *
* @param menu The menu we are positioning. * @param menu The menu we are positioning.
* @param x Address of the gint representing the horizontal position * @param x Address of the gint representing the horizontal position
* where the menu shall be drawn. This is an output parameter. * where the menu shall be drawn. This is an output parameter.
* @param y Address of the gint representing the vertical position * @param y Address of the gint representing the vertical position
* where the menu shall be drawn. This is an output parameter. * where the menu shall be drawn. This is an output parameter.
* @param push_in This is an output parameter? * @param push_in This is an output parameter?
skipping to change at line 722 skipping to change at line 781
/** /**
* Set the text in the entry of the simple text GtkComboBoxEntry equivalent * Set the text in the entry of the simple text GtkComboBoxEntry equivalent
* *
* @param widget The simple text GtkComboBoxEntry equivalent widget * @param widget The simple text GtkComboBoxEntry equivalent widget
* @param text The text to set * @param text The text to set
* *
* @since 2.2.0 * @since 2.2.0
*/ */
void pidgin_text_combo_box_entry_set_text(GtkWidget *widget, const char *te xt); void pidgin_text_combo_box_entry_set_text(GtkWidget *widget, const char *te xt);
/**
* Automatically make a window transient to a suitable parent window.
*
* @param window The window to make transient.
*
* @return Whether the window was made transient or not.
* @since 2.4.0
*/
gboolean pidgin_auto_parent_window(GtkWidget *window);
/**
* Add a labelled widget to a GtkVBox
*
* @param vbox The GtkVBox to add the widget to.
* @param widget_label The label to give the widget, can be @c NULL.
* @param sg The GtkSizeGroup to add the label to, can be @c NULL
.
* @param widget The GtkWidget to add.
* @param expand Whether to expand the widget horizontally.
* @param p_label Place to store a pointer to the GtkLabel, or @c NULL
if you don't care.
*
* @return A GtkHBox already added to the GtkVBox containing the GtkLabel
and the GtkWidget.
* @since 2.4.0
*/
GtkWidget *pidgin_add_widget_to_vbox(GtkBox *vbox, const char *widget_label
, GtkSizeGroup *sg, GtkWidget *widget, gboolean expand, GtkWidget **p_label
);
#endif /* _PIDGINUTILS_H_ */ #endif /* _PIDGINUTILS_H_ */
 End of changes. 6 change blocks. 
11 lines changed or deleted 105 lines changed or added


 prpl.h   prpl.h 
skipping to change at line 101 skipping to change at line 101
int max; int max;
gboolean secret; gboolean secret;
}; };
struct _PurpleAttentionType struct _PurpleAttentionType
{ {
const char *name; /**< Shown in GUI elements */ const char *name; /**< Shown in GUI elements */
const char *incoming_description; /**< Shown when sent */ const char *incoming_description; /**< Shown when sent */
const char *outgoing_description; /**< Shown when receied */ const char *outgoing_description; /**< Shown when receied */
const char *icon_name; /**< Icon to display (optional) * / const char *icon_name; /**< Icon to display (optional) * /
const char *unlocalized_name; /**< Unlocalized name for UIs nee ding it */
/* Reserved fields for future purposes */ /* Reserved fields for future purposes */
gpointer _reserved1;
gpointer _reserved2; gpointer _reserved2;
gpointer _reserved3; gpointer _reserved3;
gpointer _reserved4; gpointer _reserved4;
}; };
/** /**
* Protocol options * Protocol options
* *
* These should all be stuff that some plugins can do and others can't. * These should all be stuff that some plugins can do and others can't.
*/ */
skipping to change at line 294 skipping to change at line 294
void (*set_permit_deny)(PurpleConnection *); void (*set_permit_deny)(PurpleConnection *);
void (*join_chat)(PurpleConnection *, GHashTable *components); void (*join_chat)(PurpleConnection *, GHashTable *components);
void (*reject_chat)(PurpleConnection *, GHashTable *components); void (*reject_chat)(PurpleConnection *, GHashTable *components);
char *(*get_chat_name)(GHashTable *components); char *(*get_chat_name)(GHashTable *components);
void (*chat_invite)(PurpleConnection *, int id, void (*chat_invite)(PurpleConnection *, int id,
const char *message, const c har *who); const char *message, const c har *who);
void (*chat_leave)(PurpleConnection *, int id); void (*chat_leave)(PurpleConnection *, int id);
void (*chat_whisper)(PurpleConnection *, int id, void (*chat_whisper)(PurpleConnection *, int id,
const char *who, const char *message); const char *who, const char *message);
int (*chat_send)(PurpleConnection *, int id, const char *message, P urpleMessageFlags flags); int (*chat_send)(PurpleConnection *, int id, const char *message, P urpleMessageFlags flags);
/** If implemented, this will be called regularly for this prpl's
* active connections. You'd want to do this if you need to repeat
edly
* send some kind of keepalive packet to the server to avoid being
* disconnected. ("Regularly" is defined by
* <code>KEEPALIVE_INTERVAL</code> in <tt>libpurple/connection.c</t
t>.)
*/
void (*keepalive)(PurpleConnection *); void (*keepalive)(PurpleConnection *);
/** new user registration */ /** new user registration */
void (*register_user)(PurpleAccount *); void (*register_user)(PurpleAccount *);
/** /**
* @deprecated Use #PurplePluginProtocolInfo.get_info instead. * @deprecated Use #PurplePluginProtocolInfo.get_info instead.
*/ */
void (*get_cb_info)(PurpleConnection *, int, const char *who); void (*get_cb_info)(PurpleConnection *, int, const char *who);
/** /**
skipping to change at line 407 skipping to change at line 414
((plugin)->info->type == PURPLE_PLUGIN_PROTOCOL) ((plugin)->info->type == PURPLE_PLUGIN_PROTOCOL)
#define PURPLE_PLUGIN_PROTOCOL_INFO(plugin) \ #define PURPLE_PLUGIN_PROTOCOL_INFO(plugin) \
((PurplePluginProtocolInfo *)(plugin)->info->extra_info) ((PurplePluginProtocolInfo *)(plugin)->info->extra_info)
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/************************************************************************** / /************************************************************************** /
/** @name Attention Type API *
/
/**************************************************************************
/
/*@{*/
/**
* Creates a new #PurpleAttentionType object and sets its mandatory paramet
ers.
*
* @param ulname A non-localized string that can be used by UIs in need of
such
* non-localized strings. This should be the same as @a name
,
* without localization.
* @param name A localized string that the UI may display for the event. Th
is
* should be the same string as @a ulname, with localization.
* @param inc_desc A localized description shown when the event is received
.
* @param out_desc A localized description shown when the event is sent.
* @return A pointer to the new object.
* @since 2.4.0
*/
PurpleAttentionType *purple_attention_type_new(const char *ulname, const ch
ar *name,
const char *
inc_desc, const char *out_desc);
/**
* Sets the displayed name of the attention-demanding event.
*
* @param type The attention type.
* @param name The localized name that will be displayed by UIs. This shoul
d be
* the same string given as the unlocalized name, but with
* localization.
* @since 2.4.0
*/
void purple_attention_type_set_name(PurpleAttentionType *type, const char *
name);
/**
* Sets the description of the attention-demanding event shown in conversa
tions
* when the event is received.
*
* @param type The attention type.
* @param desc The localized description for incoming events.
* @since 2.4.0
*/
void purple_attention_type_set_incoming_desc(PurpleAttentionType *type, con
st char *desc);
/**
* Sets the description of the attention-demanding event shown in conversat
ions
* when the event is sent.
*
* @param type The attention type.
* @param desc The localized description for outgoing events.
* @since 2.4.0
*/
void purple_attention_type_set_outgoing_desc(PurpleAttentionType *type, con
st char *desc);
/**
* Sets the name of the icon to display for the attention event; this is op
tional.
*
* @param type The attention type.
* @param name The icon's name.
* @note Icons are optional for attention events.
* @since 2.4.0
*/
void purple_attention_type_set_icon_name(PurpleAttentionType *type, const c
har *name);
/**
* Sets the unlocalized name of the attention event; some UIs may need this
,
* thus it is required.
*
* @param type The attention type.
* @param ulname The unlocalized name. This should be the same string give
n as
* the localized name, but without localization.
* @since 2.4.0
*/
void purple_attention_type_set_unlocalized_name(PurpleAttentionType *type,
const char *ulname);
/**
* Get the attention type's name as displayed by the UI.
*
* @param type The attention type.
* @return The name.
* @since 2.4.0
*/
const char *purple_attention_type_get_name(const PurpleAttentionType *type)
;
/**
* Get the attention type's description shown when the event is received.
*
* @param type The attention type.
* @return The description.
* @since 2.4.0
*/
const char *purple_attention_type_get_incoming_desc(const PurpleAttentionTy
pe *type);
/**
* Get the attention type's description shown when the event is sent.
*
* @param type The attention type.
* @return The description.
* @since 2.4.0
*/
const char *purple_attention_type_get_outgoing_desc(const PurpleAttentionTy
pe *type);
/**
* Get the attention type's icon name.
*
* @param type The attention type.
* @return The icon name or @c NULL if unset/empty.
* @note Icons are optional for attention events.
* @since 2.4.0
*/
const char *purple_attention_type_get_icon_name(const PurpleAttentionType *
type);
/**
* Get the attention type's unlocalized name; this is useful for some UIs.
*
* @param type The attention type
* @return The unlocalized name.
* @since 2.4.0
*/
const char *purple_attention_type_get_unlocalized_name(const PurpleAttentio
nType *type);
/*@}*/
/**************************************************************************
/
/** @name Protocol Plugin API * / /** @name Protocol Plugin API * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Notifies Purple that an account's idle state and time have changed. * Notifies Purple that an account's idle state and time have changed.
* *
* This is meant to be called from protocol plugins. * This is meant to be called from protocol plugins.
* *
* @param account The account. * @param account The account.
 End of changes. 4 change blocks. 
1 lines changed or deleted 157 lines changed or added


 purple.h   purple.h 
/** /**
* @file purple.h Header files and defines * @file purple.h Header files and defines
* This file contains all the necessary preprocessor directives to include * This file contains all the necessary preprocessor directives to include
* libpurple's headers and other preprocessor directives required for plugi ns * libpurple's headers and other preprocessor directives required for plugi ns
* or UIs to build. Inlcuding this file eliminates the need to directly * or UIs to build. Including this file eliminates the need to directly
* include any other libpurple files. * include any other libpurple files.
* *
* @ingroup core libpurple * @ingroup core libpurple
* @since 2.3.0
*/ */
/* purple /* purple
* *
* Purple is the legal property of its developers, whose names are too nume rous * Purple is the legal property of its developers, whose names are too nume rous
* to list here. Please refer to the COPYRIGHT file distributed with this * to list here. Please refer to the COPYRIGHT file distributed with this
* source distribution. * source distribution.
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 request.h   request.h 
skipping to change at line 186 skipping to change at line 186
void *ui_data; void *ui_data;
} PurpleRequestField; } PurpleRequestField;
/** /**
* Request UI operations. * Request UI operations.
*/ */
typedef struct typedef struct
{ {
/** @see purple_request_input(). */
void *(*request_input)(const char *title, const char *primary, void *(*request_input)(const char *title, const char *primary,
const char *secondary, co const char *secondary, const char *default_va
nst char *default_value, lue,
gboolean multiline, gbool gboolean multiline, gboolean masked, gchar *h
ean masked, gchar *hint, int,
const char *ok_text, GCal const char *ok_text, GCallback ok_cb,
lback ok_cb, const char *cancel_text, GCallback cancel_cb,
const char *cancel_text, PurpleAccount *account, const char *who,
GCallback cancel_cb, PurpleConversation *conv, void *user_data);
PurpleAccount *account, c
onst char *who, PurpleConversation *conv, /** @see purple_request_choice_varg(). */
void *user_data);
void *(*request_choice)(const char *title, const char *primary, void *(*request_choice)(const char *title, const char *primary,
const char *secondar const char *secondary, int default_value,
y, int default_value, const char *ok_text, GCallback ok_cb,
const char *ok_text, const char *cancel_text, GCallback cancel_cb
GCallback ok_cb, ,
const char *cancel_t PurpleAccount *account, const char *who,
ext, GCallback cancel_cb, PurpleConversation *conv, void *user_data,
PurpleAccount *accou va_list choices);
nt, const char *who, PurpleConversation *conv,
void *user_data, va_ /** @see purple_request_action_varg(). */
list choices);
void *(*request_action)(const char *title, const char *primary, void *(*request_action)(const char *title, const char *primary,
const char *secondar const char *secondary, int default_action,
y, int default_action, PurpleAccount *account, const char *who,
PurpleAccount *accou PurpleConversation *conv, void *user_data,
nt, const char *who, PurpleConversation *conv, size_t action_count, va_list actions);
void *user_data, siz
e_t action_count, /** @see purple_request_fields(). */
va_list actions);
void *(*request_fields)(const char *title, const char *primary, void *(*request_fields)(const char *title, const char *primary,
const char *secondar const char *secondary, PurpleRequestFields *
y, PurpleRequestFields *fields, fields,
const char *ok_text, const char *ok_text, GCallback ok_cb,
GCallback ok_cb, const char *cancel_text, GCallback cancel_cb
const char *cancel_t ,
ext, GCallback cancel_cb, PurpleAccount *account, const char *who,
PurpleAccount *accou PurpleConversation *conv, void *user_data);
nt, const char *who, PurpleConversation *conv,
void *user_data); /** @see purple_request_file(). */
void *(*request_file)(const char *title, const char *filename, void *(*request_file)(const char *title, const char *filename,
gboolean savedialog, GCall gboolean savedialog, GCallback ok_cb,
back ok_cb, GCallback cancel_cb, GCallback cancel_cb, PurpleAccount *account,
PurpleAccount *account, co const char *who, PurpleConversation *conv,
nst char *who, PurpleConversation *conv, void *user_data);
void *user_data);
void (*close_request)(PurpleRequestType type, void *ui_handle); void (*close_request)(PurpleRequestType type, void *ui_handle);
/** @see purple_request_folder(). */
void *(*request_folder)(const char *title, const char *dirname, void *(*request_folder)(const char *title, const char *dirname,
GCallback ok_cb, GCa GCallback ok_cb, GCallback cancel_cb,
llback cancel_cb, PurpleAccount *account, const char *who,
PurpleAccount *accou PurpleConversation *conv, void *user_data);
nt, const char *who, PurpleConversation *conv,
void *user_data);
void (*_purple_reserved1)(void); void (*_purple_reserved1)(void);
void (*_purple_reserved2)(void); void (*_purple_reserved2)(void);
void (*_purple_reserved3)(void); void (*_purple_reserved3)(void);
void (*_purple_reserved4)(void); void (*_purple_reserved4)(void);
} PurpleRequestUiOps; } PurpleRequestUiOps;
typedef void (*PurpleRequestInputCb)(void *, const char *); typedef void (*PurpleRequestInputCb)(void *, const char *);
typedef void (*PurpleRequestActionCb)(void *, int); typedef void (*PurpleRequestActionCb)(void *, int);
typedef void (*PurpleRequestChoiceCb)(void *, int); typedef void (*PurpleRequestChoiceCb)(void *, int);
skipping to change at line 1162 skipping to change at line 1176
/************************************************************************** / /************************************************************************** /
/** @name Request API * / /** @name Request API * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Prompts the user for text input. * Prompts the user for text input.
* *
* @param handle The plugin or connection handle. For some * @param handle The plugin or connection handle. For some
* things this is EXTREMELY important. The * things this is <em>extremely</em> important. The
* handle is used to programmatically close * handle is used to programmatically close the reques
* the request dialog when it is no longer t
* needed. For PRPLs this is often a pointer * dialog when it is no longer needed. For PRPLs this
* to the PurpleConnection instance. For plugins * is often a pointer to the #PurpleConnection
* this should be a similar, unique memory * instance. For plugins this should be a similar,
* location. This value is important because * unique memory location. This value is important
* it allows a request to be closed, say, when * because it allows a request to be closed with
* you sign offline. If the request is NOT * purple_request_close_with_handle() when, for
* closed it is VERY likely to cause a crash * example, you sign offline. If the request is
* whenever the callback handler functions are * <em>not</em> closed it is <strong>very</strong>
* triggered. * likely to cause a crash whenever the callback
* @param title The title of the message. * handler functions are triggered.
* @param primary The main point of the message. * @param title The title of the message, or @c NULL if it should h
* @param secondary The secondary information. ave
* no title.
* @param primary The main point of the message, or @c NULL if you're
* feeling enigmatic.
* @param secondary Secondary information, or @c NULL if there is none.
* @param default_value The default value. * @param default_value The default value.
* @param multiline TRUE if the inputted text can span multiple lines. * @param multiline @c TRUE if the inputted text can span multiple line
* @param masked TRUE if the inputted text should be masked in some s.
way. * @param masked @c TRUE if the inputted text should be masked in so
me
* way (such as by displaying characters as stars). T
his
* might be because the input is some kind of password
.
* @param hint Optionally suggest how the input box should appear. * @param hint Optionally suggest how the input box should appear.
* Use "html," for example, to allow the user to enter * Use "html", for example, to allow the user to enter
* HTML. * HTML.
* @param ok_text The text for the @c OK button. * @param ok_text The text for the @c OK button, which may not be @c
* @param ok_cb The callback for the @c OK button. NULL.
* @param cancel_text The text for the @c Cancel button. * @param ok_cb The callback for the @c OK button, which may not be
* @param cancel_cb The callback for the @c Cancel button. @c
* @param account The PurpleAccount associated with this reque * NULL.
st, or NULL if none is * @param cancel_text The text for the @c Cancel button, which may not be
* @param who The username of the buddy assocaited with th @c
is request, or NULL if none is * NULL.
* @param conv The PurpleConversation associated with this * @param cancel_cb The callback for the @c Cancel button, which may be
request, or NULL if none is * @c NULL.
* @param account The #PurpleAccount associated with this request, or
@c
* NULL if none is.
* @param who The username of the buddy associated with this requ
est,
* or @c NULL if none is.
* @param conv The #PurpleConversation associated with this reques
t, or
* @c NULL if none is.
* @param user_data The data to pass to the callback. * @param user_data The data to pass to the callback.
* *
* @return A UI-specific handle. * @return A UI-specific handle.
*/ */
void *purple_request_input(void *handle, const char *title, void *purple_request_input(void *handle, const char *title, const char *pri
const char *primary, const mary,
char *secondary, const char *secondary, const char *default_value, gboolean multiline
const char *default_value, ,
gboolean multiline, gboolea gboolean masked, gchar *hint,
n masked, gchar *hint, const char *ok_text, GCallback ok_cb,
const char *ok_text, GCallb const char *cancel_text, GCallback cancel_cb,
ack ok_cb, PurpleAccount *account, const char *who, PurpleConversation *conv,
const char *cancel_text, GC void *user_data);
allback cancel_cb,
PurpleAccount *account, con
st char *who, PurpleConversation *conv,
void *user_data);
/** /**
* Prompts the user for multiple-choice input. * Prompts the user for multiple-choice input.
* *
* @param handle The plugin or connection handle. For some * @param handle The plugin or connection handle. For some things t
* things this is EXTREMELY important. See his
* the comments on purple_request_input. * is <em>extremely</em> important. See the comments
* @param title The title of the message. on
* @param primary The main point of the message. * purple_request_input().
* @param secondary The secondary information. * @param title The title of the message, or @c NULL if it should h
* @param default_value The default value. ave
* @param ok_text The text for the @c OK button. * no title.
* @param ok_cb The callback for the @c OK button. * @param primary The main point of the message, or @c NULL if you're
* @param cancel_text The text for the @c Cancel button. * feeling enigmatic.
* @param cancel_cb The callback for the @c Cancel button. * @param secondary Secondary information, or @c NULL if there is none.
* @param account The PurpleAccount associated with this reque * @param default_value The default choice; this should be one of the value
st, or NULL if none is s
* @param who The username of the buddy assocaited with th * listed in the varargs.
is request, or NULL if none is * @param ok_text The text for the @c OK button, which may not be @c
* @param conv The PurpleConversation associated with this NULL.
request, or NULL if none is * @param ok_cb The callback for the @c OK button, which may not be
@c
* NULL.
* @param cancel_text The text for the @c Cancel button, which may not be
@c
* NULL.
* @param cancel_cb The callback for the @c Cancel button, or @c NULL t
o
* do nothing.
* @param account The #PurpleAccount associated with this request, or
@c
* NULL if none is.
* @param who The username of the buddy associated with this requ
est,
* or @c NULL if none is.
* @param conv The #PurpleConversation associated with this reques
t, or
* @c NULL if none is.
* @param user_data The data to pass to the callback. * @param user_data The data to pass to the callback.
* @param ... The choices. This argument list should be * @param ... The choices, which should be pairs of <tt>char *</t
* terminated with a NULL parameter. t>
* descriptions and <tt>int</tt> values, terminated wi
th a
* @c NULL parameter.
* *
* @return A UI-specific handle. * @return A UI-specific handle.
*/ */
void *purple_request_choice(void *handle, const char *title, void *purple_request_choice(void *handle, const char *title, const char *pr
const char *primary, const imary,
char *secondary, const char *secondary, int default_value,
int default_value, const char *ok_text, GCallback ok_cb,
const char *ok_text, GCall const char *cancel_text, GCallback cancel_cb,
back ok_cb, PurpleAccount *account, const char *who, PurpleConversation *conv,
const char *cancel_text, G void *user_data, ...) G_GNUC_NULL_TERMINATED;
Callback cancel_cb,
PurpleAccount *account, co
nst char *who, PurpleConversation *conv,
void *user_data, ...) G_GN
UC_NULL_TERMINATED;
/** /**
* Prompts the user for multiple-choice input. * Prompts the user for multiple-choice input.
* *
* @param handle The plugin or connection handle. For some * @param handle The plugin or connection handle. For some things t
* things this is EXTREMELY important. See his
* the comments on purple_request_input. * is <em>extremely</em> important. See the comments
* @param title The title of the message. on
* @param primary The main point of the message. * purple_request_input().
* @param secondary The secondary information. * @param title The title of the message, or @c NULL if it should h
* @param default_value The default value. ave
* @param ok_text The text for the @c OK button. * no title.
* @param ok_cb The callback for the @c OK button. * @param primary The main point of the message, or @c NULL if you're
* @param cancel_text The text for the @c Cancel button. * feeling enigmatic.
* @param cancel_cb The callback for the @c Cancel button. * @param secondary Secondary information, or @c NULL if there is none.
* @param account The PurpleAccount associated with this reque * @param default_value The default choice; this should be one of the value
st, or NULL if none is s
* @param who The username of the buddy assocaited with th * listed in the varargs.
is request, or NULL if none is * @param ok_text The text for the @c OK button, which may not be @c
* @param conv The PurpleConversation associated with this NULL.
request, or NULL if none is * @param ok_cb The callback for the @c OK button, which may not be
@c
* NULL.
* @param cancel_text The text for the @c Cancel button, which may not be
@c
* NULL.
* @param cancel_cb The callback for the @c Cancel button, or @c NULL t
o do
* nothing.
* @param account The #PurpleAccount associated with this request, or
@c
* NULL if none is
* @param who The username of the buddy associated with this requ
est,
* or @c NULL if none is
* @param conv The #PurpleConversation associated with this reques
t, or
* @c NULL if none is
* @param user_data The data to pass to the callback. * @param user_data The data to pass to the callback.
* @param choices The choices. This argument list should be * @param choices The choices, which should be pairs of <tt>char *</t
* terminated with a @c NULL parameter. t>
* descriptions and <tt>int</tt> values, terminated wi
th a
* @c NULL parameter.
* *
* @return A UI-specific handle. * @return A UI-specific handle.
*/ */
void *purple_request_choice_varg(void *handle, const char *title, void *purple_request_choice_varg(void *handle, const char *title,
const char *prima const char *primary, const char *secondary, int default_value,
ry, const char *secondary, const char *ok_text, GCallback ok_cb,
int default_value const char *cancel_text, GCallback cancel_cb,
, PurpleAccount *account, const char *who, PurpleConversation *conv,
const char *ok_te void *user_data, va_list choices);
xt, GCallback ok_cb,
const char *cance
l_text, GCallback cancel_cb,
PurpleAccount *ac
count, const char *who, PurpleConversation *conv,
void *user_data,
va_list choices);
/** /**
* Prompts the user for an action. * Prompts the user for an action.
* *
* This is often represented as a dialog with a button for each action. * This is often represented as a dialog with a button for each action.
* *
* @param handle The plugin or connection handle. For some * @param handle The plugin or connection handle. For some things
* things this is EXTREMELY important. See this
* the comments on purple_request_input. * is <em>extremely</em> important. See the comments
* @param title The title of the message. on
* @param primary The main point of the message. * purple_request_input().
* @param secondary The secondary information. * @param title The title of the message, or @c NULL if it should
* @param default_action The default value. have
* @param account The PurpleAccount associated with this requ * no title.
est, or NULL if none is * @param primary The main point of the message, or @c NULL if you'r
* @param who The username of the buddy assocaited with t e
his request, or NULL if none is * feeling enigmatic.
* @param conv The PurpleConversation associated with this * @param secondary Secondary information, or @c NULL if there is none
request, or NULL if none is .
* @param default_action The default action, zero-indexed; if the third act
ion
* supplied should be the default, supply <tt>2</tt>.
* The should be the action that users are most likel
y
* to select.
* @param account The #PurpleAccount associated with this request, o
r @c
* NULL if none is.
* @param who The username of the buddy associated with this req
uest,
* or @c NULL if none is.
* @param conv The #PurpleConversation associated with this reque
st, or
* @c NULL if none is.
* @param user_data The data to pass to the callback. * @param user_data The data to pass to the callback.
* @param action_count The number of actions. * @param action_count The number of actions.
* @param ... A list of actions. These are pairs of * @param ... A list of actions. These are pairs of
* arguments. The first of each pair is the * arguments. The first of each pair is the
* string that appears on the button. It should * <tt>char *</tt> that appears on the button. It sh ould
* have an underscore before the letter you want * have an underscore before the letter you want
* to use as the accelerator key for the button. * to use as the accelerator key for the button.
* The second of each pair is the callback * The second of each pair is the <tt>GCallback</tt>
* function to use when the button is clicked. * function to use when the button is clicked.
* *
* @return A UI-specific handle. * @return A UI-specific handle.
*/ */
void *purple_request_action(void *handle, const char *title, void *purple_request_action(void *handle, const char *title, const char *pr
const char *primary, const imary,
char *secondary, const char *secondary, int default_action, PurpleAccount *account,
int default_action, const char *who, PurpleConversation *conv, void *user_data,
PurpleAccount *account, co size_t action_count, ...);
nst char *who, PurpleConversation *conv,
void *user_data, size_t ac
tion_count, ...);
/** /**
* Prompts the user for an action. * Prompts the user for an action.
* *
* This is often represented as a dialog with a button for each action. * This is often represented as a dialog with a button for each action.
* *
* @param handle The plugin or connection handle. For some * @param handle The plugin or connection handle. For some things
* things this is EXTREMELY important. See this
* the comments on purple_request_input. * is <em>extremely</em> important. See the comments
* @param title The title of the message. on
* @param primary The main point of the message. * purple_request_input().
* @param secondary The secondary information. * @param title The title of the message, or @c NULL if it should
* @param default_action The default value. have
* @param account The PurpleAccount associated with this requ * no title.
est, or NULL if none is * @param primary The main point of the message, or @c NULL if you'r
* @param who The username of the buddy assocaited with t e
his request, or NULL if none is * feeling enigmatic.
* @param conv The PurpleConversation associated with this * @param secondary Secondary information, or @c NULL if there is none
request, or NULL if none is .
* @param default_action The default action, zero-indexed; if the third act
ion
* supplied should be the default, supply <tt>2</tt>.
* The should be the action that users are most likel
y
* to select.
* @param account The #PurpleAccount associated with this request, o
r @c
* NULL if none is.
* @param who The username of the buddy associated with this req
uest,
* or @c NULL if none is.
* @param conv The #PurpleConversation associated with this reque
st, or
* @c NULL if none is.
* @param user_data The data to pass to the callback. * @param user_data The data to pass to the callback.
* @param action_count The number of actions. * @param action_count The number of actions.
* @param actions A list of actions and callbacks. * @param actions A list of actions. These are pairs of
* arguments. The first of each pair is the
* <tt>char *</tt> that appears on the button. It sh
ould
* have an underscore before the letter you want
* to use as the accelerator key for the button.
* The second of each pair is the <tt>GCallback</tt>
* function to use when the button is clicked.
* *
* @return A UI-specific handle. * @return A UI-specific handle.
*/ */
void *purple_request_action_varg(void *handle, const char *title, void *purple_request_action_varg(void *handle, const char *title,
const char *prima const char *primary, const char *secondary, int default_action,
ry, const char *secondary, PurpleAccount *account, const char *who, PurpleConversation *conv,
int default_actio void *user_data, size_t action_count, va_list actions);
n,
PurpleAccount *ac
count, const char *who, PurpleConversation *conv,
void *user_data,
size_t action_count,
va_list actions);
/** /**
* Displays groups of fields for the user to fill in. * Displays groups of fields for the user to fill in.
* *
* @param handle The plugin or connection handle. For some * @param handle The plugin or connection handle. For some things thi
* things this is EXTREMELY important. See s
* the comments on purple_request_input. * is <em>extremely</em> important. See the comments on
* @param title The title of the message. * purple_request_input().
* @param primary The main point of the message. * @param title The title of the message, or @c NULL if it should hav
* @param secondary The secondary information. e
* no title.
* @param primary The main point of the message, or @c NULL if you're
* feeling enigmatic.
* @param secondary Secondary information, or @c NULL if there is none.
* @param fields The list of fields. * @param fields The list of fields.
* @param ok_text The text for the @c OK button. * @param ok_text The text for the @c OK button, which may not be @c NU
* @param ok_cb The callback for the @c OK button. LL.
* @param cancel_text The text for the @c Cancel button. * @param ok_cb The callback for the @c OK button, which may not be @
* @param cancel_cb The callback for the @c Cancel button. c
* @param account The PurpleAccount associated with this request, or * NULL.
NULL if none is * @param cancel_text The text for the @c Cancel button, which may not be @
* @param who The username of the buddy associated with this req c
uest, or NULL if none is * NULL.
* @param conv The PurpleConversation associated with this reques * @param cancel_cb The callback for the @c Cancel button, which may be
t, or NULL if none is * @c NULL.
* @param account The #PurpleAccount associated with this request, or @
c
* NULL if none is
* @param who The username of the buddy associated with this reques
t,
* or @c NULL if none is
* @param conv The #PurpleConversation associated with this request,
or
* @c NULL if none is
* @param user_data The data to pass to the callback. * @param user_data The data to pass to the callback.
* *
* @return A UI-specific handle. * @return A UI-specific handle.
*/ */
void *purple_request_fields(void *handle, const char *title, void *purple_request_fields(void *handle, const char *title, const char *pr
const char *primary, const imary,
char *secondary, const char *secondary, PurpleRequestFields *fields,
PurpleRequestFields *field const char *ok_text, GCallback ok_cb,
s, const char *cancel_text, GCallback cancel_cb,
const char *ok_text, GCall PurpleAccount *account, const char *who, PurpleConversation *conv,
back ok_cb, void *user_data);
const char *cancel_text, G
Callback cancel_cb,
PurpleAccount *account, co
nst char *who, PurpleConversation *conv,
void *user_data);
/** /**
* Closes a request. * Closes a request.
* *
* @param type The request type. * @param type The request type.
* @param uihandle The request UI handle. * @param uihandle The request UI handle.
*/ */
void purple_request_close(PurpleRequestType type, void *uihandle); void purple_request_close(PurpleRequestType type, void *uihandle);
/** /**
* Closes all requests registered with the specified handle. * Closes all requests registered with the specified handle.
* *
* @param handle The handle. * @param handle The handle, as supplied as the @a handle parameter to one
of the
* <tt>purple_request_*</tt> functions.
*
* @see purple_request_input().
*/ */
void purple_request_close_with_handle(void *handle); void purple_request_close_with_handle(void *handle);
/** /**
* A wrapper for purple_request_action() that uses @c Yes and @c No buttons . * A wrapper for purple_request_action() that uses @c Yes and @c No buttons .
*/ */
#define purple_request_yes_no(handle, title, primary, secondary, \ #define purple_request_yes_no(handle, title, primary, secondary, \
default_action, acco unt, who, conv, \ default_action, acco unt, who, conv, \
user_data, yes_cb, n o_cb) \ user_data, yes_cb, n o_cb) \
purple_request_action((handle), (title), (primary), (secondary), \ purple_request_action((handle), (title), (primary), (secondary), \
skipping to change at line 1404 skipping to change at line 1474
default_a ction, account, who, conv, \ default_a ction, account, who, conv, \
user_data , accept_cb, cancel_cb) \ user_data , accept_cb, cancel_cb) \
purple_request_action((handle), (title), (primary), (secondary), \ purple_request_action((handle), (title), (primary), (secondary), \
(default_action), account, w ho, conv, (user_data), 2, \ (default_action), account, w ho, conv, (user_data), 2, \
_("_Accept"), (accept_cb), _ ("_Cancel"), (cancel_cb)) _("_Accept"), (accept_cb), _ ("_Cancel"), (cancel_cb))
/** /**
* Displays a file selector request dialog. Returns the selected filename to * Displays a file selector request dialog. Returns the selected filename to
* the callback. Can be used for either opening a file or saving a file. * the callback. Can be used for either opening a file or saving a file.
* *
* @param handle The plugin or connection handle. For some * @param handle The plugin or connection handle. For some things thi
* things this is EXTREMELY important. See s
* the comments on purple_request_input. * is <em>extremely</em> important. See the comments on
* @param title The title for the dialog (may be @c NULL) * purple_request_input().
* @param title The title of the message, or @c NULL if it should hav
e
* no title.
* @param filename The default filename (may be @c NULL) * @param filename The default filename (may be @c NULL)
* @param savedialog True if this dialog is being used to save a file. * @param savedialog True if this dialog is being used to save a file.
* False if it is being used to open a file. * False if it is being used to open a file.
* @param ok_cb The callback for the @c OK button. * @param ok_cb The callback for the @c OK button.
* @param cancel_cb The callback for the @c Cancel button. * @param cancel_cb The callback for the @c Cancel button, which may be @
* @param account The PurpleAccount associated with this request, or c NULL.
NULL if none is * @param account The #PurpleAccount associated with this request, or @
* @param who The username of the buddy assocaited with this req c
uest, or NULL if none is * NULL if none is
* @param conv The PurpleConversation associated with this reques * @param who The username of the buddy associated with this reques
t, or NULL if none is t,
* or @c NULL if none is
* @param conv The #PurpleConversation associated with this request,
or
* @c NULL if none is
* @param user_data The data to pass to the callback. * @param user_data The data to pass to the callback.
* *
* @return A UI-specific handle. * @return A UI-specific handle.
*/ */
void *purple_request_file(void *handle, const char *title, const char *file name, void *purple_request_file(void *handle, const char *title, const char *file name,
gboolean savedialog, gboolean savedialog, GCallback ok_cb, GCallback cancel_cb,
GCallback ok_cb, GCallback c PurpleAccount *account, const char *who, PurpleConversation *conv,
ancel_cb, void *user_data);
PurpleAccount *account, cons
t char *who, PurpleConversation *conv,
void *user_data);
/** /**
* Displays a folder select dialog. Returns the selected filename to * Displays a folder select dialog. Returns the selected filename to
* the callback. * the callback.
* *
* @param handle The plugin or connection handle. For some * @param handle The plugin or connection handle. For some things thi
* things this is EXTREMELY important. See s
* the comments on purple_request_input. * is <em>extremely</em> important. See the comments on
* @param title The title for the dialog (may be @c NULL) * purple_request_input().
* @param title The title of the message, or @c NULL if it should hav
e
* no title.
* @param dirname The default directory name (may be @c NULL) * @param dirname The default directory name (may be @c NULL)
* @param ok_cb The callback for the @c OK button. * @param ok_cb The callback for the @c OK button.
* @param cancel_cb The callback for the @c Cancel button. * @param cancel_cb The callback for the @c Cancel button, which may be @
* @param account The PurpleAccount associated with this request, or c NULL.
NULL if none is * @param account The #PurpleAccount associated with this request, or @
* @param who The username of the buddy assocaited with this req c
uest, or NULL if none is * NULL if none is
* @param conv The PurpleConversation associated with this reques * @param who The username of the buddy associated with this reques
t, or NULL if none is t,
* or @c NULL if none is
* @param conv The #PurpleConversation associated with this request,
or
* @c NULL if none is
* @param user_data The data to pass to the callback. * @param user_data The data to pass to the callback.
* *
* @return A UI-specific handle. * @return A UI-specific handle.
*/ */
void *purple_request_folder(void *handle, const char *title, const char *di rname, void *purple_request_folder(void *handle, const char *title, const char *di rname,
GCallback ok_cb, GCallback c GCallback ok_cb, GCallback cancel_cb,
ancel_cb, PurpleAccount *account, const char *who, PurpleConversation *conv,
PurpleAccount *account, cons void *user_data);
t char *who, PurpleConversation *conv,
void *user_data);
/*@}*/ /*@}*/
/************************************************************************** / /************************************************************************** /
/** @name UI Registration Functions * / /** @name UI Registration Functions * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Sets the UI operations structure to be used when displaying a * Sets the UI operations structure to be used when displaying a
 End of changes. 36 change blocks. 
259 lines changed or deleted 348 lines changed or added


 roomlist.h   roomlist.h 
skipping to change at line 239 skipping to change at line 239
* On some protocols, the rooms in the category * On some protocols, the rooms in the category
* won't be fetched until this is called. * won't be fetched until this is called.
* *
* @param list The room list. * @param list The room list.
* @param category The category that was expanded. The expression * @param category The category that was expanded. The expression
* (category->type & PURPLE_ROOMLIST_ROOMTYPE_CATEGORY) * (category->type & PURPLE_ROOMLIST_ROOMTYPE_CATEGORY)
* must be true. * must be true.
*/ */
void purple_roomlist_expand_category(PurpleRoomlist *list, PurpleRoomlistRo om *category); void purple_roomlist_expand_category(PurpleRoomlist *list, PurpleRoomlistRo om *category);
/**
* Get the list of fields for a roomlist.
*
* @param roomlist The roomlist, which must not be @c NULL.
* @constreturn A list of fields
* @since 2.4.0
*/
GList * purple_roomlist_get_fields(PurpleRoomlist *roomlist);
/*@}*/ /*@}*/
/************************************************************************** / /************************************************************************** /
/** @name Room API * / /** @name Room API * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Creates a new room, to be added to the list. * Creates a new room, to be added to the list.
* *
skipping to change at line 275 skipping to change at line 284
void purple_roomlist_room_add_field(PurpleRoomlist *list, PurpleRoomlistRoo m *room, gconstpointer field); void purple_roomlist_room_add_field(PurpleRoomlist *list, PurpleRoomlistRoo m *room, gconstpointer field);
/** /**
* Join a room, given a PurpleRoomlistRoom and it's associated PurpleRoomli st. * Join a room, given a PurpleRoomlistRoom and it's associated PurpleRoomli st.
* *
* @param list The room list the room belongs to. * @param list The room list the room belongs to.
* @param room The room to join. * @param room The room to join.
*/ */
void purple_roomlist_room_join(PurpleRoomlist *list, PurpleRoomlistRoom *ro om); void purple_roomlist_room_join(PurpleRoomlist *list, PurpleRoomlistRoom *ro om);
/**
* Get the type of a room.
* @param room The room, which must not be @c NULL.
* @return The type of the room.
* @since 2.4.0
*/
PurpleRoomlistRoomType purple_roomlist_room_get_type(PurpleRoomlistRoom *ro
om);
/**
* Get the name of a room.
* @param room The room, which must not be @c NULL.
* @return The name of the room.
* @since 2.4.0
*/
const char * purple_roomlist_room_get_name(PurpleRoomlistRoom *room);
/**
* Get the parent of a room.
* @param room The room, which must not be @c NULL.
* @return The parent of the room, which can be @c NULL.
* @since 2.4.0
*/
PurpleRoomlistRoom * purple_roomlist_room_get_parent(PurpleRoomlistRoom *ro
om);
/**
* Get the list of fields for a room.
*
* @param room The room, which must not be @c NULL.
* @constreturn A list of fields
* @since 2.4.0
*/
GList * purple_roomlist_room_get_fields(PurpleRoomlistRoom *room);
/*@}*/ /*@}*/
/************************************************************************** / /************************************************************************** /
/** @name Room Field API * / /** @name Room Field API * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Creates a new field. * Creates a new field.
* *
skipping to change at line 296 skipping to change at line 338
* @param label The i18n'ed, user displayable name. * @param label The i18n'ed, user displayable name.
* @param name The internal name of the field. * @param name The internal name of the field.
* @param hidden Hide the field. * @param hidden Hide the field.
* *
* @return A new PurpleRoomlistField, ready to be added to a GList and pass ed to * @return A new PurpleRoomlistField, ready to be added to a GList and pass ed to
* purple_roomlist_set_fields(). * purple_roomlist_set_fields().
*/ */
PurpleRoomlistField *purple_roomlist_field_new(PurpleRoomlistFieldType type , PurpleRoomlistField *purple_roomlist_field_new(PurpleRoomlistFieldType type ,
const gchar *label, const gchar *name, const gchar *label, const gchar *name,
gboolean hidden); gboolean hidden);
/**
* Get the type of a field.
*
* @param field A PurpleRoomlistField, which must not be @c NULL.
*
* @return The type of the field.
* @since 2.4.0
*/
PurpleRoomlistFieldType purple_roomlist_field_get_type(PurpleRoomlistField
*field);
/**
* Get the label of a field.
*
* @param field A PurpleRoomlistField, which must not be @c NULL.
*
* @return The label of the field.
* @since 2.4.0
*/
const char * purple_roomlist_field_get_label(PurpleRoomlistField *field);
/**
* Check whether a roomlist-field is hidden.
* @param field A PurpleRoomlistField, which must not be @c NULL.
*
* @return @c TRUE if the field is hidden, @c FALSE otherwise.
* @since 2.4.0
*/
gboolean purple_roomlist_field_get_hidden(PurpleRoomlistField *field);
/*@}*/ /*@}*/
/************************************************************************** / /************************************************************************** /
/** @name UI Registration Functions * / /** @name UI Registration Functions * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Sets the UI operations structure to be used in all purple room lists. * Sets the UI operations structure to be used in all purple room lists.
* *
 End of changes. 3 change blocks. 
0 lines changed or deleted 75 lines changed or added


 server.h   server.h 
skipping to change at line 102 skipping to change at line 102
void serv_rem_deny(PurpleConnection *, const char *); void serv_rem_deny(PurpleConnection *, const char *);
void serv_set_permit_deny(PurpleConnection *); void serv_set_permit_deny(PurpleConnection *);
void serv_chat_invite(PurpleConnection *, int, const char *, const char *); void serv_chat_invite(PurpleConnection *, int, const char *, const char *);
void serv_chat_leave(PurpleConnection *, int); void serv_chat_leave(PurpleConnection *, int);
void serv_chat_whisper(PurpleConnection *, int, const char *, const char *) ; void serv_chat_whisper(PurpleConnection *, int, const char *, const char *) ;
int serv_chat_send(PurpleConnection *, int, const char *, PurpleMessageFla gs flags); int serv_chat_send(PurpleConnection *, int, const char *, PurpleMessageFla gs flags);
void serv_alias_buddy(PurpleBuddy *); void serv_alias_buddy(PurpleBuddy *);
void serv_got_alias(PurpleConnection *gc, const char *who, const char *alia s); void serv_got_alias(PurpleConnection *gc, const char *who, const char *alia s);
/** /**
* A protocol plugin should call this when it retrieves a private alias fro
m
* the server. Private aliases are the aliases the user sets, while public
* aliases are the aliases or display names that buddies set for themselves
.
*
* @param gc The connection on which the alias was received.
* @param who The screen name of the buddy whose alias was received.
* @param alias The alias that was received.
*/
void purple_serv_got_private_alias(PurpleConnection *gc, const char *who, c
onst char *alias);
/**
* Receive a typing message from a remote user. Either PURPLE_TYPING * Receive a typing message from a remote user. Either PURPLE_TYPING
* or PURPLE_TYPED. If the user has stopped typing then use * or PURPLE_TYPED. If the user has stopped typing then use
* serv_got_typing_stopped instead. * serv_got_typing_stopped instead.
* *
* TODO: Could probably move this into the conversation API. * TODO: Could probably move this into the conversation API.
* *
* @param gc The connection on which the typing message was received. * @param gc The connection on which the typing message was received.
* @param name The name of the remote user. * @param name The name of the remote user.
* @param timeout If this is a number greater than 0, then * @param timeout If this is a number greater than 0, then
* Purple will wait this number of seconds and then * Purple will wait this number of seconds and then
 End of changes. 1 change blocks. 
0 lines changed or deleted 14 lines changed or added


 signals.h   signals.h 
skipping to change at line 47 skipping to change at line 47
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/************************************************************************** / /************************************************************************** /
/** @name Signal API * / /** @name Signal API * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /** The priority of a signal connected using purple_signal_connect().
* Signal Connect Priorities *
* @see purple_signal_connect_priority()
*/ */
#define PURPLE_SIGNAL_PRIORITY_DEFAULT 0 #define PURPLE_SIGNAL_PRIORITY_DEFAULT 0
/** The largest signal priority; signals with this priority will be called
* <em>last</em>. (This is highest as in numerical value, not as in order
of
* importance.)
*
* @see purple_signal_connect_priority().
*/
#define PURPLE_SIGNAL_PRIORITY_HIGHEST 9999 #define PURPLE_SIGNAL_PRIORITY_HIGHEST 9999
/** The smallest signal priority; signals with this priority will be called
* <em>first</em>. (This is lowest as in numerical value, not as in order
of
* importance.)
*
* @see purple_signal_connect_priority().
*/
#define PURPLE_SIGNAL_PRIORITY_LOWEST -9999 #define PURPLE_SIGNAL_PRIORITY_LOWEST -9999
/** /**
* Registers a signal in an instance. * Registers a signal in an instance.
* *
* @param instance The instance to register the signal for. * @param instance The instance to register the signal for.
* @param signal The signal name. * @param signal The signal name.
* @param marshal The marshal function. * @param marshal The marshal function.
* @param ret_value The return value type, or NULL for no return value. * @param ret_value The return value type, or NULL for no return value.
* @param num_values The number of values to be passed to the callbacks. * @param num_values The number of values to be passed to the callbacks.
skipping to change at line 112 skipping to change at line 125
* Connects a signal handler to a signal for a particular object. * Connects a signal handler to a signal for a particular object.
* *
* Take care not to register a handler function twice. Purple will * Take care not to register a handler function twice. Purple will
* not correct any mistakes for you in this area. * not correct any mistakes for you in this area.
* *
* @param instance The instance to connect to. * @param instance The instance to connect to.
* @param signal The name of the signal to connect. * @param signal The name of the signal to connect.
* @param handle The handle of the receiver. * @param handle The handle of the receiver.
* @param func The callback function. * @param func The callback function.
* @param data The data to pass to the callback function. * @param data The data to pass to the callback function.
* @param priority The priority with which the handler should be called. Si * @param priority The priority with which the handler should be called. Si
gnal handlers are called gnal
* in order from PURPLE_SIGNAL_PRIORITY_LOWEST to PURPLE_SI * handlers are called in ascending numerical order of @a
GNAL_PRIORITY_HIGHEST. * priority from #PURPLE_SIGNAL_PRIORITY_LOWEST to
* #PURPLE_SIGNAL_PRIORITY_HIGHEST.
* *
* @return The signal handler ID. * @return The signal handler ID.
* *
* @see purple_signal_disconnect() * @see purple_signal_disconnect()
*/ */
gulong purple_signal_connect_priority(void *instance, const char *signal, gulong purple_signal_connect_priority(void *instance, const char *signal,
void *handle, PurpleCallback func, void * data, int priority); void *handle, PurpleCallback func, void *data, int priority);
/** /**
* Connects a signal handler to a signal for a particular object. * Connects a signal handler to a signal for a particular object.
* (priority defaults to 0) * (Its priority defaults to 0, aka #PURPLE_SIGNAL_PRIORITY_DEFAULT.)
* *
* Take care not to register a handler function twice. Purple will * Take care not to register a handler function twice. Purple will
* not correct any mistakes for you in this area. * not correct any mistakes for you in this area.
* *
* @param instance The instance to connect to. * @param instance The instance to connect to.
* @param signal The name of the signal to connect. * @param signal The name of the signal to connect.
* @param handle The handle of the receiver. * @param handle The handle of the receiver.
* @param func The callback function. * @param func The callback function.
* @param data The data to pass to the callback function. * @param data The data to pass to the callback function.
* *
* @return The signal handler ID. * @return The signal handler ID.
* *
* @see purple_signal_disconnect() * @see purple_signal_disconnect()
*/ */
gulong purple_signal_connect(void *instance, const char *signal, gulong purple_signal_connect(void *instance, const char *signal,
void *handle, PurpleCallb ack func, void *data); void *handle, PurpleCallback func, void *data);
/** /**
* Connects a signal handler to a signal for a particular object. * Connects a signal handler to a signal for a particular object.
* *
* The signal handler will take a va_args of arguments, instead of * The signal handler will take a va_args of arguments, instead of
* individual arguments. * individual arguments.
* *
* Take care not to register a handler function twice. Purple will * Take care not to register a handler function twice. Purple will
* not correct any mistakes for you in this area. * not correct any mistakes for you in this area.
* *
* @param instance The instance to connect to. * @param instance The instance to connect to.
* @param signal The name of the signal to connect. * @param signal The name of the signal to connect.
* @param handle The handle of the receiver. * @param handle The handle of the receiver.
* @param func The callback function. * @param func The callback function.
* @param data The data to pass to the callback function. * @param data The data to pass to the callback function.
* @param priority The order in which the signal should be added to the lis * @param priority The priority with which the handler should be called. Si
t gnal
* handlers are called in ascending numerical order of @a
* priority from #PURPLE_SIGNAL_PRIORITY_LOWEST to
* #PURPLE_SIGNAL_PRIORITY_HIGHEST.
* *
* @return The signal handler ID. * @return The signal handler ID.
* *
* @see purple_signal_disconnect() * @see purple_signal_disconnect()
*/ */
gulong purple_signal_connect_priority_vargs(void *instance, const char *sig nal, gulong purple_signal_connect_priority_vargs(void *instance, const char *sig nal,
void *handle, PurpleCallback func, v oid *data, int priority); void *handle, PurpleCallback func, void *data, int priority);
/** /**
* Connects a signal handler to a signal for a particular object. * Connects a signal handler to a signal for a particular object.
* (priority defaults to 0) * (Its priority defaults to 0, aka #PURPLE_SIGNAL_PRIORITY_DEFAULT.)
*
* The signal handler will take a va_args of arguments, instead of * The signal handler will take a va_args of arguments, instead of
* individual arguments. * individual arguments.
* *
* Take care not to register a handler function twice. Purple will * Take care not to register a handler function twice. Purple will
* not correct any mistakes for you in this area. * not correct any mistakes for you in this area.
* *
* @param instance The instance to connect to. * @param instance The instance to connect to.
* @param signal The name of the signal to connect. * @param signal The name of the signal to connect.
* @param handle The handle of the receiver. * @param handle The handle of the receiver.
* @param func The callback function. * @param func The callback function.
* @param data The data to pass to the callback function. * @param data The data to pass to the callback function.
* *
* @return The signal handler ID. * @return The signal handler ID.
* *
* @see purple_signal_disconnect() * @see purple_signal_disconnect()
*/ */
gulong purple_signal_connect_vargs(void *instance, const char *signal, gulong purple_signal_connect_vargs(void *instance, const char *signal,
void *handl e, PurpleCallback func, void *data); void *handle, PurpleCallback func, void *data);
/** /**
* Disconnects a signal handler from a signal on an object. * Disconnects a signal handler from a signal on an object.
* *
* @param instance The instance to disconnect from. * @param instance The instance to disconnect from.
* @param signal The name of the signal to disconnect. * @param signal The name of the signal to disconnect.
* @param handle The handle of the receiver. * @param handle The handle of the receiver.
* @param func The registered function to disconnect. * @param func The registered function to disconnect.
* *
* @see purple_signal_connect() * @see purple_signal_connect()
 End of changes. 11 change blocks. 
14 lines changed or deleted 34 lines changed or added


 util.h   util.h 
skipping to change at line 88 skipping to change at line 88
PurpleMenuAction *purple_menu_action_new(const char *label, PurpleCallback callback, PurpleMenuAction *purple_menu_action_new(const char *label, PurpleCallback callback,
gpointer data, GList *children); gpointer data, GList *children);
/** /**
* Frees a PurpleMenuAction * Frees a PurpleMenuAction
* *
* @param act The PurpleMenuAction to free. * @param act The PurpleMenuAction to free.
*/ */
void purple_menu_action_free(PurpleMenuAction *act); void purple_menu_action_free(PurpleMenuAction *act);
/**
* Set the appropriate presence values for the currently playing song.
*
* @param title The title of the song, @c NULL to unset the value.
* @param artist The artist of the song, can be @c NULL.
* @param album The album of the song, can be @c NULL.
* @since 2.4.0
*/
void purple_util_set_current_song(const char *title, const char *artist,
const char *album);
/**
* Format song information.
*
* @param title The title of the song, @c NULL to unset the value.
* @param artist The artist of the song, can be @c NULL.
* @param album The album of the song, can be @c NULL.
* @param unused Currently unused, must be @c NULL.
*
* @return The formatted string. The caller must #g_free the returned str
ing.
* @since 2.4.0
*/
char * purple_util_format_song_info(const char *title, const char *artist,
const char *album, gpointer unused);
/************************************************************************** / /************************************************************************** /
/** @name Utility Subsystem * / /** @name Utility Subsystem * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Initializes the utility subsystem. * Initializes the utility subsystem.
* *
* @since 2.3.0 * @since 2.3.0
*/ */
skipping to change at line 1048 skipping to change at line 1073
/** /**
* Checks if the given email address is syntactically valid. * Checks if the given email address is syntactically valid.
* *
* @param address The email address to validate. * @param address The email address to validate.
* *
* @return True if the email address is syntactically correct. * @return True if the email address is syntactically correct.
*/ */
gboolean purple_email_is_valid(const char *address); gboolean purple_email_is_valid(const char *address);
/** /**
* Checks if the given IP address is a syntactically valid IPv4 address.
*
* @param address The IP address to validate.
*
* @return True if the IP address is syntactically correct.
*/
gboolean purple_ip_address_is_valid(const char *ip);
/**
* This function extracts a list of URIs from the a "text/uri-list" * This function extracts a list of URIs from the a "text/uri-list"
* string. It was "borrowed" from gnome_uri_list_extract_uris * string. It was "borrowed" from gnome_uri_list_extract_uris
* *
* @param uri_list An uri-list in the standard format. * @param uri_list An uri-list in the standard format.
* *
* @return A GList containing strings allocated with g_malloc * @return A GList containing strings allocated with g_malloc
* that have been splitted from uri-list. * that have been splitted from uri-list.
*/ */
GList *purple_uri_list_extract_uris(const gchar *uri_list); GList *purple_uri_list_extract_uris(const gchar *uri_list);
skipping to change at line 1102 skipping to change at line 1136
* invalid characters with a filler character (currently hardcoded to * invalid characters with a filler character (currently hardcoded to
* '?'). * '?').
* *
* @param str The source string. * @param str The source string.
* *
* @return A valid UTF-8 string. * @return A valid UTF-8 string.
*/ */
gchar *purple_utf8_salvage(const char *str); gchar *purple_utf8_salvage(const char *str);
/** /**
* Return the UTF-8 version of gai_strerror(). It calls gai_strerror()
* then converts the result to UTF-8. This function is analogous to
* g_strerror().
*
* @param errnum The error code.
*
* @return The UTF-8 error message.
* @since 2.4.0
*/
G_CONST_RETURN gchar *purple_gai_strerror(gint errnum);
/**
* Compares two UTF-8 strings case-insensitively. This string is * Compares two UTF-8 strings case-insensitively. This string is
* more expensive than a simple g_utf8_collate() comparison because * more expensive than a simple g_utf8_collate() comparison because
* it calls g_utf8_casefold() on each string, which allocates new * it calls g_utf8_casefold() on each string, which allocates new
* strings. * strings.
* *
* @param a The first string. * @param a The first string.
* @param b The second string. * @param b The second string.
* *
* @return -1 if @a is less than @a b. * @return -1 if @a is less than @a b.
* 0 if @a is equal to @a b. * 0 if @a is equal to @a b.
 End of changes. 3 change blocks. 
0 lines changed or deleted 47 lines changed or added


 version.h   version.h 
skipping to change at line 28 skipping to change at line 28
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-130 1 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-130 1 USA
*/ */
#ifndef _PURPLE_VERSION_H_ #ifndef _PURPLE_VERSION_H_
#define _PURPLE_VERSION_H_ #define _PURPLE_VERSION_H_
#define PURPLE_MAJOR_VERSION (2) #define PURPLE_MAJOR_VERSION (2)
#define PURPLE_MINOR_VERSION (3) #define PURPLE_MINOR_VERSION (4)
#define PURPLE_MICRO_VERSION (1) #define PURPLE_MICRO_VERSION (0)
#define PURPLE_VERSION_CHECK(x,y,z) ((x) == PURPLE_MAJOR_VERSION && \ #define PURPLE_VERSION_CHECK(x,y,z) ((x) == PURPLE_MAJOR_VERSION && \
((y ) < PURPLE_MINOR_VERSION || \ ((y ) < PURPLE_MINOR_VERSION || \
(( y) == PURPLE_MINOR_VERSION && (z) <= PURPLE_MICRO_VERSION))) (( y) == PURPLE_MINOR_VERSION && (z) <= PURPLE_MICRO_VERSION)))
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** /**
skipping to change at line 52 skipping to change at line 52
* *
* @param required_major: the required major version. * @param required_major: the required major version.
* @param required_minor: the required minor version. * @param required_minor: the required minor version.
* @param required_micro: the required micro version. * @param required_micro: the required micro version.
* *
* @return NULL if the versions are compatible, or a string describing * @return NULL if the versions are compatible, or a string describing
* the version mismatch if not compatible. * the version mismatch if not compatible.
*/ */
const char *purple_version_check(guint required_major, guint required_minor , guint required_micro); const char *purple_version_check(guint required_major, guint required_minor , guint required_micro);
/**
* The major version of the running libpurple. Contrast with
* #PURPLE_MAJOR_VERSION, which expands at compile time to the major versio
n of
* libpurple being compiled against.
*
* @since 2.4.0
*/
extern const guint purple_major_version;
/**
* The minor version of the running libpurple. Contrast with
* #PURPLE_MINOR_VERSION, which expands at compile time to the minor versio
n of
* libpurple being compiled against.
*
* @since 2.4.0
*/
extern const guint purple_minor_version;
/**
*
* The micro version of the running libpurple. Contrast with
* #PURPLE_MICRO_VERSION, which expands at compile time to the micro versio
n of
* libpurple being compiled against.
*
* @since 2.4.0
*/
extern const guint purple_micro_version;
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _PURPLE_VERSION_H_ */ #endif /* _PURPLE_VERSION_H_ */
 End of changes. 2 change blocks. 
2 lines changed or deleted 33 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/