account.h   account.h 
skipping to change at line 42 skipping to change at line 42
/** @copydoc _PurpleAccountUiOps */ /** @copydoc _PurpleAccountUiOps */
typedef struct _PurpleAccountUiOps PurpleAccountUiOps; typedef struct _PurpleAccountUiOps PurpleAccountUiOps;
/** @copydoc _PurpleAccount */ /** @copydoc _PurpleAccount */
typedef struct _PurpleAccount PurpleAccount; typedef struct _PurpleAccount PurpleAccount;
typedef gboolean (*PurpleFilterAccountFunc)(PurpleAccount *account); typedef gboolean (*PurpleFilterAccountFunc)(PurpleAccount *account);
typedef void (*PurpleAccountRequestAuthorizationCb)(void *); typedef void (*PurpleAccountRequestAuthorizationCb)(void *);
typedef void (*PurpleAccountRegistrationCb)(PurpleAccount *account, gboolea n succeeded, void *user_data); typedef void (*PurpleAccountRegistrationCb)(PurpleAccount *account, gboolea n succeeded, void *user_data);
typedef void (*PurpleAccountUnregistrationCb)(PurpleAccount *account, gbool ean succeeded, void *user_data); typedef void (*PurpleAccountUnregistrationCb)(PurpleAccount *account, gbool ean succeeded, void *user_data);
typedef void (*PurpleSetPublicAliasSuccessCallback)(PurpleAccount *account,
const char *new_alias);
typedef void (*PurpleSetPublicAliasFailureCallback)(PurpleAccount *account,
const char *error);
typedef void (*PurpleGetPublicAliasSuccessCallback)(PurpleAccount *account,
const char *alias);
typedef void (*PurpleGetPublicAliasFailureCallback)(PurpleAccount *account,
const char *error);
#include "connection.h" #include "connection.h"
#include "log.h" #include "log.h"
#include "privacy.h" #include "privacy.h"
#include "proxy.h" #include "proxy.h"
#include "prpl.h" #include "prpl.h"
#include "status.h" #include "status.h"
/** /**
* Account request types. * Account request types.
skipping to change at line 416 skipping to change at line 420
/** /**
* Sets the account's proxy information. * Sets the account's proxy information.
* *
* @param account The account. * @param account The account.
* @param info The proxy information. * @param info The proxy information.
*/ */
void purple_account_set_proxy_info(PurpleAccount *account, PurpleProxyInfo *info); void purple_account_set_proxy_info(PurpleAccount *account, PurpleProxyInfo *info);
/** /**
* Sets the account's privacy type.
*
* @param account The account.
* @param privacy_type The privacy type.
*
* @since 2.7.0
*/
void purple_account_set_privacy_type(PurpleAccount *account, PurplePrivacyT
ype privacy_type);
/**
* 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);
/** /**
* Variadic version of purple_account_set_status_list(); the variadic list * Variadic version of purple_account_set_status_list(); the variadic list
* replaces @a attrs, and should be <tt>NULL</tt>-terminated. * replaces @a attrs, and should be <tt>NULL</tt>-terminated.
skipping to change at line 453 skipping to change at line 467
* deactivated (<tt>FALSE</tt>). * deactivated (<tt>FALSE</tt>).
* @param attrs A list of <tt>const char *</tt> attribute names followe d by * @param attrs A list of <tt>const char *</tt> attribute names followe d by
* <tt>const char *</tt> attribute values for the status. * <tt>const char *</tt> attribute values for the status.
* (For example, one pair might be <tt>"message"</tt> foll owed * (For example, one pair might be <tt>"message"</tt> foll owed
* by <tt>"hello, talk to me!"</tt>.) * 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 *status_id, gboolean active, GList *attrs); const char *status_id, gboolean active, GList *attrs);
/** /**
* Set a server-side (public) alias for this account. The account
* must already be connected.
*
* Currently, the public alias is not stored locally, although this
* may change in a later version.
*
* @param account The account
* @param alias The new public alias for this account or NULL
* to unset the alias/nickname (or return it to
* a protocol-specific "default", like the username)
* @param success_cb A callback which will be called if the alias
* is successfully set on the server (or NULL).
* @param failure_cb A callback which will be called if the alias
* is not successfully set on the server (or NULL).
*
* @since 2.7.0
*/
void purple_account_set_public_alias(PurpleAccount *account,
const char *alias, PurpleSetPublicAliasSuccessCallback success_cb,
PurpleSetPublicAliasFailureCallback failure_cb);
/**
* Fetch the server-side (public) alias for this account. The account
* must already be connected.
*
* @param account The account
* @param success_cb A callback which will be called with the alias
* @param failure_cb A callback which will be called if the prpl is
* unable to retrieve the server-side alias.
* @since 2.7.0
*/
void purple_account_get_public_alias(PurpleAccount *account,
PurpleGetPublicAliasSuccessCallback success_cb,
PurpleGetPublicAliasFailureCallback failure_cb);
/**
* 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);
/** /**
* Removes an account-specific setting by name. * Removes an account-specific setting by name.
* *
* @param account The account. * @param account The account.
skipping to change at line 631 skipping to change at line 681
/** /**
* Returns the account's connection. * Returns the account's connection.
* *
* @param account The account. * @param account The account.
* *
* @return The connection. * @return The connection.
*/ */
PurpleConnection *purple_account_get_connection(const PurpleAccount *accoun t); PurpleConnection *purple_account_get_connection(const PurpleAccount *accoun t);
/** /**
* Returns a name for this account appropriate for display to the user. In
* order of preference: the account's alias; the contact or buddy alias (if
* the account exists on its own buddy list); the connection's display name
;
* the account's username.
*
* @param account The account.
*
* @return The name to display.
*
* @since 2.7.0
*/
const gchar *purple_account_get_name_for_display(const PurpleAccount *accou
nt);
/**
* Returns whether or not this account should save its password. * Returns whether or not this account should save its password.
* *
* @param account The account. * @param account The account.
* *
* @return @c TRUE if it should remember the password. * @return @c TRUE if it should remember the password.
*/ */
gboolean purple_account_get_remember_password(const PurpleAccount *account) ; gboolean purple_account_get_remember_password(const PurpleAccount *account) ;
/** /**
* Returns whether or not this account should check for mail. * Returns whether or not this account should check for mail.
skipping to change at line 670 skipping to change at line 734
/** /**
* Returns the account's proxy information. * Returns the account's proxy information.
* *
* @param account The account. * @param account The account.
* *
* @return The proxy information. * @return The proxy information.
*/ */
PurpleProxyInfo *purple_account_get_proxy_info(const PurpleAccount *account ); PurpleProxyInfo *purple_account_get_proxy_info(const PurpleAccount *account );
/** /**
* Returns the account's privacy type.
*
* @param account The account.
*
* @return The privacy type.
*
* @since 2.7.0
*/
PurplePrivacyType purple_account_get_privacy_type(const PurpleAccount *acco
unt);
/**
* Returns the active status for this account. This looks through * Returns the active status for this account. This looks through
* the PurplePresence associated with this account and returns the * the PurplePresence associated with this account and returns the
* PurpleStatus that has its active flag set to "TRUE." There can be * PurpleStatus that has its active flag set to "TRUE." There can be
* only one active PurpleStatus in a PurplePresence. * only one active PurpleStatus in a PurplePresence.
* *
* @param account The account. * @param account The account.
* *
* @return The active status. * @return The active status.
*/ */
PurpleStatus *purple_account_get_active_status(const PurpleAccount *account ); PurpleStatus *purple_account_get_active_status(const PurpleAccount *account );
 End of changes. 5 change blocks. 
0 lines changed or deleted 83 lines changed or added


 blist.h   blist.h 
skipping to change at line 111 skipping to change at line 111
*/ */
#define PURPLE_BUDDY(obj) ((PurpleBuddy *)(obj)) #define PURPLE_BUDDY(obj) ((PurpleBuddy *)(obj))
/** /**
* @since 2.6.0 * @since 2.6.0
*/ */
#define PURPLE_CHAT(obj) ((PurpleChat *)(obj)) #define PURPLE_CHAT(obj) ((PurpleChat *)(obj))
#include "account.h" #include "account.h"
#include "buddyicon.h" #include "buddyicon.h"
#include "media.h"
#include "status.h" #include "status.h"
/************************************************************************** / /************************************************************************** /
/* Data Structures * / /* Data Structures * /
/************************************************************************** / /************************************************************************** /
#if !(defined PURPLE_HIDE_STRUCTS) || (defined _PURPLE_BLIST_C_) #if !(defined PURPLE_HIDE_STRUCTS) || (defined _PURPLE_BLIST_C_)
/** /**
* A Buddy list node. This can represent a group, a buddy, or anything els e. * A Buddy list node. This can represent a group, a buddy, or anything els e.
skipping to change at line 146 skipping to change at line 147
*/ */
struct _PurpleBuddy { struct _PurpleBuddy {
PurpleBlistNode node; /**< The node that this bu ddy inherits from */ PurpleBlistNode node; /**< The node that this bu ddy inherits from */
char *name; /**< The name of the buddy. */ char *name; /**< The name of the buddy. */
char *alias; /**< The user-set alias of t he buddy */ char *alias; /**< The user-set alias of t he buddy */
char *server_alias; /**< The server-specified al ias of the buddy. (i.e. MSN "Friendly Names") */ char *server_alias; /**< The server-specified al ias of the buddy. (i.e. MSN "Friendly Names") */
void *proto_data; /**< This allows the prpl to associate whatever data it wants with a buddy */ void *proto_data; /**< This allows the prpl to associate whatever data it wants with a buddy */
PurpleBuddyIcon *icon; /**< The buddy icon. */ PurpleBuddyIcon *icon; /**< The buddy icon. */
PurpleAccount *account; /**< the acc ount this buddy belongs to */ PurpleAccount *account; /**< the acc ount this buddy belongs to */
PurplePresence *presence; PurplePresence *presence;
PurpleMediaCaps media_caps; /**< The media capabilities of the buddy. */
}; };
/** /**
* A contact. This contains everything Purple will ever need to know about a contact. * A contact. This contains everything Purple will ever need to know about a contact.
*/ */
struct _PurpleContact { struct _PurpleContact {
PurpleBlistNode node; /**< The node that this contact inhe rits from. */ PurpleBlistNode node; /**< The node that this contact inhe rits from. */
char *alias; /**< The user-set alias of the contact */ char *alias; /**< The user-set alias of the contact */
int totalsize; /**< The number of buddies in this conta ct */ int totalsize; /**< The number of buddies in this conta ct */
int currentsize; /**< The number of buddies in this conta ct corresponding to online accounts */ int currentsize; /**< The number of buddies in this conta ct corresponding to online accounts */
skipping to change at line 658 skipping to change at line 660
/** /**
* Returns a buddy's presence. * Returns a buddy's presence.
* *
* @param buddy The buddy. * @param buddy The buddy.
* *
* @return The buddy's presence. * @return The buddy's presence.
*/ */
PurplePresence *purple_buddy_get_presence(const PurpleBuddy *buddy); PurplePresence *purple_buddy_get_presence(const PurpleBuddy *buddy);
/** /**
* Gets the media caps from a buddy.
*
* @param buddy The buddy.
* @return The media caps.
*
* @since 2.7.0
*/
PurpleMediaCaps purple_buddy_get_media_caps(const PurpleBuddy *buddy);
/**
* Sets the media caps for a buddy.
*
* @param buddy The PurpleBuddy.
* @param media_caps The PurpleMediaCaps.
*/
void purple_buddy_set_media_caps(PurpleBuddy *buddy, PurpleMediaCaps media_
caps);
/**
* Adds a new buddy to the buddy list. * Adds a new buddy to the buddy list.
* *
* The buddy will be inserted right after node or prepended to the * The buddy will be inserted right after node or prepended to the
* group if node is NULL. If both are NULL, the buddy will be added to * group if node is NULL. If both are NULL, the buddy will be added to
* the "Buddies" group. * the "Buddies" group.
* *
* @param buddy The new buddy who gets added * @param buddy The new buddy who gets added
* @param contact The optional contact to place the buddy in. * @param contact The optional contact to place the buddy in.
* @param group The group to add the new buddy to. * @param group The group to add the new buddy to.
* @param node The insertion point. Pass in NULL to add the node as * @param node The insertion point. Pass in NULL to add the node as
skipping to change at line 716 skipping to change at line 736
PurpleContact *purple_contact_new(void); PurpleContact *purple_contact_new(void);
/** /**
* Destroys a contact * Destroys a contact
* *
* @param contact The contact to destroy * @param contact The contact to destroy
*/ */
void purple_contact_destroy(PurpleContact *contact); void purple_contact_destroy(PurpleContact *contact);
/** /**
* Gets the PurpleGroup from a PurpleContact
*
* @param contact The contact
* @return The group
*
* @since 2.7.0
*/
PurpleGroup *purple_contact_get_group(const PurpleContact *contact);
/**
* Adds a new contact to the buddy list. * Adds a new contact to the buddy list.
* *
* The new contact will be inserted after insert or prepended to the list i f * The new contact will be inserted after insert or prepended to the list i f
* node is NULL. * node is NULL.
* *
* @param contact The contact * @param contact The contact
* @param group The group to add the contact to * @param group The group to add the contact to
* @param node The insertion point * @param node The insertion point
*/ */
void purple_blist_add_contact(PurpleContact *contact, PurpleGroup *group, P urpleBlistNode *node); void purple_blist_add_contact(PurpleContact *contact, PurpleGroup *group, P urpleBlistNode *node);
 End of changes. 4 change blocks. 
0 lines changed or deleted 31 lines changed or added


 certificate.h   certificate.h 
skipping to change at line 252 skipping to change at line 252
/** /**
* Check the subject name against that on the certificate * Check the subject name against that on the certificate
* @see purple_certificate_check_subject_name() * @see purple_certificate_check_subject_name()
* @return TRUE if it is a match, else FALSE * @return TRUE if it is a match, else FALSE
*/ */
gboolean (* check_subject_name)(PurpleCertificate *crt, const gchar *name); gboolean (* check_subject_name)(PurpleCertificate *crt, const gchar *name);
/** Retrieve the certificate activation/expiration times */ /** Retrieve the certificate activation/expiration times */
gboolean (* get_times)(PurpleCertificate *crt, time_t *activation, t ime_t *expiration); gboolean (* get_times)(PurpleCertificate *crt, time_t *activation, t ime_t *expiration);
/** Imports certificates from a file
*
* @param filename File to import the certificates from
* @return GSList of pointers to the newly allocated Cert
ificate structs
* or NULL on failure.
*/
GSList * (* import_certificates)(const gchar * filename);
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);
}; };
/** A set of operations used to provide logic for verifying a Certificate's /** A set of operations used to provide logic for verifying a Certificate's
* authenticity. * authenticity.
* *
* A Verifier provider must fill out these fields, then register it using * A Verifier provider must fill out these fields, then register it using
* purple_certificate_register_verifier() * purple_certificate_register_verifier()
* *
* The (scheme_name, name) value must be unique for each Verifier - you may not * The (scheme_name, name) value must be unique for each Verifier - you may not
* register more than one Verifier of the same name for each Scheme * register more than one Verifier of the same name for each Scheme
skipping to change at line 494 skipping to change at line 501
* Imports a PurpleCertificate from a file * Imports a PurpleCertificate from a file
* *
* @param scheme Scheme to import under * @param scheme Scheme to import under
* @param filename File path to import from * @param filename File path to import from
* @return Pointer to a new PurpleCertificate, or NULL on failure * @return Pointer to a new PurpleCertificate, or NULL on failure
*/ */
PurpleCertificate * PurpleCertificate *
purple_certificate_import(PurpleCertificateScheme *scheme, const gchar *fil ename); purple_certificate_import(PurpleCertificateScheme *scheme, const gchar *fil ename);
/** /**
* Imports a list of PurpleCertificates from a file
*
* @param scheme Scheme to import under
* @param filename File path to import from
* @return Pointer to a GSList of new PurpleCertificates, or NULL on failur
e
*/
GSList *
purple_certificates_import(PurpleCertificateScheme *scheme, const gchar *fi
lename);
/**
* Exports a PurpleCertificate to a file * Exports a PurpleCertificate to a file
* *
* @param filename File to export the certificate to * @param filename File to export the certificate to
* @param crt Certificate to export * @param crt Certificate to export
* @return TRUE if the export succeeded, otherwise FALSE * @return TRUE if the export succeeded, otherwise FALSE
*/ */
gboolean gboolean
purple_certificate_export(const gchar *filename, PurpleCertificate *crt); purple_certificate_export(const gchar *filename, PurpleCertificate *crt);
/** /**
 End of changes. 3 change blocks. 
1 lines changed or deleted 21 lines changed or added


 connection.h   connection.h 
skipping to change at line 47 skipping to change at line 47
{ {
PURPLE_CONNECTION_HTML = 0x0001, /**< Connection sends/receive s in 'HTML'. */ PURPLE_CONNECTION_HTML = 0x0001, /**< Connection sends/receive s in 'HTML'. */
PURPLE_CONNECTION_NO_BGCOLOR = 0x0002, /**< Connection does not send /receive PURPLE_CONNECTION_NO_BGCOLOR = 0x0002, /**< Connection does not send /receive
background colors. */ background colors. */
PURPLE_CONNECTION_AUTO_RESP = 0x0004, /**< Send auto responses whe n away. */ PURPLE_CONNECTION_AUTO_RESP = 0x0004, /**< Send auto responses whe n away. */
PURPLE_CONNECTION_FORMATTING_WBFO = 0x0008, /**< The text buffer mus t be formatted as a whole */ PURPLE_CONNECTION_FORMATTING_WBFO = 0x0008, /**< The text buffer mus t be formatted as a whole */
PURPLE_CONNECTION_NO_NEWLINES = 0x0010, /**< No new lines are allowe d in outgoing messages */ PURPLE_CONNECTION_NO_NEWLINES = 0x0010, /**< No new lines are allowe d in outgoing messages */
PURPLE_CONNECTION_NO_FONTSIZE = 0x0020, /**< Connection does not sen d/receive font sizes */ PURPLE_CONNECTION_NO_FONTSIZE = 0x0020, /**< Connection does not sen d/receive font sizes */
PURPLE_CONNECTION_NO_URLDESC = 0x0040, /**< Connection does not sup port descriptions with links */ PURPLE_CONNECTION_NO_URLDESC = 0x0040, /**< Connection does not sup port descriptions with links */
PURPLE_CONNECTION_NO_IMAGES = 0x0080, /**< Connection does not supp ort sending of images */ PURPLE_CONNECTION_NO_IMAGES = 0x0080, /**< Connection does not supp ort sending of images */
PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY = 0x0100 /**< Connection suppo PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY = 0x0100, /**< Connection supp
rts sending and receiving custom smileys */ orts sending and receiving custom smileys */
PURPLE_CONNECTION_SUPPORT_MOODS = 0x0200, /**< Connection supports s
etting moods */
PURPLE_CONNECTION_SUPPORT_MOOD_MESSAGES = 0x0400 /**< Connection sup
ports setting a message on moods */
} PurpleConnectionFlags; } PurpleConnectionFlags;
typedef enum typedef enum
{ {
PURPLE_DISCONNECTED = 0, /**< Disconnected. */ PURPLE_DISCONNECTED = 0, /**< Disconnected. */
PURPLE_CONNECTED, /**< Connected. */ PURPLE_CONNECTED, /**< Connected. */
PURPLE_CONNECTING /**< Connecting. */ PURPLE_CONNECTING /**< Connecting. */
} PurpleConnectionState; } PurpleConnectionState;
 End of changes. 1 change blocks. 
3 lines changed or deleted 6 lines changed or added


 dbus-types.h   dbus-types.h 
skipping to change at line 46 skipping to change at line 46
PURPLE_DBUS_DECLARE_TYPE(PurpleEventLoopUiOps) PURPLE_DBUS_DECLARE_TYPE(PurpleEventLoopUiOps)
PURPLE_DBUS_DECLARE_TYPE(PurpleXfer) PURPLE_DBUS_DECLARE_TYPE(PurpleXfer)
PURPLE_DBUS_DECLARE_TYPE(PurpleXferUiOps) PURPLE_DBUS_DECLARE_TYPE(PurpleXferUiOps)
PURPLE_DBUS_DECLARE_TYPE(PurpleIdleUiOps) PURPLE_DBUS_DECLARE_TYPE(PurpleIdleUiOps)
PURPLE_DBUS_DECLARE_TYPE(PurpleStoredImage) PURPLE_DBUS_DECLARE_TYPE(PurpleStoredImage)
PURPLE_DBUS_DECLARE_TYPE(PurpleLog) PURPLE_DBUS_DECLARE_TYPE(PurpleLog)
PURPLE_DBUS_DECLARE_TYPE(PurpleLogLogger) PURPLE_DBUS_DECLARE_TYPE(PurpleLogLogger)
PURPLE_DBUS_DECLARE_TYPE(PurpleLogCommonLoggerData) PURPLE_DBUS_DECLARE_TYPE(PurpleLogCommonLoggerData)
PURPLE_DBUS_DECLARE_TYPE(PurpleLogSet) PURPLE_DBUS_DECLARE_TYPE(PurpleLogSet)
PURPLE_DBUS_DECLARE_TYPE(PurpleMedia) PURPLE_DBUS_DECLARE_TYPE(PurpleMedia)
PURPLE_DBUS_DECLARE_TYPE(PurpleMediaCandidate)
PURPLE_DBUS_DECLARE_TYPE(PurpleMediaCodec)
PURPLE_DBUS_DECLARE_TYPE(PurpleMediaElementInfo) PURPLE_DBUS_DECLARE_TYPE(PurpleMediaElementInfo)
PURPLE_DBUS_DECLARE_TYPE(PurpleMediaElementInfoClass) PURPLE_DBUS_DECLARE_TYPE(PurpleMediaElementInfoClass)
PURPLE_DBUS_DECLARE_TYPE(PurpleMediaManager) PURPLE_DBUS_DECLARE_TYPE(PurpleMediaManager)
PURPLE_DBUS_DECLARE_TYPE(PurpleMediaManagerClass) PURPLE_DBUS_DECLARE_TYPE(PurpleMediaManagerClass)
PURPLE_DBUS_DECLARE_TYPE(PurpleMimeDocument) PURPLE_DBUS_DECLARE_TYPE(PurpleMimeDocument)
PURPLE_DBUS_DECLARE_TYPE(PurpleMimePart) PURPLE_DBUS_DECLARE_TYPE(PurpleMimePart)
PURPLE_DBUS_DECLARE_TYPE(PurpleNetworkListenData) PURPLE_DBUS_DECLARE_TYPE(PurpleNetworkListenData)
PURPLE_DBUS_DECLARE_TYPE(PurpleNotifyUserInfoEntry) PURPLE_DBUS_DECLARE_TYPE(PurpleNotifyUserInfoEntry)
PURPLE_DBUS_DECLARE_TYPE(PurpleNotifyUserInfo) PURPLE_DBUS_DECLARE_TYPE(PurpleNotifyUserInfo)
PURPLE_DBUS_DECLARE_TYPE(PurpleNotifySearchResults) PURPLE_DBUS_DECLARE_TYPE(PurpleNotifySearchResults)
skipping to change at line 75 skipping to change at line 73
PURPLE_DBUS_DECLARE_TYPE(PurplePluginAction) PURPLE_DBUS_DECLARE_TYPE(PurplePluginAction)
PURPLE_DBUS_DECLARE_TYPE(PurplePluginPrefFrame) PURPLE_DBUS_DECLARE_TYPE(PurplePluginPrefFrame)
PURPLE_DBUS_DECLARE_TYPE(PurplePluginPref) PURPLE_DBUS_DECLARE_TYPE(PurplePluginPref)
PURPLE_DBUS_DECLARE_TYPE(PurplePounce) PURPLE_DBUS_DECLARE_TYPE(PurplePounce)
PURPLE_DBUS_DECLARE_TYPE(PurplePrivacyUiOps) PURPLE_DBUS_DECLARE_TYPE(PurplePrivacyUiOps)
PURPLE_DBUS_DECLARE_TYPE(PurpleProxyInfo) PURPLE_DBUS_DECLARE_TYPE(PurpleProxyInfo)
PURPLE_DBUS_DECLARE_TYPE(PurpleProxyConnectData) PURPLE_DBUS_DECLARE_TYPE(PurpleProxyConnectData)
PURPLE_DBUS_DECLARE_TYPE(PurplePluginProtocolInfo) PURPLE_DBUS_DECLARE_TYPE(PurplePluginProtocolInfo)
PURPLE_DBUS_DECLARE_TYPE(PurpleAttentionType) PURPLE_DBUS_DECLARE_TYPE(PurpleAttentionType)
PURPLE_DBUS_DECLARE_TYPE(PurpleBuddyIconSpec) PURPLE_DBUS_DECLARE_TYPE(PurpleBuddyIconSpec)
PURPLE_DBUS_DECLARE_TYPE(PurpleThumbnailSpec)
PURPLE_DBUS_DECLARE_TYPE(PurpleRequestField) PURPLE_DBUS_DECLARE_TYPE(PurpleRequestField)
PURPLE_DBUS_DECLARE_TYPE(PurpleRequestFields) PURPLE_DBUS_DECLARE_TYPE(PurpleRequestFields)
PURPLE_DBUS_DECLARE_TYPE(PurpleRequestFieldGroup) PURPLE_DBUS_DECLARE_TYPE(PurpleRequestFieldGroup)
PURPLE_DBUS_DECLARE_TYPE(PurpleRequestUiOps) PURPLE_DBUS_DECLARE_TYPE(PurpleRequestUiOps)
PURPLE_DBUS_DECLARE_TYPE(PurpleRoomlist) PURPLE_DBUS_DECLARE_TYPE(PurpleRoomlist)
PURPLE_DBUS_DECLARE_TYPE(PurpleRoomlistRoom) PURPLE_DBUS_DECLARE_TYPE(PurpleRoomlistRoom)
PURPLE_DBUS_DECLARE_TYPE(PurpleRoomlistField) PURPLE_DBUS_DECLARE_TYPE(PurpleRoomlistField)
PURPLE_DBUS_DECLARE_TYPE(PurpleRoomlistUiOps) PURPLE_DBUS_DECLARE_TYPE(PurpleRoomlistUiOps)
PURPLE_DBUS_DECLARE_TYPE(PurpleSavedStatus) PURPLE_DBUS_DECLARE_TYPE(PurpleSavedStatus)
PURPLE_DBUS_DECLARE_TYPE(PurpleSavedStatusSub) PURPLE_DBUS_DECLARE_TYPE(PurpleSavedStatusSub)
skipping to change at line 96 skipping to change at line 95
PURPLE_DBUS_DECLARE_TYPE(PurpleSmileyClass) PURPLE_DBUS_DECLARE_TYPE(PurpleSmileyClass)
PURPLE_DBUS_DECLARE_TYPE(PurpleDnsQueryData) PURPLE_DBUS_DECLARE_TYPE(PurpleDnsQueryData)
PURPLE_DBUS_DECLARE_TYPE(PurpleDnsQueryUiOps) PURPLE_DBUS_DECLARE_TYPE(PurpleDnsQueryUiOps)
PURPLE_DBUS_DECLARE_TYPE(PurpleSrvQueryData) PURPLE_DBUS_DECLARE_TYPE(PurpleSrvQueryData)
PURPLE_DBUS_DECLARE_TYPE(PurpleSrvResponse) PURPLE_DBUS_DECLARE_TYPE(PurpleSrvResponse)
PURPLE_DBUS_DECLARE_TYPE(PurpleTxtResponse) PURPLE_DBUS_DECLARE_TYPE(PurpleTxtResponse)
PURPLE_DBUS_DECLARE_TYPE(PurpleStatusType) PURPLE_DBUS_DECLARE_TYPE(PurpleStatusType)
PURPLE_DBUS_DECLARE_TYPE(PurpleStatusAttr) PURPLE_DBUS_DECLARE_TYPE(PurpleStatusAttr)
PURPLE_DBUS_DECLARE_TYPE(PurplePresence) PURPLE_DBUS_DECLARE_TYPE(PurplePresence)
PURPLE_DBUS_DECLARE_TYPE(PurpleStatus) PURPLE_DBUS_DECLARE_TYPE(PurpleStatus)
PURPLE_DBUS_DECLARE_TYPE(PurpleMood)
PURPLE_DBUS_DECLARE_TYPE(PurpleStringref) PURPLE_DBUS_DECLARE_TYPE(PurpleStringref)
PURPLE_DBUS_DECLARE_TYPE(PurpleStunNatDiscovery) PURPLE_DBUS_DECLARE_TYPE(PurpleStunNatDiscovery)
PURPLE_DBUS_DECLARE_TYPE(PurpleSoundUiOps) PURPLE_DBUS_DECLARE_TYPE(PurpleSoundUiOps)
PURPLE_DBUS_DECLARE_TYPE(PurpleSoundTheme) PURPLE_DBUS_DECLARE_TYPE(PurpleSoundTheme)
PURPLE_DBUS_DECLARE_TYPE(PurpleSoundThemeClass) PURPLE_DBUS_DECLARE_TYPE(PurpleSoundThemeClass)
PURPLE_DBUS_DECLARE_TYPE(PurpleSoundThemeLoader) PURPLE_DBUS_DECLARE_TYPE(PurpleSoundThemeLoader)
PURPLE_DBUS_DECLARE_TYPE(PurpleSoundThemeLoaderClass) PURPLE_DBUS_DECLARE_TYPE(PurpleSoundThemeLoaderClass)
PURPLE_DBUS_DECLARE_TYPE(PurpleSslConnection) PURPLE_DBUS_DECLARE_TYPE(PurpleSslConnection)
PURPLE_DBUS_DECLARE_TYPE(PurpleSslOps) PURPLE_DBUS_DECLARE_TYPE(PurpleSslOps)
PURPLE_DBUS_DECLARE_TYPE(PurpleTheme) PURPLE_DBUS_DECLARE_TYPE(PurpleTheme)
skipping to change at line 120 skipping to change at line 120
PURPLE_DBUS_DECLARE_TYPE(PurpleThemeManagerClass) PURPLE_DBUS_DECLARE_TYPE(PurpleThemeManagerClass)
PURPLE_DBUS_DECLARE_TYPE(UPnPMappingAddRemove) PURPLE_DBUS_DECLARE_TYPE(UPnPMappingAddRemove)
PURPLE_DBUS_DECLARE_TYPE(PurpleUtilFetchUrlData) PURPLE_DBUS_DECLARE_TYPE(PurpleUtilFetchUrlData)
PURPLE_DBUS_DECLARE_TYPE(PurpleMenuAction) PURPLE_DBUS_DECLARE_TYPE(PurpleMenuAction)
PURPLE_DBUS_DECLARE_TYPE(PurpleKeyValuePair) PURPLE_DBUS_DECLARE_TYPE(PurpleKeyValuePair)
PURPLE_DBUS_DECLARE_TYPE(PurpleValue) PURPLE_DBUS_DECLARE_TYPE(PurpleValue)
PURPLE_DBUS_DECLARE_TYPE(xmlnode) PURPLE_DBUS_DECLARE_TYPE(xmlnode)
PURPLE_DBUS_DECLARE_TYPE(PurpleWhiteboardPrplOps) PURPLE_DBUS_DECLARE_TYPE(PurpleWhiteboardPrplOps)
PURPLE_DBUS_DECLARE_TYPE(PurpleWhiteboard) PURPLE_DBUS_DECLARE_TYPE(PurpleWhiteboard)
PURPLE_DBUS_DECLARE_TYPE(PurpleWhiteboardUiOps) PURPLE_DBUS_DECLARE_TYPE(PurpleWhiteboardUiOps)
PURPLE_DBUS_DECLARE_TYPE(PurpleMediaBackend)
PURPLE_DBUS_DECLARE_TYPE(PurpleMediaBackendIface)
PURPLE_DBUS_DECLARE_TYPE(PurpleMediaCandidate)
PURPLE_DBUS_DECLARE_TYPE(PurpleMediaCodec)
 End of changes. 4 change blocks. 
2 lines changed or deleted 2 lines changed or added


 ft.h   ft.h 
skipping to change at line 123 skipping to change at line 123
* This MUST be implemented if read and write are implemented. * This MUST be implemented if read and write are implemented.
* *
* @param xfer The file transfer structure * @param xfer The file transfer structure
* @param buffer A pointer to the beginning of the unwritten data. * @param buffer A pointer to the beginning of the unwritten data.
* @param size The amount of unwritten data. * @param size The amount of unwritten data.
* *
* @since 2.6.0 * @since 2.6.0
*/ */
void (*data_not_sent)(PurpleXfer *xfer, const guchar *buffer, gsize size); void (*data_not_sent)(PurpleXfer *xfer, const guchar *buffer, gsize size);
void (*_purple_reserved1)(void); /**
* Op to create a thumbnail image for a file transfer
*
* @param xfer The file transfer structure
*/
void (*add_thumbnail)(PurpleXfer *xfer, const gchar *formats);
} PurpleXferUiOps; } PurpleXferUiOps;
/** /**
* A core representation of a file transfer. * A core representation of a file transfer.
*/ */
struct _PurpleXfer struct _PurpleXfer
{ {
guint ref; /**< The reference count. */ guint ref; /**< The reference count. */
PurpleXferType type; /**< The type of transfer. */ PurpleXferType type; /**< The type of transfer. */
skipping to change at line 690 skipping to change at line 695
* Allows the prpl to signal it's ready to send/receive data (depending on * Allows the prpl to signal it's ready to send/receive data (depending on
* the direction of the file transfer. Used when the prpl provides read/wri te * the direction of the file transfer. Used when the prpl provides read/wri te
* ops and cannot/does not provide a raw fd to the core. * ops and cannot/does not provide a raw fd to the core.
* *
* @param xfer The file transfer which is ready. * @param xfer The file transfer which is ready.
* *
* @since 2.6.0 * @since 2.6.0
*/ */
void purple_xfer_prpl_ready(PurpleXfer *xfer); void purple_xfer_prpl_ready(PurpleXfer *xfer);
/**
* Gets the thumbnail data for a transfer
*
* @param xfer The file transfer to get the thumbnail for
* @param len If not @c NULL, the length of the thumbnail data returned
* will be set in the location pointed to by this.
* @return The thumbnail data, or NULL if there is no thumbnail
* @since 2.7.0
*/
gconstpointer purple_xfer_get_thumbnail(const PurpleXfer *xfer, gsize *len)
;
/**
* Gets the mimetype of the thumbnail preview for a transfer
*
* @param xfer The file transfer to get the mimetype for
* @return The mimetype of the thumbnail, or @c NULL if not thumbnail is se
t
* @since 2.7.0
*/
const gchar *purple_xfer_get_thumbnail_mimetype(const PurpleXfer *xfer);
/**
* Sets the thumbnail data for a transfer
*
* @param xfer The file transfer to set the data for
* @param thumbnail A pointer to the thumbnail data, this will be copied
* @param size The size in bytes of the passed in thumbnail data
* @param mimetype The mimetype of the generated thumbnail
* @since 2.7.0
*/
void purple_xfer_set_thumbnail(PurpleXfer *xfer, gconstpointer thumbnail,
gsize size, const gchar *mimetype);
/**
* Prepare a thumbnail for a transfer (if the UI supports it)
* will be no-op in case the UI doesn't implement thumbnail creation
*
* @param xfer The file transfer to create a thumbnail for
* @param formats A comma-separated list of mimetypes for image formats
* the protocols can use for thumbnails.
* @since 2.7.0
*/
void purple_xfer_prepare_thumbnail(PurpleXfer *xfer, const gchar *formats);
/*@}*/ /*@}*/
/************************************************************************** / /************************************************************************** /
/** @name UI Registration Functions * / /** @name UI Registration Functions * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Returns the handle to the file transfer subsystem * Returns the handle to the file transfer subsystem
* *
 End of changes. 2 change blocks. 
1 lines changed or deleted 51 lines changed or added


 gntentry.h   gntentry.h 
skipping to change at line 52 skipping to change at line 52
#define GNT_ENTRY_FLAGS(obj) (GNT_ENTRY(obj)->pri v.flags) #define GNT_ENTRY_FLAGS(obj) (GNT_ENTRY(obj)->pri v.flags)
#define GNT_ENTRY_SET_FLAGS(obj, flags) (GNT_ENTRY_FLAGS(obj ) |= flags) #define GNT_ENTRY_SET_FLAGS(obj, flags) (GNT_ENTRY_FLAGS(obj ) |= flags)
#define GNT_ENTRY_UNSET_FLAGS(obj, flags) (GNT_ENTRY_FLAGS(obj) &= ~(f lags)) #define GNT_ENTRY_UNSET_FLAGS(obj, flags) (GNT_ENTRY_FLAGS(obj) &= ~(f lags))
#define ENTRY_CHAR '_' /* The chara cter to use to fill in the blank places */ #define ENTRY_CHAR '_' /* The chara cter to use to fill in the blank places */
typedef struct _GntEntry GntEntry; typedef struct _GntEntry GntEntry;
typedef struct _GntEntryPriv GntEntryPriv; typedef struct _GntEntryPriv GntEntryPriv;
typedef struct _GntEntryClass GntEntryClass; typedef struct _GntEntryClass GntEntryClass;
typedef struct _GntEntryKillRing GntEntryKillRing; typedef struct _GntEntryKillRing GntEntryKillRing;
typedef struct _GntEntrySearch GntEntrySearch;
typedef enum typedef enum
{ {
GNT_ENTRY_FLAG_ALPHA = 1 << 0, /* Only alpha */ GNT_ENTRY_FLAG_ALPHA = 1 << 0, /* Only alpha */
GNT_ENTRY_FLAG_INT = 1 << 1, /* Only integer */ GNT_ENTRY_FLAG_INT = 1 << 1, /* Only integer */
GNT_ENTRY_FLAG_NO_SPACE = 1 << 2, /* No blank space is allowed */ GNT_ENTRY_FLAG_NO_SPACE = 1 << 2, /* No blank space is allowed */
GNT_ENTRY_FLAG_NO_PUNCT = 1 << 3, /* No punctuations */ GNT_ENTRY_FLAG_NO_PUNCT = 1 << 3, /* No punctuations */
GNT_ENTRY_FLAG_MASK = 1 << 4, /* Mask the inputs */ GNT_ENTRY_FLAG_MASK = 1 << 4, /* Mask the inputs */
} GntEntryFlag; } GntEntryFlag;
skipping to change at line 89 skipping to change at line 90
gboolean masked; gboolean masked;
GList *history; /* History of the strings. User can use this by pres sing ctrl+up/down */ GList *history; /* History of the strings. User can use this by pres sing ctrl+up/down */
int histlength; /* How long can the history be? */ int histlength; /* How long can the history be? */
GList *suggests; /* List of suggestions */ GList *suggests; /* List of suggestions */
gboolean word; /* Are the suggestions for only a word, or for t he whole thing? */ gboolean word; /* Are the suggestions for only a word, or for t he whole thing? */
gboolean always; /* Should the list of suggestions show at all ti mes, or only on tab-press? */ gboolean always; /* Should the list of suggestions show at all ti mes, or only on tab-press? */
GntWidget *ddown; /* The dropdown with the suggested list */ GntWidget *ddown; /* The dropdown with the suggested list */
GntEntryKillRing *killring; /**< @since 2.3.0 */ GntEntryKillRing *killring; /**< @since 2.3.0 */
GntEntrySearch *search; /**< @since 2.7.0 */
}; };
struct _GntEntryClass struct _GntEntryClass
{ {
GntWidgetClass parent; GntWidgetClass parent;
void (*text_changed)(GntEntry *entry); void (*text_changed)(GntEntry *entry);
void (*gnt_reserved1)(void); void (*gnt_reserved1)(void);
void (*gnt_reserved2)(void); void (*gnt_reserved2)(void);
void (*gnt_reserved3)(void); void (*gnt_reserved3)(void);
 End of changes. 2 change blocks. 
0 lines changed or deleted 2 lines changed or added


 gtkblist.h   gtkblist.h 
skipping to change at line 122 skipping to change at line 122
PurpleBlistNode *selected_node; /**< The currently selected node */ PurpleBlistNode *selected_node; /**< The currently selected node */
GdkCursor *hand_cursor; /**< Hand cursor */ GdkCursor *hand_cursor; /**< Hand cursor */
GdkCursor *arrow_cursor; /**< Arrow cursor */ GdkCursor *arrow_cursor; /**< Arrow cursor */
GtkWidget *scrollbook; /**< Scrollbook for alerts */ GtkWidget *scrollbook; /**< Scrollbook for alerts */
GtkWidget *headline_hbox; /**< Hbox for headline notification */ GtkWidget *headline_hbox; /**< Hbox for headline notification */
GtkWidget *headline_label; /**< Label for headline notification s */ GtkWidget *headline_label; /**< Label for headline notification s */
GtkWidget *headline_image; /**< Image for headline notification s */ GtkWidget *headline_image; /**< Image for headline notification s */
GdkPixbuf *headline_close; /**< Close image for closing the hea dline without triggering the callback */ GdkPixbuf *headline_close; /**< @deprecated: Close image for cl osing the headline without triggering the callback */
GCallback headline_callback; /**< Callback for headline notificat ions */ GCallback headline_callback; /**< Callback for headline notificat ions */
gpointer headline_data; /**< User data for headline notifica tions */ gpointer headline_data; /**< User data for headline notifica tions */
GDestroyNotify headline_destroy; /**< Callback to use for destroying the headline-data */ GDestroyNotify headline_destroy; /**< Callback to use for destroying the headline-data */
gboolean changing_style; /**< True when changing GTK+ theme s tyle */ gboolean changing_style; /**< True when changing GTK+ theme s tyle */
GtkWidget *error_buttons; /**< Box containing the connection error buttons */ GtkWidget *error_buttons; /**< Box containing the connection error buttons */
GtkWidget *statusbox; /**< The status selector dropdown * / GtkWidget *statusbox; /**< The status selector dropdown * /
GdkPixbuf *empty_avatar; /**< A 32x32 transparent pixbuf */ GdkPixbuf *empty_avatar; /**< A 32x32 transparent pixbuf */
gpointer priv; /**< Pointer to opaque private data */ gpointer priv; /**< Pointer to opaque private data */
}; };
#define PIDGIN_BLIST(list) ((PidginBuddyList *)(list)->ui_data) #define PIDGIN_BLIST(list) ((PidginBuddyList *)purple_blist_get_ui_data())
#define PIDGIN_IS_PIDGIN_BLIST(list) \ #define PIDGIN_IS_PIDGIN_BLIST(list) \
((list)->ui_ops == pidgin_blist_get_ui_ops()) (purple_blist_get_ui_ops() == pidgin_blist_get_ui_ops())
/************************************************************************** /**************************************************************************
* @name GTK+ Buddy List API * @name GTK+ Buddy List API
************************************************************************** / ************************************************************************** /
/** /**
* Get the handle for the GTK+ blist system. * Get the handle for the GTK+ blist system.
* *
* @return the handle to the blist system * @return the handle to the blist system
*/ */
skipping to change at line 199 skipping to change at line 199
* This should only be called when something changes to affect most of the nodes (such as a ui preference changing) * This should only be called when something changes to affect most of the nodes (such as a ui preference changing)
* *
* @param list This is the core list that gets updated from * @param list This is the core list that gets updated from
*/ */
void pidgin_blist_refresh(PurpleBuddyList *list); void pidgin_blist_refresh(PurpleBuddyList *list);
void pidgin_blist_update_columns(void); void pidgin_blist_update_columns(void);
void pidgin_blist_update_refresh_timeout(void); void pidgin_blist_update_refresh_timeout(void);
/** /**
* Returns the blist emblem * Returns the blist emblem.
*
* This may be an existing pixbuf that has been given an additional ref,
* so it shouldn't be modified.
* *
* @param node The node to return an emblem for * @param node The node to return an emblem for
* *
* @return A newly created GdkPixbuf, or NULL * @return A GdkPixbuf for the emblem to show, or NULL
*/ */
GdkPixbuf * GdkPixbuf *
pidgin_blist_get_emblem(PurpleBlistNode *node); pidgin_blist_get_emblem(PurpleBlistNode *node);
/** /**
* Useful for the buddy ticker * Useful for the buddy ticker
*/ */
GdkPixbuf *pidgin_blist_get_status_icon(PurpleBlistNode *node, GdkPixbuf *pidgin_blist_get_status_icon(PurpleBlistNode *node,
PidginStatusIconSize size); PidginStatusIconSize size);
 End of changes. 5 change blocks. 
5 lines changed or deleted 8 lines changed or added


 gtkconv.h   gtkconv.h 
skipping to change at line 180 skipping to change at line 180
GtkWidget *infopane; GtkWidget *infopane;
GtkListStore *infopane_model; GtkListStore *infopane_model;
GtkTreeIter infopane_iter; GtkTreeIter infopane_iter;
/* Used when attaching a PidginConversation to a PurpleConversation /* Used when attaching a PidginConversation to a PurpleConversation
* with message history */ * with message history */
struct { struct {
int timer; int timer;
GList *current; GList *current;
} attach; } attach;
/* Quick Find (since 2.7.0) */
struct {
GtkWidget *entry;
GtkWidget *container;
} quickfind;
}; };
/*@}*/ /*@}*/
/************************************************************************** /**************************************************************************
* @name GTK+ Conversation API * @name GTK+ Conversation API
************************************************************************** / ************************************************************************** /
/*@{*/ /*@{*/
/** /**
 End of changes. 1 change blocks. 
0 lines changed or deleted 6 lines changed or added


 gtkdialogs.h   gtkdialogs.h 
skipping to change at line 36 skipping to change at line 36
#define _PIDGINDIALOGS_H_ #define _PIDGINDIALOGS_H_
#include "pidgin.h" #include "pidgin.h"
#include "account.h" #include "account.h"
#include "conversation.h" #include "conversation.h"
/* Functions in gtkdialogs.c (these should actually stay in this file) */ /* Functions in gtkdialogs.c (these should actually stay in this file) */
void pidgin_dialogs_destroy_all(void); void pidgin_dialogs_destroy_all(void);
void pidgin_dialogs_about(void); void pidgin_dialogs_about(void);
void pidgin_dialogs_buildinfo(void);
void pidgin_dialogs_developers(void);
void pidgin_dialogs_translators(void);
void pidgin_dialogs_im(void); void pidgin_dialogs_im(void);
void pidgin_dialogs_im_with_user(PurpleAccount *, const char *); void pidgin_dialogs_im_with_user(PurpleAccount *, const char *);
void pidgin_dialogs_info(void); void pidgin_dialogs_info(void);
void pidgin_dialogs_log(void); void pidgin_dialogs_log(void);
#if !(defined PIDGIN_DISABLE_DEPRECATED) || (defined _PIDGIN_GTKDIALOGS_C_) #if !(defined PIDGIN_DISABLE_DEPRECATED) || (defined _PIDGIN_GTKDIALOGS_C_)
/** /**
* @deprecated This function is no longer used and will be removed in * @deprecated This function is no longer used and will be removed in
* Pidgin 3.0.0 unless there is sufficient demand to keep it. * Pidgin 3.0.0 unless there is sufficient demand to keep it.
*/ */
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 lines changed or added


 gtkdocklet.h   gtkdocklet.h 
skipping to change at line 51 skipping to change at line 51
void pidgin_docklet_update_icon(void); void pidgin_docklet_update_icon(void);
void pidgin_docklet_clicked(int); void pidgin_docklet_clicked(int);
void pidgin_docklet_embedded(void); void pidgin_docklet_embedded(void);
void pidgin_docklet_remove(void); void pidgin_docklet_remove(void);
void pidgin_docklet_set_ui_ops(struct docklet_ui_ops *); void pidgin_docklet_set_ui_ops(struct docklet_ui_ops *);
void pidgin_docklet_unload(void); void pidgin_docklet_unload(void);
void pidgin_docklet_init(void); void pidgin_docklet_init(void);
void pidgin_docklet_uninit(void); void pidgin_docklet_uninit(void);
void*pidgin_docklet_get_handle(void); void*pidgin_docklet_get_handle(void);
/* function in gtkdocklet-{x11,win32}.c */ /* function in gtkdocklet-{gtk,x11,win32}.c */
void docklet_ui_init(void); void docklet_ui_init(void);
#endif /* _GTKDOCKLET_H_ */ #endif /* _GTKDOCKLET_H_ */
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 gtkimhtmltoolbar.h   gtkimhtmltoolbar.h 
skipping to change at line 93 skipping to change at line 93
GtkHBoxClass parent_class; GtkHBoxClass parent_class;
}; };
GType gtk_imhtmltoolbar_get_type (void); GType gtk_imhtmltoolbar_get_type (void);
GtkWidget* gtk_imhtmltoolbar_new (void); GtkWidget* gtk_imhtmltoolbar_new (void);
void gtk_imhtmltoolbar_attach (GtkIMHtmlToolbar *toolbar, GtkWidget *imh tml); void gtk_imhtmltoolbar_attach (GtkIMHtmlToolbar *toolbar, GtkWidget *imh tml);
void gtk_imhtmltoolbar_associate_smileys (GtkIMHtmlToolbar *toolbar, const char *proto_id); void gtk_imhtmltoolbar_associate_smileys (GtkIMHtmlToolbar *toolbar, const char *proto_id);
/**
* @since 2.7.0
*/
void gtk_imhtmltoolbar_switch_active_conversation(GtkIMHtmlToolbar *toolbar
,
PurpleConversation *conv);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _PIDGINIMHTMLTOOLBAR_H_ */ #endif /* _PIDGINIMHTMLTOOLBAR_H_ */
 End of changes. 1 change blocks. 
0 lines changed or deleted 7 lines changed or added


 gtkutils.h   gtkutils.h 
skipping to change at line 107 skipping to change at line 107
* @param toolbar_ret A pointer to a pointer to a GtkWidget. If editable i s * @param toolbar_ret A pointer to a pointer to a GtkWidget. If editable i s
* TRUE then this will be set to the toolbar when this function exit s. * TRUE then this will be set to the toolbar when this function exit s.
* Otherwise this will be set to @c NULL. * Otherwise this will be set to @c NULL.
* @param sw_ret This will be filled with a pointer to the scrolled window * @param sw_ret This will be filled with a pointer to the scrolled window
* widget which contains the imhtml. * widget which contains the imhtml.
* @return The GtkFrame containing the toolbar and imhtml. * @return The GtkFrame containing the toolbar and imhtml.
*/ */
GtkWidget *pidgin_create_imhtml(gboolean editable, GtkWidget **imhtml_ret, GtkWidget **toolbar_ret, GtkWidget **sw_ret); GtkWidget *pidgin_create_imhtml(gboolean editable, GtkWidget **imhtml_ret, GtkWidget **toolbar_ret, GtkWidget **sw_ret);
/** /**
* Creates a small button
*
* @param image A button image.
*
* @return A GtkButton created from the image.
* @since 2.7.0
*/
GtkWidget *pidgin_create_small_button(GtkWidget *image);
/**
* Creates a new window * Creates a new window
* *
* @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);
skipping to change at line 646 skipping to change at line 656
* Converts a buddy icon to the required size and format * Converts a buddy icon to the required size and format
* *
* @param plugin The prpl to convert the icon * @param plugin The prpl to convert the icon
* @param path The path of a file to convert * @param path The path of a file to convert
* @param len If not @c NULL, the length of the returned data will b e set here. * @param len If not @c NULL, the length of the returned data will b e set here.
* *
* @return The converted image data, or @c NULL if an error occur red. * @return The converted image data, or @c NULL if an error occur red.
*/ */
gpointer pidgin_convert_buddy_icon(PurplePlugin *plugin, const char *path, size_t *len); gpointer pidgin_convert_buddy_icon(PurplePlugin *plugin, const char *path, size_t *len);
#if !GTK_CHECK_VERSION(2,6,0)
/**
* Creates a new pixbuf by loading an image from a file. The image will
* be scaled to fit in the requested size, optionally preserving the image'
s
* aspect ratio.
*/
GdkPixbuf *gdk_pixbuf_new_from_file_at_scale(const char *filename, int widt
h, int height,
gboolean preserve_aspect_ratio,
GError **error);
#endif
#if !(defined PIDGIN_DISABLE_DEPRECATED) || (defined _PIDGIN_GTKUTILS_C_) #if !(defined PIDGIN_DISABLE_DEPRECATED) || (defined _PIDGIN_GTKUTILS_C_)
/** /**
* Set or unset a custom buddyicon for a user. * Set or unset a custom buddyicon for a user.
* *
* @param account The account the user belongs to. * @param account The account the user belongs to.
* @param who The name of the user. * @param who The name of the user.
* @param filename The path of the custom icon. If this is @c NULL, then a ny * @param filename The path of the custom icon. If this is @c NULL, then a ny
* previously set custom buddy icon for the user is remove d. * previously set custom buddy icon for the user is remove d.
* @deprecated See purple_buddy_icons_node_set_custom_icon_from_file() * @deprecated See purple_buddy_icons_node_set_custom_icon_from_file()
*/ */
skipping to change at line 758 skipping to change at line 757
/** /**
* Returns an HTML-style color string for use as a dim grey * Returns an HTML-style color string for use as a dim grey
* string * string
* *
* @param widget The widget to return dim grey for * @param widget The widget to return dim grey for
* @return The dim grey string * @return The dim grey string
*/ */
const char *pidgin_get_dim_grey_string(GtkWidget *widget); const char *pidgin_get_dim_grey_string(GtkWidget *widget);
#if !GTK_CHECK_VERSION(2,2,0)
/**
* This is copied from Gtk to support Gtk 2.0
*
* Creates a new path with @a first_index and the varargs as indices.
*
* @param first_index first integer
* @param ... list of integers terminated by -1
*
* @return A newly created GtkTreePath.
*/
GtkTreePath *gtk_tree_path_new_from_indices (gint first_index, ...);
#endif
/** /**
* Create a simple text GtkComboBoxEntry equivalent * Create a simple text GtkComboBoxEntry equivalent
* *
* @param default_item Initial contents of GtkEntry * @param default_item Initial contents of GtkEntry
* @param items GList containing strings to add to GtkComboBox * @param items GList containing strings to add to GtkComboBox
* *
* @return A newly created text GtkComboBox containing a GtkE ntry * @return A newly created text GtkComboBox containing a GtkE ntry
* child. * child.
* *
* @since 2.2.0 * @since 2.2.0
 End of changes. 3 change blocks. 
29 lines changed or deleted 10 lines changed or added


 marshallers.h   marshallers.h 
skipping to change at line 57 skipping to change at line 57
gpointer marshal _data); gpointer marshal _data);
/* VOID:ENUM,STRING,STRING,BOOLEAN (./marshallers.list:6) */ /* VOID:ENUM,STRING,STRING,BOOLEAN (./marshallers.list:6) */
extern void purple_smarshal_VOID__ENUM_STRING_STRING_BOOLEAN (GClosure *closure, extern void purple_smarshal_VOID__ENUM_STRING_STRING_BOOLEAN (GClosure *closure,
GValue *return_value, GValue *return_value,
guint n_param_values, guint n_param_values,
const GValue *param_values, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); gpointer marshal_data);
/* VOID:FLAGS,FLAGS (./marshallers.list:7) */
extern void purple_smarshal_VOID__FLAGS_FLAGS (GClosure *closure,
GValue *return_value,
guint n_param_values
,
const GValue *param_values,
gpointer invocation_hin
t,
gpointer marshal_data);
/* VOID:STRING,STRING,OBJECT,OBJECT (./marshallers.list:8) */
extern void purple_smarshal_VOID__STRING_STRING_OBJECT_OBJECT (GClosure
*closure,
GValue
*return_value,
guint
n_param_values,
const GValue
*param_values,
gpointer
invocation_hint,
gpointer
marshal_data);
G_END_DECLS G_END_DECLS
#endif /* __purple_smarshal_MARSHAL_H__ */ #endif /* __purple_smarshal_MARSHAL_H__ */
 End of changes. 1 change blocks. 
0 lines changed or deleted 24 lines changed or added


 media.h   media.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 _PURPLE_MEDIA_H_ #ifndef _PURPLE_MEDIA_H_
#define _PURPLE_MEDIA_H_ #define _PURPLE_MEDIA_H_
#include "media/candidate.h"
#include "media/codec.h"
#include "media/enum-types.h"
#include <glib.h> #include <glib.h>
#include <glib-object.h> #include <glib-object.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define PURPLE_TYPE_MEDIA_CANDIDATE (purple_media_candidate_get_t
ype())
#define PURPLE_MEDIA_CANDIDATE(obj) (G_TYPE_CHECK_INSTANCE_CAST(
(obj), PURPLE_TYPE_MEDIA_CANDIDATE, PurpleMediaCandidate))
#define PURPLE_MEDIA_CANDIDATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((kl
ass), PURPLE_TYPE_MEDIA_CANDIDATE, PurpleMediaCandidate))
#define PURPLE_IS_MEDIA_CANDIDATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE(
(obj), PURPLE_TYPE_MEDIA_CANDIDATE))
#define PURPLE_IS_MEDIA_CANDIDATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((kl
ass), PURPLE_TYPE_MEDIA_CANDIDATE))
#define PURPLE_MEDIA_CANDIDATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((
obj), PURPLE_TYPE_MEDIA_CANDIDATE, PurpleMediaCandidate))
#define PURPLE_TYPE_MEDIA_CODEC (purple_media_codec_get_type())
#define PURPLE_MEDIA_CODEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj
), PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec))
#define PURPLE_MEDIA_CODEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass)
, PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec))
#define PURPLE_IS_MEDIA_CODEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj
), PURPLE_TYPE_MEDIA_CODEC))
#define PURPLE_IS_MEDIA_CODEC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass)
, PURPLE_TYPE_MEDIA_CODEC))
#define PURPLE_MEDIA_CODEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj)
, PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec))
#define PURPLE_TYPE_MEDIA_SESSION_TYPE (purple_media_session_type_get_type(
))
#define PURPLE_TYPE_MEDIA (purple_media_get_type()) #define PURPLE_TYPE_MEDIA (purple_media_get_type())
#define PURPLE_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PUR PLE_TYPE_MEDIA, PurpleMedia)) #define PURPLE_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PUR PLE_TYPE_MEDIA, PurpleMedia))
#define PURPLE_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURP LE_TYPE_MEDIA, PurpleMediaClass)) #define PURPLE_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURP LE_TYPE_MEDIA, PurpleMediaClass))
#define PURPLE_IS_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PUR PLE_TYPE_MEDIA)) #define PURPLE_IS_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PUR PLE_TYPE_MEDIA))
#define PURPLE_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURP LE_TYPE_MEDIA)) #define PURPLE_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURP LE_TYPE_MEDIA))
#define PURPLE_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURP LE_TYPE_MEDIA, PurpleMediaClass)) #define PURPLE_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURP LE_TYPE_MEDIA, PurpleMediaClass))
#define PURPLE_TYPE_MEDIA_CANDIDATE_TYPE (purple_media_candidate_type_get_t
ype())
#define PURPLE_TYPE_MEDIA_NETWORK_PROTOCOL (purple_media_network_protocol_g
et_type())
#define PURPLE_MEDIA_TYPE_STATE (purple_media_state_changed_get_type()
)
#define PURPLE_MEDIA_TYPE_INFO_TYPE (purple_media_info_type_get_type())
/** An opaque structure representing a media call. */ /** An opaque structure representing a media call. */
typedef struct _PurpleMedia PurpleMedia; typedef struct _PurpleMedia PurpleMedia;
/** An opaque structure representing a network candidate (IP Address and po
rt pair). */
typedef struct _PurpleMediaCandidate PurpleMediaCandidate;
/** An opaque structure representing an audio or video codec. */
typedef struct _PurpleMediaCodec PurpleMediaCodec;
/** Media caps */
typedef enum {
PURPLE_MEDIA_CAPS_NONE = 0,
PURPLE_MEDIA_CAPS_AUDIO = 1,
PURPLE_MEDIA_CAPS_AUDIO_SINGLE_DIRECTION = 1 << 1,
PURPLE_MEDIA_CAPS_VIDEO = 1 << 2,
PURPLE_MEDIA_CAPS_VIDEO_SINGLE_DIRECTION = 1 << 3,
PURPLE_MEDIA_CAPS_AUDIO_VIDEO = 1 << 4,
PURPLE_MEDIA_CAPS_MODIFY_SESSION = 1 << 5,
PURPLE_MEDIA_CAPS_CHANGE_DIRECTION = 1 << 6
} PurpleMediaCaps;
/** Media session types */
typedef enum {
PURPLE_MEDIA_NONE = 0,
PURPLE_MEDIA_RECV_AUDIO = 1 << 0,
PURPLE_MEDIA_SEND_AUDIO = 1 << 1,
PURPLE_MEDIA_RECV_VIDEO = 1 << 2,
PURPLE_MEDIA_SEND_VIDEO = 1 << 3,
PURPLE_MEDIA_AUDIO = PURPLE_MEDIA_RECV_AUDIO | PURPLE_MEDIA_SEND_AUD
IO,
PURPLE_MEDIA_VIDEO = PURPLE_MEDIA_RECV_VIDEO | PURPLE_MEDIA_SEND_VID
EO
} PurpleMediaSessionType;
/** Media state-changed types */
typedef enum {
PURPLE_MEDIA_STATE_NEW = 0,
PURPLE_MEDIA_STATE_CONNECTED,
PURPLE_MEDIA_STATE_END
} PurpleMediaState;
/** Media info types */
typedef enum {
PURPLE_MEDIA_INFO_HANGUP = 0,
PURPLE_MEDIA_INFO_ACCEPT,
PURPLE_MEDIA_INFO_REJECT,
PURPLE_MEDIA_INFO_MUTE,
PURPLE_MEDIA_INFO_UNMUTE,
PURPLE_MEDIA_INFO_PAUSE,
PURPLE_MEDIA_INFO_UNPAUSE,
PURPLE_MEDIA_INFO_HOLD,
PURPLE_MEDIA_INFO_UNHOLD
} PurpleMediaInfoType;
typedef enum {
PURPLE_MEDIA_CANDIDATE_TYPE_HOST,
PURPLE_MEDIA_CANDIDATE_TYPE_SRFLX,
PURPLE_MEDIA_CANDIDATE_TYPE_PRFLX,
PURPLE_MEDIA_CANDIDATE_TYPE_RELAY,
PURPLE_MEDIA_CANDIDATE_TYPE_MULTICAST
} PurpleMediaCandidateType;
typedef enum {
PURPLE_MEDIA_COMPONENT_NONE = 0,
PURPLE_MEDIA_COMPONENT_RTP = 1,
PURPLE_MEDIA_COMPONENT_RTCP = 2
} PurpleMediaComponentType;
typedef enum {
PURPLE_MEDIA_NETWORK_PROTOCOL_UDP,
PURPLE_MEDIA_NETWORK_PROTOCOL_TCP
} PurpleMediaNetworkProtocol;
#include "signals.h" #include "signals.h"
#include "util.h" #include "util.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** /**
* Gets the media session type's GType
*
* @return The media session type's GType.
*
* @since 2.6.0
*/
GType purple_media_session_type_get_type(void);
/**
* Gets the media candidate type's GType
*
* @return The media candidate type's GType.
*
* @since 2.6.0
*/
GType purple_media_candidate_type_get_type(void);
/**
* Gets the media network protocol's GType
*
* @return The media network protocol's GType.
*
* @since 2.6.0
*/
GType purple_media_network_protocol_get_type(void);
/**
* Gets the media class's GType * Gets the media class's GType
* *
* @return The media class's GType. * @return The media class's GType.
* *
* @since 2.6.0 * @since 2.6.0
*/ */
GType purple_media_get_type(void); GType purple_media_get_type(void);
/** /**
* Gets the type of the state-changed enum
*
* @return The state-changed enum's GType
*
* @since 2.6.0
*/
GType purple_media_state_changed_get_type(void);
/**
* Gets the type of the info type enum
*
* @return The info type enum's GType
*
* @since 2.6.0
*/
GType purple_media_info_type_get_type(void);
/**
* Gets the type of the media candidate structure.
*
* @return The media canditate's GType
*
* @since 2.6.0
*/
GType purple_media_candidate_get_type(void);
/**
* Creates a PurpleMediaCandidate instance.
*
* @param foundation The foundation of the candidate.
* @param component_id The component this candidate is for.
* @param type The type of candidate.
* @param proto The protocol this component is for.
* @param ip The IP address of this component.
* @param port The network port.
*
* @return The newly created PurpleMediaCandidate instance.
*
* @since 2.6.0
*/
PurpleMediaCandidate *purple_media_candidate_new(
const gchar *foundation, guint component_id,
PurpleMediaCandidateType type,
PurpleMediaNetworkProtocol proto,
const gchar *ip, guint port);
/**
* Copies a GList of PurpleMediaCandidate and its contents.
*
* @param candidates The list of candidates to be copied.
*
* @return The copy of the GList.
*
* @since 2.6.0
*/
GList *purple_media_candidate_list_copy(GList *candidates);
/**
* Frees a GList of PurpleMediaCandidate and its contents.
*
* @param candidates The list of candidates to be freed.
*
* @since 2.6.0
*/
void purple_media_candidate_list_free(GList *candidates);
gchar *purple_media_candidate_get_foundation(PurpleMediaCandidate *candidat
e);
guint purple_media_candidate_get_component_id(PurpleMediaCandidate *candida
te);
gchar *purple_media_candidate_get_ip(PurpleMediaCandidate *candidate);
guint16 purple_media_candidate_get_port(PurpleMediaCandidate *candidate);
gchar *purple_media_candidate_get_base_ip(PurpleMediaCandidate *candidate);
guint16 purple_media_candidate_get_base_port(PurpleMediaCandidate *candidat
e);
PurpleMediaNetworkProtocol purple_media_candidate_get_protocol(
PurpleMediaCandidate *candidate);
guint32 purple_media_candidate_get_priority(PurpleMediaCandidate *candidate
);
PurpleMediaCandidateType purple_media_candidate_get_candidate_type(
PurpleMediaCandidate *candidate);
gchar *purple_media_candidate_get_username(PurpleMediaCandidate *candidate)
;
gchar *purple_media_candidate_get_password(PurpleMediaCandidate *candidate)
;
guint purple_media_candidate_get_ttl(PurpleMediaCandidate *candidate);
/**
* Gets the type of the media codec structure.
*
* @return The media codec's GType
*
* @since 2.6.0
*/
GType purple_media_codec_get_type(void);
/**
* Creates a new PurpleMediaCodec instance.
*
* @param id Codec identifier.
* @param encoding_name Name of the media type this encodes.
* @param media_type PurpleMediaSessionType of this codec.
* @param clock_rate The clock rate this codec encodes at, if applicable.
*
* @return The newly created PurpleMediaCodec.
*
* @since 2.6.0
*/
PurpleMediaCodec *purple_media_codec_new(int id, const char *encoding_name,
PurpleMediaSessionType media_type, guint clock_rate);
guint purple_media_codec_get_id(PurpleMediaCodec *codec);
gchar *purple_media_codec_get_encoding_name(PurpleMediaCodec *codec);
guint purple_media_codec_get_clock_rate(PurpleMediaCodec *codec);
guint purple_media_codec_get_channels(PurpleMediaCodec *codec);
GList *purple_media_codec_get_optional_parameters(PurpleMediaCodec *codec);
/**
* Creates a string representation of the codec.
*
* @param codec The codec to create the string of.
*
* @return The new string representation.
*
* @since 2.6.0
*/
gchar *purple_media_codec_to_string(const PurpleMediaCodec *codec);
/**
* Adds an optional parameter to the codec.
*
* @param codec The codec to add the parameter to.
* @param name The name of the parameter to add.
* @param value The value of the parameter to add.
*
* @since 2.6.0
*/
void purple_media_codec_add_optional_parameter(PurpleMediaCodec *codec,
const gchar *name, const gchar *value);
/**
* Removes an optional parameter from the codec.
*
* @param codec The codec to remove the parameter from.
* @param param A pointer to the parameter to remove.
*
* @since 2.6.0
*/
void purple_media_codec_remove_optional_parameter(PurpleMediaCodec *codec,
PurpleKeyValuePair *param);
/**
* Gets an optional parameter based on the values given.
*
* @param codec The codec to find the parameter in.
* @param name The name of the parameter to search for.
* @param value The value to search for or NULL.
*
* @return The value found or NULL.
*
* @since 2.6.0
*/
PurpleKeyValuePair *purple_media_codec_get_optional_parameter(
PurpleMediaCodec *codec, const gchar *name,
const gchar *value);
/**
* Copies a GList of PurpleMediaCodec and its contents.
*
* @param codecs The list of codecs to be copied.
*
* @return The copy of the GList.
*
* @since 2.6.0
*/
GList *purple_media_codec_list_copy(GList *codecs);
/**
* Frees a GList of PurpleMediaCodec and its contents.
*
* @param codecs The list of codecs to be freed.
*
* @since 2.6.0
*/
void purple_media_codec_list_free(GList *codecs);
/**
* Gets a list of session IDs. * Gets a list of session IDs.
* *
* @param media The media session from which to retrieve session IDs. * @param media The media session from which to retrieve session IDs.
* *
* @return GList of session IDs. The caller must free the list. * @return GList of session IDs. The caller must free the list.
* *
* @since 2.6.0 * @since 2.6.0
*/ */
GList *purple_media_get_session_ids(PurpleMedia *media); GList *purple_media_get_session_ids(PurpleMedia *media);
 End of changes. 6 change blocks. 
318 lines changed or deleted 4 lines changed or added


 mediamanager.h   mediamanager.h 
skipping to change at line 216 skipping to change at line 216
* Gets which media caps the UI supports. * Gets which media caps the UI supports.
* *
* @param manager The manager to get caps from. * @param manager The manager to get caps from.
* *
* @return caps The caps retrieved. * @return caps The caps retrieved.
* *
* @since 2.6.0 * @since 2.6.0
*/ */
PurpleMediaCaps purple_media_manager_get_ui_caps(PurpleMediaManager *manage r); PurpleMediaCaps purple_media_manager_get_ui_caps(PurpleMediaManager *manage r);
/**
* Sets which media backend type media objects will use.
*
* @param manager The manager to set the caps on.
* @param backend_type The media backend type to use.
*
* @since 2.7.0
*/
void purple_media_manager_set_backend_type(PurpleMediaManager *manager,
GType backend_type);
/**
* Gets which media backend type media objects will use.
*
* @param manager The manager to get the media backend type from.
*
* @return The type of media backend type media objects will use.
*
* @since 2.7.0
*/
GType purple_media_manager_get_backend_type(PurpleMediaManager *manager);
/*}@*/ /*}@*/
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
G_END_DECLS G_END_DECLS
#endif /* _PURPLE_MEDIA_MANAGER_H_ */ #endif /* _PURPLE_MEDIA_MANAGER_H_ */
 End of changes. 1 change blocks. 
0 lines changed or deleted 22 lines changed or added


 network.h   network.h 
skipping to change at line 91 skipping to change at line 91
* @note The returned string is a pointer to a static buffer. If this * @note The returned string is a pointer to a static buffer. If this
* function is called twice, it may be important to make a copy * function is called twice, it may be important to make a copy
* of the returned string. * of the returned string.
* *
* @param fd The fd to use to help figure out the IP, or else -1. * @param fd The fd to use to help figure out the IP, or else -1.
* @return The local IP address. * @return The local IP address.
*/ */
const char *purple_network_get_local_system_ip(int fd); const char *purple_network_get_local_system_ip(int fd);
/** /**
* Returns all IP addresses of the local system.
*
* @note The caller must free this list. If libpurple was built with
* support for it, this function also enumerates IPv6 addresses.
* @since 2.7.0
*
* @return A list of local IP addresses.
*/
GList *purple_network_get_all_local_system_ips(void);
/**
* Returns the IP address that should be used anywhere a * Returns the IP address that should be used anywhere a
* public IP addresses is needed (listening for an incoming * public IP addresses is needed (listening for an incoming
* file transfer, etc). * file transfer, etc).
* *
* If the user has manually specified an IP address via * If the user has manually specified an IP address via
* preferences, then this IP is returned. Otherwise the * preferences, then this IP is returned. Otherwise the
* IP address returned by purple_network_get_local_system_ip() * IP address returned by purple_network_get_local_system_ip()
* is returned. * is returned.
* *
* @note The returned string is a pointer to a static buffer. If this * @note The returned string is a pointer to a static buffer. If this
skipping to change at line 115 skipping to change at line 126
* @return The local IP address to be used. * @return The local IP address to be used.
*/ */
const char *purple_network_get_my_ip(int fd); const char *purple_network_get_my_ip(int fd);
/** /**
* Should calls to purple_network_listen() and purple_network_listen_range( ) * Should calls to purple_network_listen() and purple_network_listen_range( )
* map the port externally using NAT-PMP or UPnP? * map the port externally using NAT-PMP or UPnP?
* The default value is TRUE * The default value is TRUE
* *
* @param map_external Should the open port be mapped externally? * @param map_external Should the open port be mapped externally?
* @deprecated In 3.0.0 a boolean will be added to the above functions to * @deprecated In 3.0.0 a boolean will be added to the functions mentioned
* perform the same function. * above to perform the same function.
* @since 2.3.0 * @since 2.3.0
*/ */
void purple_network_listen_map_external(gboolean map_external); void purple_network_listen_map_external(gboolean map_external);
/** /**
* Attempts to open a listening port ONLY on the specified port number. * Attempts to open a listening port ONLY on the specified port number.
* You probably want to use purple_network_listen_range() instead of this. * You probably want to use purple_network_listen_range() instead of this.
* This function is useful, for example, if you wanted to write a telnet * This function is useful, for example, if you wanted to write a telnet
* server as a Purple plugin, and you HAD to listen on port 23. Why anyone * server as a Purple plugin, and you HAD to listen on port 23. Why anyone
* would want to do that is beyond me. * would want to do that is beyond me.
* *
* This opens a listening port. The caller will want to set up a watcher * This opens a listening port. The caller will want to set up a watcher
* of type PURPLE_INPUT_READ on the fd returned in cb. It will probably cal l * of type PURPLE_INPUT_READ on the fd returned in cb. It will probably cal l
* accept in the watcher callback, and then possibly remove the watcher and * accept in the watcher callback, and then possibly remove the watcher and
close * close the listening socket, and add a new watcher on the new socket acce
* the listening socket, and add a new watcher on the new socket accept pt
* returned. * returned.
* *
* @param port The port number to bind to. Must be greater than 0. * @param port The port number to bind to. Must be greater than 0.
* @param socket_type The type of socket to open for listening. * @param socket_type The type of socket to open for listening.
* This will be either SOCK_STREAM for TCP or SOCK_DGRAM for UDP. * This will be either SOCK_STREAM for TCP or SOCK_DGRAM for UDP.
* @param cb The callback to be invoked when the port to listen on is avail able. * @param cb The callback to be invoked when the port to listen on is avail able.
* The file descriptor of the listening socket will be specified in * The file descriptor of the listening socket will be specified in
* this callback, or -1 if no socket could be established. * this callback, or -1 if no socket could be established.
* @param cb_data extra data to be returned when cb is called * @param cb_data extra data to be returned when cb is called
* *
* @return A pointer to a data structure that can be used to cancel * @return A pointer to a data structure that can be used to cancel
* the pending listener, or NULL if unable to obtain a local * the pending listener, or NULL if unable to obtain a local
* socket to listen on. * socket to listen on.
*/ */
PurpleNetworkListenData *purple_network_listen(unsigned short port, PurpleNetworkListenData *purple_network_listen(unsigned short port,
int socket_type, PurpleNetworkListenCallback cb, gpointer cb _data); int socket_type, PurpleNetworkListenCallback cb, gpointer cb _data);
/** /**
* \copydoc purple_network_listen
*
* Libpurple does not currently do any port mapping (stateful firewall hole
* poking) for IPv6-only listeners (if an IPv6 socket supports v4-mapped
* addresses, a mapping is done).
*
* @param socket_family The protocol family of the socket. This should be
* AF_INET for IPv4 or AF_INET6 for IPv6. IPv6 socket
s
* may or may not be able to accept IPv4 connections
* based on the system configuration (use
* purple_socket_speaks_ipv4 to check). If an IPv6
* socket doesn't accept V4-mapped addresses, you will
* need a second listener to support both v4 and v6.
* @since 2.7.0
* @deprecated This function will be renamed to purple_network_listen in 3.
0.0.
*/
PurpleNetworkListenData *purple_network_listen_family(unsigned short port,
int socket_family, int socket_type, PurpleNetworkListenCallback cb,
gpointer cb_data);
/**
* Opens a listening port selected from a range of ports. The range of * Opens a listening port selected from a range of ports. The range of
* ports used is chosen in the following manner: * ports used is chosen in the following manner:
* If a range is specified in preferences, these values are used. * If a range is specified in preferences, these values are used.
* If a non-0 values are passed to the function as parameters, these * If a non-0 values are passed to the function as parameters, these
* values are used. * values are used.
* Otherwise a port is chosen at random by the operating system. * Otherwise a port is chosen at random by the operating system.
* *
* This opens a listening port. The caller will want to set up a watcher * This opens a listening port. The caller will want to set up a watcher
* of type PURPLE_INPUT_READ on the fd returned in cb. It will probably cal l * of type PURPLE_INPUT_READ on the fd returned in cb. It will probably cal l
* accept in the watcher callback, and then possibly remove the watcher and close * accept in the watcher callback, and then possibly remove the watcher and close
skipping to change at line 184 skipping to change at line 216
* *
* @return A pointer to a data structure that can be used to cancel * @return A pointer to a data structure that can be used to cancel
* the pending listener, or NULL if unable to obtain a local * the pending listener, or NULL if unable to obtain a local
* socket to listen on. * socket to listen on.
*/ */
PurpleNetworkListenData *purple_network_listen_range(unsigned short start, PurpleNetworkListenData *purple_network_listen_range(unsigned short start,
unsigned short end, int socket_type, unsigned short end, int socket_type,
PurpleNetworkListenCallback cb, gpointer cb_data); PurpleNetworkListenCallback cb, gpointer cb_data);
/** /**
* \copydoc purple_network_listen_range
*
* Libpurple does not currently do any port mapping (stateful firewall hole
* poking) for IPv6-only listeners (if an IPv6 socket supports v4-mapped
* addresses, a mapping is done).
*
* @param socket_family The protocol family of the socket. This should be
* AF_INET for IPv4 or AF_INET6 for IPv6. IPv6 socket
s
* may or may not be able to accept IPv4 connections
* based on the system configuration (use
* purple_socket_speaks_ipv4 to check). If an IPv6
* socket doesn't accept V4-mapped addresses, you will
* need a second listener to support both v4 and v6.
* @since 2.7.0
* @deprecated This function will be renamed to purple_network_listen_range
* in 3.0.0.
*/
PurpleNetworkListenData *purple_network_listen_range_family(
unsigned short start, unsigned short end, int socket_family,
int socket_type, PurpleNetworkListenCallback cb, gpointer cb_data);
/**
* This can be used to cancel any in-progress listener connection * This can be used to cancel any in-progress listener connection
* by passing in the return value from either purple_network_listen() * by passing in the return value from either purple_network_listen()
* or purple_network_listen_range(). * or purple_network_listen_range().
* *
* @param listen_data This listener attempt will be canceled and * @param listen_data This listener attempt will be canceled and
* the struct will be freed. * the struct will be freed.
*/ */
void purple_network_listen_cancel(PurpleNetworkListenData *listen_data); void purple_network_listen_cancel(PurpleNetworkListenData *listen_data);
/** /**
 End of changes. 5 change blocks. 
5 lines changed or deleted 62 lines changed or added


 pidgin.h   pidgin.h 
skipping to change at line 60 skipping to change at line 60
It is not to be translated. */ It is not to be translated. */
#define PIDGIN_NAME _("Pidgin") #define PIDGIN_NAME _("Pidgin")
#ifndef _WIN32 #ifndef _WIN32
# define PIDGIN_ALERT_TITLE "" # define PIDGIN_ALERT_TITLE ""
#else #else
# define PIDGIN_ALERT_TITLE PIDGIN_NAME # define PIDGIN_ALERT_TITLE PIDGIN_NAME
#endif #endif
/* /*
* This is backwards-compatibility code for older versions of GTK+ (< 2.4.x
)
* It defines the new wrap behavior (unknown in earlier versions)
* as the old (slightly buggy) wrap behavior.
* It also includes our back-ported GtkExpander
*/
/** @cond */
#if (!GTK_CHECK_VERSION(2,4,0))
# define GTK_WRAP_WORD_CHAR GTK_WRAP_WORD
# include "gtkexpander.h"
#endif
/** @endcond */
/*
* We include the sources for GtkComboBox and GtkCellView because
* they don't exist in older versions of GTK+, and we use them
* in a few places.
*/
#if !GTK_CHECK_VERSION(2,6,0)
# include "gtkcellview.h"
# include "gtkcellviewmenuitem.h"
# include "pidgincombobox.h"
# if !GTK_CHECK_VERSION(2,4,0)
# include "gtkcelllayout.h"
# endif /* Less than GTK+ 2.4 */
#endif /* Less than GTK+ 2.6 */
/*
* Spacings between components, as defined by the * Spacings between components, as defined by the
* GNOME Human Interface Guidelines. * GNOME Human Interface Guidelines.
*/ */
#define PIDGIN_HIG_CAT_SPACE 18 #define PIDGIN_HIG_CAT_SPACE 18
#define PIDGIN_HIG_BORDER 12 #define PIDGIN_HIG_BORDER 12
#define PIDGIN_HIG_BOX_SPACE 6 #define PIDGIN_HIG_BOX_SPACE 6
#if !GTK_CHECK_VERSION(2,16,0) || !defined(PIDGIN_DISABLE_DEPRECATED) #if !GTK_CHECK_VERSION(2,16,0) || !defined(PIDGIN_DISABLE_DEPRECATED)
/* /*
* Older versions of GNOME defaulted to using an asterisk as the invisible * Older versions of GNOME defaulted to using an asterisk as the invisible
 End of changes. 1 change blocks. 
28 lines changed or deleted 0 lines changed or added


 pidginstock.h   pidginstock.h 
skipping to change at line 162 skipping to change at line 162
#define PIDGIN_STOCK_TOOLBAR_USER_INFO "pidgin-info" #define PIDGIN_STOCK_TOOLBAR_USER_INFO "pidgin-info"
#define PIDGIN_STOCK_TOOLBAR_UNBLOCK "pidgin-unblock" #define PIDGIN_STOCK_TOOLBAR_UNBLOCK "pidgin-unblock"
#define PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR "pidgin-select-avatar" #define PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR "pidgin-select-avatar"
#define PIDGIN_STOCK_TOOLBAR_SEND_FILE "pidgin-send-file" #define PIDGIN_STOCK_TOOLBAR_SEND_FILE "pidgin-send-file"
#define PIDGIN_STOCK_TOOLBAR_TRANSFER "pidgin-transfer" #define PIDGIN_STOCK_TOOLBAR_TRANSFER "pidgin-transfer"
#ifdef USE_VV #ifdef USE_VV
#define PIDGIN_STOCK_TOOLBAR_AUDIO_CALL "pidgin-audio-call" #define PIDGIN_STOCK_TOOLBAR_AUDIO_CALL "pidgin-audio-call"
#define PIDGIN_STOCK_TOOLBAR_VIDEO_CALL "pidgin-video-call" #define PIDGIN_STOCK_TOOLBAR_VIDEO_CALL "pidgin-video-call"
#define PIDGIN_STOCK_TOOLBAR_AUDIO_VIDEO_CALL "pidgin-audio-video-call" #define PIDGIN_STOCK_TOOLBAR_AUDIO_VIDEO_CALL "pidgin-audio-video-call"
#endif #endif
#define PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION "pidgin-send-attention"
/* Tray icons */ /* Tray icons */
#define PIDGIN_STOCK_TRAY_AVAILABLE "pidgin-tray-available" #define PIDGIN_STOCK_TRAY_AVAILABLE "pidgin-tray-available"
#define PIDGIN_STOCK_TRAY_INVISIBLE "pidgin-tray-invisible" #define PIDGIN_STOCK_TRAY_INVISIBLE "pidgin-tray-invisible"
#define PIDGIN_STOCK_TRAY_AWAY "pidgin-tray-away" #define PIDGIN_STOCK_TRAY_AWAY "pidgin-tray-away"
#define PIDGIN_STOCK_TRAY_BUSY "pidgin-tray-busy" #define PIDGIN_STOCK_TRAY_BUSY "pidgin-tray-busy"
#define PIDGIN_STOCK_TRAY_XA "pidgin-tray-xa" #define PIDGIN_STOCK_TRAY_XA "pidgin-tray-xa"
#define PIDGIN_STOCK_TRAY_OFFLINE "pidgin-tray-offline" #define PIDGIN_STOCK_TRAY_OFFLINE "pidgin-tray-offline"
#define PIDGIN_STOCK_TRAY_CONNECT "pidgin-tray-connect" #define PIDGIN_STOCK_TRAY_CONNECT "pidgin-tray-connect"
#define PIDGIN_STOCK_TRAY_PENDING "pidgin-tray-pending" #define PIDGIN_STOCK_TRAY_PENDING "pidgin-tray-pending"
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 prpl.h   prpl.h 
skipping to change at line 54 skipping to change at line 54
} PurpleIconScaleRules; } PurpleIconScaleRules;
/** /**
* A description of a Buddy Icon specification. This tells Purple what kin d of image file * A description of a Buddy Icon specification. This tells Purple what kin d of image file
* it should give this prpl, and what kind of image file it should expect b ack. * it should give this prpl, and what kind of image file it should expect b ack.
* Dimensions less than 1 should be ignored and the image not scaled. * Dimensions less than 1 should be ignored and the image not scaled.
*/ */
typedef struct _PurpleBuddyIconSpec PurpleBuddyIconSpec; typedef struct _PurpleBuddyIconSpec PurpleBuddyIconSpec;
/** /**
* A description of a file transfer thumbnail specification.
* This tells the UI if and what image formats the prpl support for file
* transfer thumbnails.
*/
typedef struct _PurpleThumbnailSpec PurpleThumbnailSpec;
/**
* This \#define exists just to make it easier to fill out the buddy icon * This \#define exists just to make it easier to fill out the buddy icon
* field in the prpl info struct for protocols that couldn't care less. * field in the prpl info struct for protocols that couldn't care less.
*/ */
#define NO_BUDDY_ICONS {NULL, 0, 0, 0, 0, 0, 0} #define NO_BUDDY_ICONS {NULL, 0, 0, 0, 0, 0, 0}
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
#include "blist.h" #include "blist.h"
skipping to change at line 570 skipping to change at line 577
/** /**
* Checks to see if the given contact supports the given type of med ia session. * Checks to see if the given contact supports the given type of med ia session.
* *
* @param account The account the contact is on. * @param account The account the contact is on.
* @param who The remote user to check for media capability with. * @param who The remote user to check for media capability with.
* @return The media caps the contact supports. * @return The media caps the contact supports.
*/ */
PurpleMediaCaps (*get_media_caps)(PurpleAccount *account, PurpleMediaCaps (*get_media_caps)(PurpleAccount *account,
const char *who); const char *who);
/**
* Returns an array of "PurpleMood"s, with the last one having
* "mood" set to @c NULL.
* @since 2.7.0
*/
PurpleMood *(*get_moods)(PurpleAccount *account);
/**
* Set the user's "friendly name" (or alias or nickname or
* whatever term you want to call it) on the server. The
* protocol plugin should call success_cb or failure_cb
* *asynchronously* (if it knows immediately that the set will fail,
* call one of the callbacks from an idle/0-second timeout) dependin
g
* on if the nickname is set successfully.
*
* @param gc The connection for which to set an alias
* @param alias The new server-side alias/nickname for this account,
* or NULL to unset the alias/nickname (or return it to
* a protocol-specific "default").
* @param success_cb Callback to be called if the public alias is se
t
* @param failure_cb Callback to be called if setting the public ali
as
* fails
* @see purple_account_set_public_alias
* @since 2.7.0
*/
void (*set_public_alias)(PurpleConnection *gc, const char *alias,
PurpleSetPublicAliasSuccessCallback success
_cb,
PurpleSetPublicAliasFailureCallback failure
_cb);
/**
* Retrieve the user's "friendly name" as set on the server.
* The protocol plugin should call success_cb or failure_cb
* *asynchronously* (even if it knows immediately that the get will
fail,
* call one of the callbacks from an idle/0-second timeout) dependin
g
* on if the nickname is retrieved.
*
* @param gc The connection for which to retireve the alias
* @param success_cb Callback to be called with the retrieved alias
* @param failure_cb Callback to be called if the prpl is unable to
* retrieve the alias
* @see purple_account_get_public_alias
* @since 2.7.0
*/
void (*get_public_alias)(PurpleConnection *gc,
PurpleGetPublicAliasSuccessCallback success
_cb,
PurpleGetPublicAliasFailureCallback failure
_cb);
}; };
#define PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, member) \ #define PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, member) \
(((G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < G_STRUCT_OFFS ET(PurplePluginProtocolInfo, struct_size)) \ (((G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < G_STRUCT_OFFS ET(PurplePluginProtocolInfo, struct_size)) \
|| (G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < prpl->stru ct_size)) && \ || (G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < prpl->stru ct_size)) && \
prpl->member != NULL) prpl->member != NULL)
#define PURPLE_IS_PROTOCOL_PLUGIN(plugin) \ #define PURPLE_IS_PROTOCOL_PLUGIN(plugin) \
((plugin)->info->type == PURPLE_PLUGIN_PROTOCOL) ((plugin)->info->type == PURPLE_PLUGIN_PROTOCOL)
skipping to change at line 903 skipping to change at line 956
* @param account The account the user is on. * @param account The account the user is on.
* @param who The name of the contact to start a session with. * @param who The name of the contact to start a session with.
* @param type The type of media session to start. * @param type The type of media session to start.
* *
* @return TRUE if the call succeeded else FALSE. (Doesn't imply the media session or stream will be successfully created) * @return TRUE if the call succeeded else FALSE. (Doesn't imply the media session or stream will be successfully created)
*/ */
gboolean purple_prpl_initiate_media(PurpleAccount *account, gboolean purple_prpl_initiate_media(PurpleAccount *account,
const char *who, const char *who,
PurpleMediaSessionType type); PurpleMediaSessionType type);
/**
* Signals that the prpl received capabilities for the given contact.
*
* This function is intended to be used only by prpls.
*
* @param account The account the user is on.
* @param who The name of the contact for which capabilities have been rece
ived.
* @since 2.7.0
*/
void purple_prpl_got_media_caps(PurpleAccount *account, const char *who);
/*@}*/ /*@}*/
/************************************************************************** / /************************************************************************** /
/** @name Protocol Plugin Subsystem API * / /** @name Protocol Plugin Subsystem API * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Finds a protocol plugin structure of the specified type. * Finds a protocol plugin structure of the specified type.
* *
 End of changes. 3 change blocks. 
0 lines changed or deleted 74 lines changed or added


 request.h   request.h 
skipping to change at line 153 skipping to change at line 153
int default_value; int default_value;
int value; int value;
GList *labels; GList *labels;
} choice; } choice;
struct struct
{ {
GList *items; GList *items;
GList *icons;
GHashTable *item_data; GHashTable *item_data;
GList *selected; GList *selected;
GHashTable *selected_table; GHashTable *selected_table;
gboolean multiple_selection; gboolean multiple_selection;
} list; } list;
struct struct
{ {
skipping to change at line 239 skipping to change at line 240
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(). */ /** @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, GCallback cancel_cb, GCallback ok_cb, GCallback cancel_cb,
PurpleAccount *account, const char *who, PurpleAccount *account, const char *who,
PurpleConversation *conv, void *user_data); PurpleConversation *conv, void *user_data);
/** @see purple_request_action_with_icon_varg(). */
void *(*request_action_with_icon)(const char *title, const char *pri
mary,
const char *secondary, int default_action,
PurpleAccount *account, const char *who,
PurpleConversation *conv,
gconstpointer icon_data, gsize icon_size,
void *user_data,
size_t action_count, va_list actions);
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);
} PurpleRequestUiOps; } PurpleRequestUiOps;
typedef void (*PurpleRequestInputCb)(void *, const char *); typedef void (*PurpleRequestInputCb)(void *, const char *);
/** The type of callbacks passed to purple_request_action(). The first /** The type of callbacks passed to purple_request_action(). The first
* argument is the @a user_data parameter; the second is the index in the list * argument is the @a user_data parameter; the second is the index in the list
* of actions of the one chosen. * of actions of the one chosen.
*/ */
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 956 skipping to change at line 965
*/ */
void *purple_request_field_list_get_data(const PurpleRequestField *field, void *purple_request_field_list_get_data(const PurpleRequestField *field,
c onst char *text); c onst char *text);
/** /**
* Adds an item to a list field. * Adds an item to a list field.
* *
* @param field The list field. * @param field The list field.
* @param item The list item. * @param item The list item.
* @param data The associated data. * @param data The associated data.
*
* @deprecated Use purple_request_field_list_add_icon() instead.
*/ */
void purple_request_field_list_add(PurpleRequestField *field, void purple_request_field_list_add(PurpleRequestField *field,
const char *item, void *data); const char *item, void *data);
/** /**
* Adds an item to a list field.
*
* @param field The list field.
* @param item The list item.
* @param icon_path The path to icon file, or @c NULL for no icon.
* @param data The associated data.
*/
void purple_request_field_list_add_icon(PurpleRequestField *field,
const char
*item, const char* icon_path, void* data);
/**
* Adds a selected item to the list field. * Adds a selected item to the list field.
* *
* @param field The field. * @param field The field.
* @param item The item to add. * @param item The item to add.
*/ */
void purple_request_field_list_add_selected(PurpleRequestField *field, void purple_request_field_list_add_selected(PurpleRequestField *field,
const char *item); const char *item);
/** /**
* Clears the list of selected items in a list field. * Clears the list of selected items in a list field.
skipping to change at line 1018 skipping to change at line 1040
/** /**
* Returns a list of items in a list field. * Returns a list of items in a list field.
* *
* @param field The field. * @param field The field.
* *
* @constreturn The list of items. * @constreturn The list of items.
*/ */
GList *purple_request_field_list_get_items(const PurpleRequestField *field) ; GList *purple_request_field_list_get_items(const PurpleRequestField *field) ;
/**
* Returns a list of icons in a list field.
*
* The icons will correspond with the items, in order.
*
* @param field The field.
*
* @constreturn The list of icons or @c NULL (i.e. the empty GList) if no
* items have icons.
*/
GList *purple_request_field_list_get_icons(const PurpleRequestField *field)
;
/*@}*/ /*@}*/
/************************************************************************** / /************************************************************************** /
/** @name Label Field API * / /** @name Label Field API * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Creates a label field. * Creates a label field.
* *
skipping to change at line 1370 skipping to change at line 1404
/** /**
* <tt>va_list</tt> version of purple_request_action(); see its documentati on. * <tt>va_list</tt> version of purple_request_action(); see its documentati on.
*/ */
void *purple_request_action_varg(void *handle, const char *title, void *purple_request_action_varg(void *handle, const char *title,
const char *primary, const char *secondary, int default_action, const char *primary, const char *secondary, int default_action,
PurpleAccount *account, const char *who, PurpleConversation *conv, PurpleAccount *account, const char *who, PurpleConversation *conv,
void *user_data, size_t action_count, va_list actions); void *user_data, size_t action_count, va_list actions);
/** /**
* Version of purple_request_action() supplying an image for the UI to
* optionally display as an icon in the dialog; see its documentation
* @since 2.7.0
*/
void *purple_request_action_with_icon(void *handle, const char *title,
const char *primary, const char *secondary, int default_action,
PurpleAccount *account, const char *who, PurpleConversation *conv,
gconstpointer icon_data, gsize icon_size, void *user_data,
size_t action_count, ...);
/**
* <tt>va_list</tt> version of purple_request_action_with_icon();
* see its documentation.
* @since 2.7.0
*/
void *purple_request_action_with_icon_varg(void *handle, const char *title,
const char *primary, const char *secondary, int default_action,
PurpleAccount *account, const char *who, PurpleConversation *conv,
gconstpointer icon_data, gsize icon_size,
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 things thi s * @param handle The plugin or connection handle. For some things thi s
* is <em>extremely</em> important. See the comments on * is <em>extremely</em> important. See the comments on
* purple_request_input(). * purple_request_input().
* @param title The title of the message, or @c NULL if it should hav e * @param title The title of the message, or @c NULL if it should hav e
* no title. * no title.
* @param primary The main point of the message, or @c NULL if you're * @param primary The main point of the message, or @c NULL if you're
* feeling enigmatic. * feeling enigmatic.
* @param secondary Secondary information, or @c NULL if there is none. * @param secondary Secondary information, or @c NULL if there is none.
skipping to change at line 1454 skipping to change at line 1510
* A wrapper for purple_request_action() that uses Accept and Cancel button s. * A wrapper for purple_request_action() that uses Accept and Cancel button s.
*/ */
#define purple_request_accept_cancel(handle, title, primary, secondary, \ #define purple_request_accept_cancel(handle, title, primary, secondary, \
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))
/** /**
* A wrapper for purple_request_action_with_icon() that uses Accept and Can
cel
* buttons.
*/
#define purple_request_accept_cancel_with_icon(handle, title, primary, seco
ndary, \
default_a
ction, account, who, conv, \
icon_data
, icon_size, \
user_data
, accept_cb, cancel_cb) \
purple_request_action_with_icon((handle), (title), (primary), (secon
dary), \
(default_action), account, w
ho, conv, icon_data, icon_size, \
(user_data), 2, \
_("_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 things thi s * @param handle The plugin or connection handle. For some things thi s
* is <em>extremely</em> important. See the comments on * is <em>extremely</em> important. See the comments on
* purple_request_input(). * purple_request_input().
* @param title The title of the message, or @c NULL if it should hav e * @param title The title of the message, or @c NULL if it should hav e
* no title. * 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.
 End of changes. 8 change blocks. 
1 lines changed or deleted 81 lines changed or added


 signals.h   signals.h 
skipping to change at line 358 skipping to change at line 358
void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER( void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER(
PurpleCallback cb, va_list args, void *data, void **return_v al); PurpleCallback cb, va_list args, void *data, void **return_v al);
void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT( void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT(
PurpleCallback cb, va_list args, void *data, void **return_v al); PurpleCallback cb, va_list args, void *data, void **return_v al);
void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTE R( void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTE R(
PurpleCallback cb, va_list args, void *data, void **return_v al); PurpleCallback cb, va_list args, void *data, void **return_v al);
void purple_marshal_BOOLEAN__INT_POINTER( void purple_marshal_BOOLEAN__INT_POINTER(
PurpleCallback cb, va_list args, void *data, void **return_v al); PurpleCallback cb, va_list args, void *data, void **return_v al);
void purple_marshal_POINTER__POINTER(
PurpleCallback cb, va_list args, void *data, void **return_v
al);
void purple_marshal_POINTER__POINTER_INT( void purple_marshal_POINTER__POINTER_INT(
PurpleCallback cb, va_list args, void *data, void **return_v al); PurpleCallback cb, va_list args, void *data, void **return_v al);
void purple_marshal_POINTER__POINTER_INT64( void purple_marshal_POINTER__POINTER_INT64(
PurpleCallback cb, va_list args, void *data, void **return_v al); PurpleCallback cb, va_list args, void *data, void **return_v al);
void purple_marshal_POINTER__POINTER_INT_BOOLEAN( void purple_marshal_POINTER__POINTER_INT_BOOLEAN(
PurpleCallback cb, va_list args, void *data, void **return_v al); PurpleCallback cb, va_list args, void *data, void **return_v al);
void purple_marshal_POINTER__POINTER_INT64_BOOLEAN( void purple_marshal_POINTER__POINTER_INT64_BOOLEAN(
PurpleCallback cb, va_list args, void *data, void **return_v al); PurpleCallback cb, va_list args, void *data, void **return_v al);
void purple_marshal_POINTER__POINTER_POINTER( void purple_marshal_POINTER__POINTER_POINTER(
PurpleCallback cb, va_list args, void *data, void **return_v al); PurpleCallback cb, va_list args, void *data, void **return_v al);
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 lines changed or added


 sound.h   sound.h 
skipping to change at line 53 skipping to change at line 53
PURPLE_SOUND_BUDDY_LEAVE, /**< Buddy signs off. */ PURPLE_SOUND_BUDDY_LEAVE, /**< Buddy signs off. */
PURPLE_SOUND_RECEIVE, /**< Receive an IM. */ PURPLE_SOUND_RECEIVE, /**< Receive an IM. */
PURPLE_SOUND_FIRST_RECEIVE, /**< Receive an IM that starts a conv . */ PURPLE_SOUND_FIRST_RECEIVE, /**< Receive an IM that starts a conv . */
PURPLE_SOUND_SEND, /**< Send an IM. */ PURPLE_SOUND_SEND, /**< Send an IM. */
PURPLE_SOUND_CHAT_JOIN, /**< Someone joins a chat. */ PURPLE_SOUND_CHAT_JOIN, /**< Someone joins a chat. */
PURPLE_SOUND_CHAT_LEAVE, /**< Someone leaves a chat. */ PURPLE_SOUND_CHAT_LEAVE, /**< Someone leaves a chat. */
PURPLE_SOUND_CHAT_YOU_SAY, /**< You say something in a chat. */ PURPLE_SOUND_CHAT_YOU_SAY, /**< You say something in a chat. */
PURPLE_SOUND_CHAT_SAY, /**< Someone else says somthing in a chat. */ PURPLE_SOUND_CHAT_SAY, /**< Someone else says somthing in a chat. */
PURPLE_SOUND_POUNCE_DEFAULT, /**< Default sound for a buddy pounce . */ PURPLE_SOUND_POUNCE_DEFAULT, /**< Default sound for a buddy pounce . */
PURPLE_SOUND_CHAT_NICK, /**< Someone says your name in a chat . */ PURPLE_SOUND_CHAT_NICK, /**< Someone says your name in a chat . */
PURPLE_SOUND_GOT_ATTENTION, /**< Got an attention */
PURPLE_NUM_SOUNDS /**< Total number of sounds. */ PURPLE_NUM_SOUNDS /**< Total number of sounds. */
} PurpleSoundEventID; } PurpleSoundEventID;
/** Operations used by the core to request that particular sound files, or the /** Operations used by the core to request that particular sound files, or the
* sound associated with a particular event, should be played. * sound associated with a particular event, should be played.
*/ */
typedef struct _PurpleSoundUiOps typedef struct _PurpleSoundUiOps
{ {
void (*init)(void); void (*init)(void);
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 status.h   status.h 
skipping to change at line 90 skipping to change at line 90
* technically "independent" of the other two, but we'll get into * technically "independent" of the other two, but we'll get into
* that later). PurpleStatusTypes are very permanent. They are * that later). PurpleStatusTypes are very permanent. They are
* hardcoded in each PRPL and will not change often. And because * hardcoded in each PRPL and will not change often. And because
* they are hardcoded, they do not need to be saved to any XML file. * they are hardcoded, they do not need to be saved to any XML file.
*/ */
typedef struct _PurpleStatusType PurpleStatusType; typedef struct _PurpleStatusType PurpleStatusType;
typedef struct _PurpleStatusAttr PurpleStatusAttr; typedef struct _PurpleStatusAttr PurpleStatusAttr;
typedef struct _PurplePresence PurplePresence; typedef struct _PurplePresence PurplePresence;
typedef struct _PurpleStatus PurpleStatus; typedef struct _PurpleStatus PurpleStatus;
typedef struct _PurpleMood {
const char *mood;
const char *description;
gpointer *padding;
} PurpleMood;
/** /**
* A context for a presence. * A context for a presence.
* *
* The context indicates to what the presence applies. * The context indicates to what the presence applies.
*/ */
typedef enum typedef enum
{ {
PURPLE_PRESENCE_CONTEXT_UNSET = 0, PURPLE_PRESENCE_CONTEXT_UNSET = 0,
PURPLE_PRESENCE_CONTEXT_ACCOUNT, PURPLE_PRESENCE_CONTEXT_ACCOUNT,
PURPLE_PRESENCE_CONTEXT_CONV, PURPLE_PRESENCE_CONTEXT_CONV,
PURPLE_PRESENCE_CONTEXT_BUDDY PURPLE_PRESENCE_CONTEXT_BUDDY
} PurplePresenceContext; } PurplePresenceContext;
/** /**
* A primitive defining the basic structure of a status type. * A primitive defining the basic structure of a status type.
*/ */
/* /*
* If you add a value to this enum, make sure you update * If you add a value to this enum, make sure you update
* the status_primitive_map array in status.c and the special-cases for idl * the status_primitive_map and primitive_scores arrays in status.c.
e
* and offline-messagable just below it.
*/ */
typedef enum typedef enum
{ {
PURPLE_STATUS_UNSET = 0, PURPLE_STATUS_UNSET = 0,
PURPLE_STATUS_OFFLINE, PURPLE_STATUS_OFFLINE,
PURPLE_STATUS_AVAILABLE, PURPLE_STATUS_AVAILABLE,
PURPLE_STATUS_UNAVAILABLE, PURPLE_STATUS_UNAVAILABLE,
PURPLE_STATUS_INVISIBLE, PURPLE_STATUS_INVISIBLE,
PURPLE_STATUS_AWAY, PURPLE_STATUS_AWAY,
PURPLE_STATUS_EXTENDED_AWAY, PURPLE_STATUS_EXTENDED_AWAY,
PURPLE_STATUS_MOBILE, PURPLE_STATUS_MOBILE,
PURPLE_STATUS_TUNE, PURPLE_STATUS_TUNE,
PURPLE_STATUS_MOOD,
PURPLE_STATUS_NUM_PRIMITIVES PURPLE_STATUS_NUM_PRIMITIVES
} PurpleStatusPrimitive; } PurpleStatusPrimitive;
#include "account.h" #include "account.h"
#include "blist.h" #include "blist.h"
#include "conversation.h" #include "conversation.h"
#include "value.h" #include "value.h"
#define PURPLE_TUNE_ARTIST "tune_artist" #define PURPLE_TUNE_ARTIST "tune_artist"
#define PURPLE_TUNE_TITLE "tune_title" #define PURPLE_TUNE_TITLE "tune_title"
#define PURPLE_TUNE_ALBUM "tune_album" #define PURPLE_TUNE_ALBUM "tune_album"
#define PURPLE_TUNE_GENRE "tune_genre" #define PURPLE_TUNE_GENRE "tune_genre"
#define PURPLE_TUNE_COMMENT "tune_comment" #define PURPLE_TUNE_COMMENT "tune_comment"
#define PURPLE_TUNE_TRACK "tune_track" #define PURPLE_TUNE_TRACK "tune_track"
#define PURPLE_TUNE_TIME "tune_time" #define PURPLE_TUNE_TIME "tune_time"
#define PURPLE_TUNE_YEAR "tune_year" #define PURPLE_TUNE_YEAR "tune_year"
#define PURPLE_TUNE_URL "tune_url" #define PURPLE_TUNE_URL "tune_url"
#define PURPLE_TUNE_FULL "tune_full" #define PURPLE_TUNE_FULL "tune_full"
#define PURPLE_MOOD_NAME "mood"
#define PURPLE_MOOD_COMMENT "moodtext"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/************************************************************************** / /************************************************************************** /
/** @name PurpleStatusPrimitive API * / /** @name PurpleStatusPrimitive API * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
 End of changes. 4 change blocks. 
3 lines changed or deleted 11 lines changed or added


 util.h   util.h 
skipping to change at line 45 skipping to change at line 45
* An opaque structure representing a URL request. Can be used to cancel * An opaque structure representing a URL request. Can be used to cancel
* the request. * the request.
*/ */
typedef struct _PurpleUtilFetchUrlData PurpleUtilFetchUrlData; typedef struct _PurpleUtilFetchUrlData PurpleUtilFetchUrlData;
/** @copydoc _PurpleMenuAction */ /** @copydoc _PurpleMenuAction */
typedef struct _PurpleMenuAction PurpleMenuAction; typedef struct _PurpleMenuAction PurpleMenuAction;
/** @copydoc _PurpleKeyValuePair */ /** @copydoc _PurpleKeyValuePair */
typedef struct _PurpleKeyValuePair PurpleKeyValuePair; typedef struct _PurpleKeyValuePair PurpleKeyValuePair;
#include "account.h" #include "account.h"
#include "signals.h"
#include "xmlnode.h" #include "xmlnode.h"
#include "notify.h" #include "notify.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
struct _PurpleMenuAction struct _PurpleMenuAction
{ {
char *label; char *label;
skipping to change at line 514 skipping to change at line 515
* *
* @param str The string to linkify. * @param str The string to linkify.
* *
* @return The new string with all URIs surrounded in standard * @return The new string with all URIs surrounded in standard
* HTML <a href="whatever"></a> tags. You must g_free this * HTML <a href="whatever"></a> tags. You must g_free this
* string when finished with it. * string when finished with it.
*/ */
char *purple_markup_linkify(const char *str); char *purple_markup_linkify(const char *str);
/** /**
* Unescapes HTML entities to their literal characters. Also translates * Unescapes HTML entities to their literal characters in the text.
* "<br>" to "\n". * For example "&amp;" is replaced by '&' and so on. Also converts
* For example "&amp;" is replaced by '&' and so on. * numerical entities (e.g. "&#38;" is also '&').
* *
* The following named entities are supported (in addition to numerical * This function currently supports the following named entities:
* entities): * "&amp;", "&lt;", "&gt;", "&copy;", "&quot;", "&reg;", "&apos;"
* "&amp;", "&lt;", "&gt;", "&copy;", "&quot;", "&reg;", "&apos;" *
* purple_unescape_html() is similar, but also converts "<br>" into "\n".
*
* @param text The string in which to unescape any HTML entities
*
* @return The text with HTML entities literalized. You must g_free
* this string when finished with it.
*
* @see purple_unescape_html()
* @since 2.7.0
*/
char *purple_unescape_text(const char *text);
/**
* Unescapes HTML entities to their literal characters and converts
* "<br>" to "\n". See purple_unescape_text() for more details.
* *
* @param html The string in which to unescape any HTML entities * @param html The string in which to unescape any HTML entities
* *
* @return The text with HTML entities literalized. You must g_free * @return The text with HTML entities literalized. You must g_free
* this string when finished with it. * this string when finished with it.
*
* @see purple_unescape_text()
*/ */
char *purple_unescape_html(const char *html); char *purple_unescape_html(const char *html);
/** /**
* Returns a newly allocated substring of the HTML UTF-8 string "str". * Returns a newly allocated substring of the HTML UTF-8 string "str".
* The markup is preserved such that the substring will have the same * The markup is preserved such that the substring will have the same
* formatting as original string, even though some tags may have been * formatting as original string, even though some tags may have been
* opened before "x", or may close after "y". All open tags are closed * opened before "x", or may close after "y". All open tags are closed
* at the end of the returned string, in the proper order. * at the end of the returned string, in the proper order.
* *
skipping to change at line 798 skipping to change at line 816
/** /**
* Returns the IP address from a socket file descriptor. * Returns the IP address from a socket file descriptor.
* *
* @param fd The socket file descriptor. * @param fd The socket file descriptor.
* *
* @return The IP address, or @c NULL on error. * @return The IP address, or @c NULL on error.
*/ */
char *purple_fd_get_ip(int fd); char *purple_fd_get_ip(int fd);
/**
* Returns the address family of a socket.
*
* @param fd The socket file descriptor.
*
* @return The address family of the socket (AF_INET, AF_INET6, etc) or -1
* on error.
* @since 2.7.0
*/
int purple_socket_get_family(int fd);
/**
* Returns TRUE if a socket is capable of speaking IPv4.
*
* This is the case for IPv4 sockets and, on some systems, IPv6 sockets
* (due to the IPv4-mapped address functionality).
*
* @param fd The socket file descriptor
* @return TRUE if a socket can speak IPv4.
* @since 2.7.0
*/
gboolean purple_socket_speaks_ipv4(int fd);
/*@}*/ /*@}*/
/************************************************************************** / /************************************************************************** /
/** @name String Functions * / /** @name String Functions * /
/************************************************************************** / /************************************************************************** /
/*@{*/ /*@{*/
/** /**
* Tests two strings for equality. * Tests two strings for equality.
* *
skipping to change at line 1403 skipping to change at line 1444
* *
* @param str The string to translate. * @param str The string to translate.
* *
* @return The resulting string. * @return The resulting string.
*/ */
const char *purple_escape_filename(const char *str); const char *purple_escape_filename(const char *str);
/** /**
* This is added temporarily to assist the split of oscar into aim and icq. * This is added temporarily to assist the split of oscar into aim and icq.
* This should not be used by plugins. * This should not be used by plugins.
*
* @deprecated This function should not be used in new code and should be
* removed in 3.0.0. The aim/icq prpl split happened a long
* time ago, and we don't need to keep migrating old data.
*/ */
const char *_purple_oscar_convert(const char *act, const char *protocol); const char *_purple_oscar_convert(const char *act, const char *protocol);
/** /**
* Restore default signal handlers for signals which might reasonably have * Restore default signal handlers for signals which might reasonably have
* handlers. This should be called by a fork()'d child process, since child processes * handlers. This should be called by a fork()'d child process, since child processes
* inherit the handlers of the parent. * inherit the handlers of the parent.
*/ */
void purple_restore_default_signal_handlers(void); void purple_restore_default_signal_handlers(void);
/** /**
* Gets the host name of the machine. If it not possible to determine the * Gets the host name of the machine. If it not possible to determine the
* host name, "localhost" is returned * host name, "localhost" is returned
* *
* @constreturn The hostname * @constreturn The hostname
*/ */
const gchar *purple_get_host_name(void); const gchar *purple_get_host_name(void);
/**
* Returns a type 4 (random) UUID
*
* @return A UUID, caller is responsible for freeing it
* @since 2.7.0
*/
gchar *purple_uuid_random(void);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _PURPLE_UTIL_H_ */ #endif /* _PURPLE_UTIL_H_ */
 End of changes. 7 change blocks. 
6 lines changed or deleted 59 lines changed or added


 version.h   version.h 
skipping to change at line 30 skipping to change at line 30
* 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_
/** The major version of the running libpurple. */ /** The major version of the running libpurple. */
#define PURPLE_MAJOR_VERSION (2) #define PURPLE_MAJOR_VERSION (2)
/** The minor version of the running libpurple. */ /** The minor version of the running libpurple. */
#define PURPLE_MINOR_VERSION (6) #define PURPLE_MINOR_VERSION (7)
/** The micro version of the running libpurple. */ /** The micro version of the running libpurple. */
#define PURPLE_MICRO_VERSION (6) #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
/** /**
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 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/