Seems 0.5.6 was kept around, whoops. I wondered why that binary was a little heavy. adium-1.3 1.3.5
authorZachary West <zacw@adium.im>
Sun, 21 Jun 2009 22:16:31 -0400
branchadium-1.3
changeset 350 708bedafdc3a
parent 349 17ef128722b7
child 351 b01ab9b157f9
Seems 0.5.6 was kept around, whoops. I wondered why that binary was a little heavy.
Frameworks/libpurple.framework/Versions/0.5.6/Headers/account.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/accountopt.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/blist.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/buddy.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/buddyicon.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/buddylist.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/caps.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/certificate.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/cipher.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/circbuffer.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/cmdproc.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/cmds.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/command.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/connection.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/contact.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/conversation.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/core.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/dbus-maybe.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/debug.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/desktopitem.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/dialog.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/directconn.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/dnsquery.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/dnssrv.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/error.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/eventloop.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/fix_purple.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/fix_purple_win32.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/ft.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/gaim-compat.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/gg.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/group.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/history.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/httpconn.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/idle.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/imgstore.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/internal.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/jabber.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/jutil.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/libgadu-i386.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/libgadu-ppc.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/libgadu.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/libpurple.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/log.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/mime.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/msg.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/msn.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/msn_intl.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/msnutils.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/nat-pmp.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/network.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/nexus.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/notification.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/notify.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/ntlm.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/object.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/oim.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/oscar.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/page.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/pecan_config.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/pecan_log.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/pecan_oim.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/pecan_oim_private.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/pecan_printf.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/pecan_status.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/pecan_util.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/peer.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/plugin.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/pluginpref.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/pounce.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/prefs.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/presence.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/privacy.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/proxy.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/prpl.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/purple.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/request.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/roomlist.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/savedstatuses.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/search.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/servconn.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/server.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/session.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/session_private.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/si.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/signals.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/slp.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/slpcall.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/slplink.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/slpmsg.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/smiley.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/snactypes.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/soap.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/sound.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/sslconn.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/state.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/status.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/stringref.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/stun.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/switchboard.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/sync.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/table.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/transaction.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/upnp.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/user.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/userlist.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/util.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/value.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/version.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/whiteboard.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/xmlnode.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/yahoo.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/yahoo_aliases.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/yahoo_auth.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/yahoo_crypt.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/yahoo_doodle.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/yahoo_filexfer.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/yahoo_friend.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/yahoo_packet.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/yahoo_picture.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/yahoochat.h
Frameworks/libpurple.framework/Versions/0.5.6/Headers/ycht.h
Frameworks/libpurple.framework/Versions/0.5.6/Resources/English.lproj/InfoPlist.strings
Frameworks/libpurple.framework/Versions/0.5.6/Resources/Info.plist
Frameworks/libpurple.framework/Versions/0.5.6/Resources/ca/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/cs/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/da/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/de/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/el/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/en_AU/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/en_CA/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/en_GB/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/es/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/fi/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/fr/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/hu/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/it/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/ja/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/nb/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/nl/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/pl/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/pt/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/pt_BR/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/ru/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/sl/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/sv/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/tr/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/uk/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/zh_CN/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/Resources/zh_TW/LC_MESSAGES/pidgin.mo
Frameworks/libpurple.framework/Versions/0.5.6/libpurple
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/account.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1054 +0,0 @@
-/**
- * @file account.h Account API
- * @ingroup core
- * @see @ref account-signals
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_ACCOUNT_H_
-#define _PURPLE_ACCOUNT_H_
-
-#include <glib.h>
-#include <glib-object.h>
-
-/** @copydoc _PurpleAccountUiOps */
-typedef struct _PurpleAccountUiOps PurpleAccountUiOps;
-/** @copydoc _PurpleAccount */
-typedef struct _PurpleAccount      PurpleAccount;
-
-typedef gboolean (*PurpleFilterAccountFunc)(PurpleAccount *account);
-typedef void (*PurpleAccountRequestAuthorizationCb)(void *);
-typedef void (*PurpleAccountRegistrationCb)(PurpleAccount *account, gboolean succeeded, void *user_data);
-typedef void (*PurpleAccountUnregistrationCb)(PurpleAccount *account, gboolean succeeded, void *user_data);
-
-#include "connection.h"
-#include "log.h"
-#include "proxy.h"
-#include "prpl.h"
-#include "status.h"
-
-/**
- * Account request types.
- */
-typedef enum
-{
-	PURPLE_ACCOUNT_REQUEST_AUTHORIZATION = 0 /* Account authorization request */
-} PurpleAccountRequestType;
-
-
-/**  Account UI operations, used to notify the user of status changes and when
- *   buddies add this account to their buddy lists.
- */
-struct _PurpleAccountUiOps
-{
-	/** A buddy who is already on this account's buddy list added this account
-	 *  to their buddy list.
-	 */
-	void (*notify_added)(PurpleAccount *account,
-	                     const char *remote_user,
-	                     const char *id,
-	                     const char *alias,
-	                     const char *message);
-
-	/** This account's status changed. */
-	void (*status_changed)(PurpleAccount *account,
-	                       PurpleStatus *status);
-
-	/** Someone we don't have on our list added us; prompt to add them. */
-	void (*request_add)(PurpleAccount *account,
-	                    const char *remote_user,
-	                    const char *id,
-	                    const char *alias,
-	                    const char *message);
-
-	/** Prompt for authorization when someone adds this account to their buddy
-	 * list.  To authorize them to see this account's presence, call \a
-	 * authorize_cb (\a user_data); otherwise call \a deny_cb (\a user_data);
-	 * @return a UI-specific handle, as passed to #close_account_request.
-	 */
-	void *(*request_authorize)(PurpleAccount *account,
-	                           const char *remote_user,
-	                           const char *id,
-	                           const char *alias,
-	                           const char *message,
-	                           gboolean on_list,
-	                           PurpleAccountRequestAuthorizationCb authorize_cb,
-	                           PurpleAccountRequestAuthorizationCb deny_cb,
-	                           void *user_data);
-
-	/** Close a pending request for authorization.  \a ui_handle is a handle
-	 *  as returned by #request_authorize.
-	 */
-	void (*close_account_request)(void *ui_handle);
-
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-};
-
-/** Structure representing an account.
- */
-struct _PurpleAccount
-{
-	char *username;             /**< The username.                          */
-	char *alias;                /**< How you appear to yourself.            */
-	char *password;             /**< The account password.                  */
-	char *user_info;            /**< User information.                      */
-
-	char *buddy_icon_path;      /**< The buddy icon's non-cached path.      */
-
-	gboolean remember_pass;     /**< Remember the password.                 */
-
-	char *protocol_id;          /**< The ID of the protocol.                */
-
-	PurpleConnection *gc;         /**< The connection handle.                 */
-	gboolean disconnecting;     /**< The account is currently disconnecting */
-
-	GHashTable *settings;       /**< Protocol-specific settings.            */
-	GHashTable *ui_settings;    /**< UI-specific settings.                  */
-
-	PurpleProxyInfo *proxy_info;  /**< Proxy information.  This will be set   */
-								/*   to NULL when the account inherits      */
-								/*   proxy settings from global prefs.      */
-
-	/*
-	 * TODO: Supplementing the next two linked lists with hash tables
-	 * should help performance a lot when these lists are long.  This
-	 * matters quite a bit for protocols like MSN, where all your
-	 * buddies are added to your permit list.  Currently we have to
-	 * iterate through the entire list if we want to check if someone
-	 * is permitted or denied.  We should do this for 3.0.0.
-	 */
-	GSList *permit;             /**< Permit list.                           */
-	GSList *deny;               /**< Deny list.                             */
-	int perm_deny;              /**< The permit/deny setting.               */
-
-	GList *status_types;        /**< Status types.                          */
-
-	PurplePresence *presence;     /**< Presence.                              */
-	PurpleLog *system_log;        /**< The system log                         */
-
-	void *ui_data;              /**< The UI can put data here.              */
-	PurpleAccountRegistrationCb registration_cb;
-	void *registration_cb_user_data;
-
-	gpointer priv;              /**< Pointer to opaque private data. */
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**************************************************************************/
-/** @name Account API                                                     */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Creates a new account.
- *
- * @param username    The username.
- * @param protocol_id The protocol ID.
- *
- * @return The new account.
- */
-PurpleAccount *purple_account_new(const char *username, const char *protocol_id);
-
-/**
- * Destroys an account.
- *
- * @param account The account to destroy.
- */
-void purple_account_destroy(PurpleAccount *account);
-
-/**
- * Connects to an account.
- *
- * @param account The account to connect to.
- */
-void purple_account_connect(PurpleAccount *account);
-
-/**
- * Sets the callback for successful registration.
- *
- * @param account	The account for which this callback should be used
- * @param cb	The callback
- * @param user_data	The user data passed to the callback
- */
-void purple_account_set_register_callback(PurpleAccount *account, PurpleAccountRegistrationCb cb, void *user_data);
-
-/**
- * Registers an account.
- *
- * @param account The account to register.
- */
-void purple_account_register(PurpleAccount *account);
-
-/**
- * Unregisters an account (deleting it from the server).
- *
- * @param account The account to unregister.
- * @param cb Optional callback to be called when unregistration is complete
- * @param user_data user data to pass to the callback
- */
-void purple_account_unregister(PurpleAccount *account, PurpleAccountUnregistrationCb cb, void *user_data);
-
-/**
- * Disconnects from an account.
- *
- * @param account The account to disconnect from.
- */
-void purple_account_disconnect(PurpleAccount *account);
-
-/**
- * Notifies the user that the account was added to a remote user's
- * buddy list.
- *
- * This will present a dialog informing the user that he was added to the
- * remote user's buddy list.
- *
- * @param account     The account that was added.
- * @param remote_user The name of the user that added this account.
- * @param id          The optional ID of the local account. Rarely used.
- * @param alias       The optional alias of the user.
- * @param message     The optional message sent from the user adding you.
- */
-void purple_account_notify_added(PurpleAccount *account, const char *remote_user,
-                               const char *id, const char *alias,
-                               const char *message);
-
-/**
- * Notifies the user that the account was addded to a remote user's buddy
- * list and asks ther user if they want to add the remote user to their buddy
- * list.
- *
- * This will present a dialog informing the local user that the remote user
- * added them to the remote user's buddy list and will ask if they want to add
- * the remote user to the buddy list.
- *
- * @param account     The account that was added.
- * @param remote_user The name of the user that added this account.
- * @param id          The optional ID of the local account. Rarely used.
- * @param alias       The optional alias of the user.
- * @param message     The optional message sent from the user adding you.
- */
-void purple_account_request_add(PurpleAccount *account, const char *remote_user,
-                              const char *id, const char *alias,
-                              const char *message);
-
-/**
- * Notifies the user that a remote user has wants to add the local user
- * to his or her buddy list and requires authorization to do so.
- *
- * This will present a dialog informing the user of this and ask if the 
- * user authorizes or denies the remote user from adding him.
- *
- * @param account      The account that was added
- * @param remote_user  The name of the user that added this account.
- * @param id           The optional ID of the local account. Rarely used.
- * @param alias        The optional alias of the remote user.
- * @param message      The optional message sent by the user wanting to add you.
- * @param on_list      Is the remote user already on the buddy list?
- * @param auth_cb      The callback called when the local user accepts
- * @param deny_cb      The callback called when the local user rejects
- * @param user_data    Data to be passed back to the above callbacks
- *
- * @return A UI-specific handle.
- */
-void *purple_account_request_authorization(PurpleAccount *account, const char *remote_user,
-					const char *id, const char *alias, const char *message, gboolean on_list,
-					PurpleAccountRequestAuthorizationCb auth_cb, PurpleAccountRequestAuthorizationCb deny_cb, void *user_data);
-
-/**
- * Close account requests registered for the given PurpleAccount
- *
- * @param account	   The account for which requests should be closed
- */
-void purple_account_request_close_with_account(PurpleAccount *account);
-
-/**
- * Close the account request for the given ui handle
- *
- * @param ui_handle	   The ui specific handle for which requests should be closed
- */
-void purple_account_request_close(void *ui_handle);
-
-/**
- * Requests a password from the user for the account. Does not set the
- * account password on success; do that in ok_cb if desired.
- *
- * @param account     The account to request the password for.
- * @param ok_cb       The callback for the OK button.
- * @param cancel_cb   The callback for the cancel button.
- * @param user_data   User data to be passed into callbacks.
- */
-void purple_account_request_password(PurpleAccount *account, GCallback ok_cb,
-				     GCallback cancel_cb, void *user_data);
-
-/**
- * Requests information from the user to change the account's password.
- *
- * @param account The account to change the password on.
- */
-void purple_account_request_change_password(PurpleAccount *account);
-
-/**
- * Requests information from the user to change the account's
- * user information.
- *
- * @param account The account to change the user information on.
- */
-void purple_account_request_change_user_info(PurpleAccount *account);
-
-/**
- * Sets the account's username.
- *
- * @param account  The account.
- * @param username The username.
- */
-void purple_account_set_username(PurpleAccount *account, const char *username);
-
-/**
- * Sets the account's password.
- *
- * @param account  The account.
- * @param password The password.
- */
-void purple_account_set_password(PurpleAccount *account, const char *password);
-
-/**
- * Sets the account's alias.
- *
- * @param account The account.
- * @param alias   The alias.
- */
-void purple_account_set_alias(PurpleAccount *account, const char *alias);
-
-/**
- * Sets the account's user information
- *
- * @param account   The account.
- * @param user_info The user information.
- */
-void purple_account_set_user_info(PurpleAccount *account, const char *user_info);
-
-/**
- * Sets the account's buddy icon path.
- *
- * @param account The account.
- * @param path	  The buddy icon non-cached path.
- */
-void purple_account_set_buddy_icon_path(PurpleAccount *account, const char *path);
-
-/**
- * Sets the account's protocol ID.
- *
- * @param account     The account.
- * @param protocol_id The protocol ID.
- */
-void purple_account_set_protocol_id(PurpleAccount *account,
-								  const char *protocol_id);
-
-/**
- * Sets the account's connection.
- *
- * @param account The account.
- * @param gc      The connection.
- */
-void purple_account_set_connection(PurpleAccount *account, PurpleConnection *gc);
-
-/**
- * Sets whether or not this account should save its password.
- *
- * @param account The account.
- * @param value   @c TRUE if it should remember the password.
- */
-void purple_account_set_remember_password(PurpleAccount *account, gboolean value);
-
-/**
- * Sets whether or not this account should check for mail.
- *
- * @param account The account.
- * @param value   @c TRUE if it should check for mail.
- */
-void purple_account_set_check_mail(PurpleAccount *account, gboolean value);
-
-/**
- * Sets whether or not this account is enabled for the specified
- * UI.
- *
- * @param account The account.
- * @param ui      The UI.
- * @param value   @c TRUE if it is enabled.
- */
-void purple_account_set_enabled(PurpleAccount *account, const char *ui,
-			      gboolean value);
-
-/**
- * Sets the account's proxy information.
- *
- * @param account The account.
- * @param info    The proxy information.
- */
-void purple_account_set_proxy_info(PurpleAccount *account, PurpleProxyInfo *info);
-
-/**
- * Sets the account's status types.
- *
- * @param account      The account.
- * @param status_types The list of status types.
- */
-void purple_account_set_status_types(PurpleAccount *account, GList *status_types);
-
-/**
- * Variadic version of purple_account_set_status_list(); the variadic list
- * replaces @a attrs, and should be <tt>NULL</tt>-terminated.
- *
- * @copydoc purple_account_set_status_list()
- */
-void purple_account_set_status(PurpleAccount *account, const char *status_id,
-	gboolean active, ...) G_GNUC_NULL_TERMINATED;
-
-
-/**
- * Activates or deactivates a status.  All changes to the statuses of
- * an account go through this function or purple_account_set_status().
- *
- * You can only deactivate an exclusive status by activating another exclusive
- * status.  So, if @a status_id is an exclusive status and @a active is @c
- * FALSE, this function does nothing.
- *
- * @param account   The account.
- * @param status_id The ID of the status.
- * @param active    Whether @a status_id is to be activated (<tt>TRUE</tt>) or
- *                  deactivated (<tt>FALSE</tt>).
- * @param attrs     A list of <tt>const char *</tt> attribute names followed by
- *                  <tt>const char *</tt> attribute values for the status.
- *                  (For example, one pair might be <tt>"message"</tt> followed
- *                  by <tt>"hello, talk to me!"</tt>.)
- */
-void purple_account_set_status_list(PurpleAccount *account,
-	const char *status_id, gboolean active, GList *attrs);
-
-/**
- * Clears all protocol-specific settings on an account.
- *
- * @param account The account.
- */
-void purple_account_clear_settings(PurpleAccount *account);
-
-/**
- * Sets a protocol-specific integer setting for an account.
- *
- * @param account The account.
- * @param name    The name of the setting.
- * @param value   The setting's value.
- */
-void purple_account_set_int(PurpleAccount *account, const char *name, int value);
-
-/**
- * Sets a protocol-specific string setting for an account.
- *
- * @param account The account.
- * @param name    The name of the setting.
- * @param value   The setting's value.
- */
-void purple_account_set_string(PurpleAccount *account, const char *name,
-							 const char *value);
-
-/**
- * Sets a protocol-specific boolean setting for an account.
- *
- * @param account The account.
- * @param name    The name of the setting.
- * @param value   The setting's value.
- */
-void purple_account_set_bool(PurpleAccount *account, const char *name,
-						   gboolean value);
-
-/**
- * Sets a UI-specific integer setting for an account.
- *
- * @param account The account.
- * @param ui      The UI name.
- * @param name    The name of the setting.
- * @param value   The setting's value.
- */
-void purple_account_set_ui_int(PurpleAccount *account, const char *ui,
-							 const char *name, int value);
-
-/**
- * Sets a UI-specific string setting for an account.
- *
- * @param account The account.
- * @param ui      The UI name.
- * @param name    The name of the setting.
- * @param value   The setting's value.
- */
-void purple_account_set_ui_string(PurpleAccount *account, const char *ui,
-								const char *name, const char *value);
-
-/**
- * Sets a UI-specific boolean setting for an account.
- *
- * @param account The account.
- * @param ui      The UI name.
- * @param name    The name of the setting.
- * @param value   The setting's value.
- */
-void purple_account_set_ui_bool(PurpleAccount *account, const char *ui,
-							  const char *name, gboolean value);
-
-/**
- * Returns whether or not the account is connected.
- *
- * @param account The account.
- *
- * @return @c TRUE if connected, or @c FALSE otherwise.
- */
-gboolean purple_account_is_connected(const PurpleAccount *account);
-
-/**
- * Returns whether or not the account is connecting.
- *
- * @param account The account.
- *
- * @return @c TRUE if connecting, or @c FALSE otherwise.
- */
-gboolean purple_account_is_connecting(const PurpleAccount *account);
-
-/**
- * Returns whether or not the account is disconnected.
- *
- * @param account The account.
- *
- * @return @c TRUE if disconnected, or @c FALSE otherwise.
- */
-gboolean purple_account_is_disconnected(const PurpleAccount *account);
-
-/**
- * Returns the account's username.
- *
- * @param account The account.
- *
- * @return The username.
- */
-const char *purple_account_get_username(const PurpleAccount *account);
-
-/**
- * Returns the account's password.
- *
- * @param account The account.
- *
- * @return The password.
- */
-const char *purple_account_get_password(const PurpleAccount *account);
-
-/**
- * Returns the account's alias.
- *
- * @param account The account.
- *
- * @return The alias.
- */
-const char *purple_account_get_alias(const PurpleAccount *account);
-
-/**
- * Returns the account's user information.
- *
- * @param account The account.
- *
- * @return The user information.
- */
-const char *purple_account_get_user_info(const PurpleAccount *account);
-
-/**
- * Gets the account's buddy icon path.
- *
- * @param account The account.
- *
- * @return The buddy icon's non-cached path.
- */
-const char *purple_account_get_buddy_icon_path(const PurpleAccount *account);
-
-/**
- * Returns the account's protocol ID.
- *
- * @param account The account.
- *
- * @return The protocol ID.
- */
-const char *purple_account_get_protocol_id(const PurpleAccount *account);
-
-/**
- * Returns the account's protocol name.
- *
- * @param account The account.
- *
- * @return The protocol name.
- */
-const char *purple_account_get_protocol_name(const PurpleAccount *account);
-
-/**
- * Returns the account's connection.
- *
- * @param account The account.
- *
- * @return The connection.
- */
-PurpleConnection *purple_account_get_connection(const PurpleAccount *account);
-
-/**
- * Returns whether or not this account should save its password.
- *
- * @param account The account.
- *
- * @return @c TRUE if it should remember the password.
- */
-gboolean purple_account_get_remember_password(const PurpleAccount *account);
-
-/**
- * Returns whether or not this account should check for mail.
- *
- * @param account The account.
- *
- * @return @c TRUE if it should check for mail.
- */
-gboolean purple_account_get_check_mail(const PurpleAccount *account);
-
-/**
- * Returns whether or not this account is enabled for the
- * specified UI.
- *
- * @param account The account.
- * @param ui      The UI.
- *
- * @return @c TRUE if it enabled on this UI.
- */
-gboolean purple_account_get_enabled(const PurpleAccount *account,
-				  const char *ui);
-
-/**
- * Returns the account's proxy information.
- *
- * @param account The account.
- *
- * @return The proxy information.
- */
-PurpleProxyInfo *purple_account_get_proxy_info(const PurpleAccount *account);
-
-/**
- * Returns the active status for this account.  This looks through
- * the PurplePresence associated with this account and returns the
- * PurpleStatus that has its active flag set to "TRUE."  There can be
- * only one active PurpleStatus in a PurplePresence.
- *
- * @param account   The account.
- *
- * @return The active status.
- */
-PurpleStatus *purple_account_get_active_status(const PurpleAccount *account);
-
-/**
- * Returns the account status with the specified ID.
- *
- * Note that this works differently than purple_buddy_get_status() in that
- * it will only return NULL if the status was not registered.
- *
- * @param account   The account.
- * @param status_id The status ID.
- *
- * @return The status, or NULL if it was never registered.
- */
-PurpleStatus *purple_account_get_status(const PurpleAccount *account,
-									const char *status_id);
-
-/**
- * Returns the account status type with the specified ID.
- *
- * @param account The account.
- * @param id      The ID of the status type to find.
- *
- * @return The status type if found, or NULL.
- */
-PurpleStatusType *purple_account_get_status_type(const PurpleAccount *account,
-											 const char *id);
-
-/**
- * Returns the account status type with the specified primitive.
- * Note: It is possible for an account to have more than one
- * PurpleStatusType with the same primitive.  In this case, the
- * first PurpleStatusType is returned.
- *
- * @param account   The account.
- * @param primitive The type of the status type to find.
- *
- * @return The status if found, or NULL.
- */
-PurpleStatusType *purple_account_get_status_type_with_primitive(
-							const PurpleAccount *account,
-							PurpleStatusPrimitive primitive);
-
-/**
- * Returns the account's presence.
- *
- * @param account The account.
- *
- * @return The account's presence.
- */
-PurplePresence *purple_account_get_presence(const PurpleAccount *account);
-
-/**
- * Returns whether or not an account status is active.
- *
- * @param account   The account.
- * @param status_id The status ID.
- *
- * @return TRUE if active, or FALSE if not.
- */
-gboolean purple_account_is_status_active(const PurpleAccount *account,
-									   const char *status_id);
-
-/**
- * Returns the account's status types.
- *
- * @param account The account.
- *
- * @constreturn The account's status types.
- */
-GList *purple_account_get_status_types(const PurpleAccount *account);
-
-/**
- * Returns a protocol-specific integer setting for an account.
- *
- * @param account       The account.
- * @param name          The name of the setting.
- * @param default_value The default value.
- *
- * @return The value.
- */
-int purple_account_get_int(const PurpleAccount *account, const char *name,
-						 int default_value);
-
-/**
- * Returns a protocol-specific string setting for an account.
- *
- * @param account       The account.
- * @param name          The name of the setting.
- * @param default_value The default value.
- *
- * @return The value.
- */
-const char *purple_account_get_string(const PurpleAccount *account,
-									const char *name,
-									const char *default_value);
-
-/**
- * Returns a protocol-specific boolean setting for an account.
- *
- * @param account       The account.
- * @param name          The name of the setting.
- * @param default_value The default value.
- *
- * @return The value.
- */
-gboolean purple_account_get_bool(const PurpleAccount *account, const char *name,
-							   gboolean default_value);
-
-/**
- * Returns a UI-specific integer setting for an account.
- *
- * @param account       The account.
- * @param ui            The UI name.
- * @param name          The name of the setting.
- * @param default_value The default value.
- *
- * @return The value.
- */
-int purple_account_get_ui_int(const PurpleAccount *account, const char *ui,
-							const char *name, int default_value);
-
-/**
- * Returns a UI-specific string setting for an account.
- *
- * @param account       The account.
- * @param ui            The UI name.
- * @param name          The name of the setting.
- * @param default_value The default value.
- *
- * @return The value.
- */
-const char *purple_account_get_ui_string(const PurpleAccount *account,
-									   const char *ui, const char *name,
-									   const char *default_value);
-
-/**
- * Returns a UI-specific boolean setting for an account.
- *
- * @param account       The account.
- * @param ui            The UI name.
- * @param name          The name of the setting.
- * @param default_value The default value.
- *
- * @return The value.
- */
-gboolean purple_account_get_ui_bool(const PurpleAccount *account, const char *ui,
-								  const char *name, gboolean default_value);
-
-
-/**
- * Returns the system log for an account.
- *
- * @param account The account.
- * @param create  Should it be created if it doesn't exist?
- *
- * @return The log.
- *
- * @note Callers should almost always pass @c FALSE for @a create.
- *       Passing @c TRUE could result in an existing log being reopened,
- *       if the log has already been closed, which not all loggers deal
- *       with appropriately.
- */
-PurpleLog *purple_account_get_log(PurpleAccount *account, gboolean create);
-
-/**
- * Frees the system log of an account
- *
- * @param account The account.
- */
-void purple_account_destroy_log(PurpleAccount *account);
-
-/**
- * Adds a buddy to the server-side buddy list for the specified account.
- *
- * @param account The account.
- * @param buddy The buddy to add.
- */
-void purple_account_add_buddy(PurpleAccount *account, PurpleBuddy *buddy);
-/**
- * Adds a list of buddies to the server-side buddy list.
- *
- * @param account The account.
- * @param buddies The list of PurpleBlistNodes representing the buddies to add.
- */
-void purple_account_add_buddies(PurpleAccount *account, GList *buddies);
-
-/**
- * Removes a buddy from the server-side buddy list.
- *
- * @param account The account.
- * @param buddy The buddy to remove.
- * @param group The group to remove the buddy from.
- */
-void purple_account_remove_buddy(PurpleAccount *account, PurpleBuddy *buddy,
-								PurpleGroup *group);
-
-/**
- * Removes a list of buddies from the server-side buddy list.
- *
- * @note The lists buddies and groups are parallel lists.  Be sure that node n of
- *       groups matches node n of buddies.
- *
- * @param account The account.
- * @param buddies The list of buddies to remove.
- * @param groups The list of groups to remove buddies from.  Each node of this
- *               list should match the corresponding node of buddies.
- */
-void purple_account_remove_buddies(PurpleAccount *account, GList *buddies,
-									GList *groups);
-
-/**
- * Removes a group from the server-side buddy list.
- *
- * @param account The account.
- * @param group The group to remove.
- */
-void purple_account_remove_group(PurpleAccount *account, PurpleGroup *group);
-
-/**
- * Changes the password on the specified account.
- *
- * @param account The account.
- * @param orig_pw The old password.
- * @param new_pw The new password.
- */
-void purple_account_change_password(PurpleAccount *account, const char *orig_pw,
-									const char *new_pw);
-
-/**
- * Whether the account supports sending offline messages to buddy.
- *
- * @param account The account
- * @param buddy   The buddy
- */
-gboolean purple_account_supports_offline_message(PurpleAccount *account, PurpleBuddy *buddy);
-
-/**
- * Get the error that caused the account to be disconnected, or @c NULL if the
- * account is happily connected or disconnected without an error.
- *
- * @param account The account whose error should be retrieved.
- * @constreturn   The type of error and a human-readable description of the
- *                current error, or @c NULL if there is no current error.  This
- *                pointer is guaranteed to remain valid until the @ref
- *                account-error-changed signal is emitted for @a account.
- */
-const PurpleConnectionErrorInfo *purple_account_get_current_error(PurpleAccount *account);
-
-/**
- * Clear an account's current error state, resetting it to @c NULL.
- *
- * @param account The account whose error state should be cleared.
- */
-void purple_account_clear_current_error(PurpleAccount *account);
-
-/*@}*/
-
-/**************************************************************************/
-/** @name Accounts API                                                    */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Adds an account to the list of accounts.
- *
- * @param account The account.
- */
-void purple_accounts_add(PurpleAccount *account);
-
-/**
- * Removes an account from the list of accounts.
- *
- * @param account The account.
- */
-void purple_accounts_remove(PurpleAccount *account);
-
-/**
- * Deletes an account.
- *
- * This will remove any buddies from the buddy list that belong to this
- * account, buddy pounces that belong to this account, and will also
- * destroy @a account.
- *
- * @param account The account.
- */
-void purple_accounts_delete(PurpleAccount *account);
-
-/**
- * Reorders an account.
- *
- * @param account   The account to reorder.
- * @param new_index The new index for the account.
- */
-void purple_accounts_reorder(PurpleAccount *account, gint new_index);
-
-/**
- * Returns a list of all accounts.
- *
- * @constreturn A list of all accounts.
- */
-GList *purple_accounts_get_all(void);
-
-/**
- * Returns a list of all enabled accounts
- *
- * @return A list of all enabled accounts. The list is owned
- *         by the caller, and must be g_list_free()d to avoid
- *         leaking the nodes.
- */
-GList *purple_accounts_get_all_active(void);
-
-/**
- * Finds an account with the specified name and protocol id.
- *
- * @param name     The account username.
- * @param protocol The account protocol ID.
- *
- * @return The account, if found, or @c FALSE otherwise.
- */
-PurpleAccount *purple_accounts_find(const char *name, const char *protocol);
-
-/**
- * This is called by the core after all subsystems and what
- * not have been initialized.  It sets all enabled accounts
- * to their startup status by signing them on, setting them
- * away, etc.
- *
- * You probably shouldn't call this unless you really know
- * what you're doing.
- */
-void purple_accounts_restore_current_statuses(void);
-
-/*@}*/
-
-
-/**************************************************************************/
-/** @name UI Registration Functions                                       */
-/**************************************************************************/
-/*@{*/
-/**
- * Sets the UI operations structure to be used for accounts.
- *
- * @param ops The UI operations structure.
- */
-void purple_accounts_set_ui_ops(PurpleAccountUiOps *ops);
-
-/**
- * Returns the UI operations structure used for accounts.
- *
- * @return The UI operations structure in use.
- */
-PurpleAccountUiOps *purple_accounts_get_ui_ops(void);
-
-/*@}*/
-
-
-/**************************************************************************/
-/** @name Accounts Subsystem                                              */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Returns the accounts subsystem handle.
- *
- * @return The accounts subsystem handle.
- */
-void *purple_accounts_get_handle(void);
-
-/**
- * Initializes the accounts subsystem.
- */
-void purple_accounts_init(void);
-
-/**
- * Uninitializes the accounts subsystem.
- */
-void purple_accounts_uninit(void);
-
-/*@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_ACCOUNT_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/accountopt.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,395 +0,0 @@
-/**
- * @file accountopt.h Account Options API
- * @ingroup core
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_ACCOUNTOPT_H_
-#define _PURPLE_ACCOUNTOPT_H_
-
-#include "prefs.h"
-
-/**
- * An option for an account.
- *
- * This is set by protocol plugins, and appears in the account settings
- * dialogs.
- */
-typedef struct
-{
-	PurplePrefType type;      /**< The type of value.                     */
-
-	char *text;             /**< The text that will appear to the user. */
-	char *pref_name;        /**< The name of the associated preference. */
-
-	union
-	{
-		gboolean boolean;   /**< The default boolean value.             */
-		int integer;        /**< The default integer value.             */
-		char *string;       /**< The default string value.              */
-		GList *list;        /**< The default list value.                */
-
-	} default_value;
-
-	gboolean masked;        /**< Whether the value entered should be
-	                         *   obscured from view (for passwords and
-	                         *   similar options)
-	                         */
-} PurpleAccountOption;
-
-/**
- * A username split.
- *
- * This is used by some protocols to separate the fields of the username
- * into more human-readable components.
- */
-typedef struct
-{
-	char *text;             /**< The text that will appear to the user. */
-	char *default_value;    /**< The default value.                     */
-	char  field_sep;        /**< The field separator.                   */
-	gboolean reverse;       /**< TRUE if the separator should be found
-							  starting a the end of the string, FALSE
-							  otherwise                                 */
-
-} PurpleAccountUserSplit;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**************************************************************************/
-/** @name Account Option API                                              */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Creates a new account option.  If you know what @a type will be in advance,
- * consider using purple_account_option_bool_new(),
- * purple_account_option_int_new(), purple_account_option_string_new() or
- * purple_account_option_list_new() (as appropriate) instead.
- *
- * @param type      The type of option.
- * @param text      The text of the option.
- * @param pref_name The account preference name for the option.
- *
- * @return The account option.
- */
-PurpleAccountOption *purple_account_option_new(PurplePrefType type,
-	const char *text, const char *pref_name);
-
-/**
- * Creates a new boolean account option.
- *
- * @param text          The text of the option.
- * @param pref_name     The account preference name for the option.
- * @param default_value The default value.
- *
- * @return The account option.
- */
-PurpleAccountOption *purple_account_option_bool_new(const char *text,
-	const char *pref_name, gboolean default_value);
-
-/**
- * Creates a new integer account option.
- *
- * @param text          The text of the option.
- * @param pref_name     The account preference name for the option.
- * @param default_value The default value.
- *
- * @return The account option.
- */
-PurpleAccountOption *purple_account_option_int_new(const char *text,
-	const char *pref_name, int default_value);
-
-/**
- * Creates a new string account option.
- *
- * @param text          The text of the option.
- * @param pref_name     The account preference name for the option.
- * @param default_value The default value.
- *
- * @return The account option.
- */
-PurpleAccountOption *purple_account_option_string_new(const char *text,
-	const char *pref_name, const char *default_value);
-
-/**
- * Creates a new list account option.
- *
- * The list passed will be owned by the account option, and the
- * strings inside will be freed automatically.
- *
- * The list is a list of #PurpleKeyValuePair items. The key is the label that
- * should be displayed to the user, and the <tt>(const char *)</tt> value is
- * the internal ID that should be passed to purple_account_set_string() to
- * choose that value.
- *
- * @param text      The text of the option.
- * @param pref_name The account preference name for the option.
- * @param list      The key, value list.
- *
- * @return The account option.
- */
-PurpleAccountOption *purple_account_option_list_new(const char *text,
-	const char *pref_name, GList *list);
-
-/**
- * Destroys an account option.
- *
- * @param option The option to destroy.
- */
-void purple_account_option_destroy(PurpleAccountOption *option);
-
-/**
- * Sets the default boolean value for an account option.
- *
- * @param option The account option.
- * @param value  The default boolean value.
- */
-void purple_account_option_set_default_bool(PurpleAccountOption *option,
-										  gboolean value);
-
-/**
- * Sets the default integer value for an account option.
- *
- * @param option The account option.
- * @param value  The default integer value.
- */
-void purple_account_option_set_default_int(PurpleAccountOption *option,
-										 int value);
-
-/**
- * Sets the default string value for an account option.
- *
- * @param option The account option.
- * @param value  The default string value.
- */
-void purple_account_option_set_default_string(PurpleAccountOption *option,
-											const char *value);
-
-/**
- * Sets the masking for an account option. Setting this to %TRUE acts
- * as a hint to the UI that the option's value should be obscured from
- * view, like a password.
- *
- * @param option The account option.
- * @param masked The masking.
- */
-void
-purple_account_option_set_masked(PurpleAccountOption *option, gboolean masked);
-
-/**
- * Sets the list values for an account option.
- *
- * The list passed will be owned by the account option, and the
- * strings inside will be freed automatically.
- *
- * The list is in key, value pairs. The key is the ID stored and used
- * internally, and the value is the label displayed.
- *
- * @param option The account option.
- * @param values The default list value.
- */
-void purple_account_option_set_list(PurpleAccountOption *option, GList *values);
-
-/**
- * Adds an item to a list account option.
- *
- * @param option The account option.
- * @param key    The key.
- * @param value  The value.
- */
-void purple_account_option_add_list_item(PurpleAccountOption *option,
-									   const char *key, const char *value);
-
-/**
- * Returns the specified account option's type.
- *
- * @param option The account option.
- *
- * @return The account option's type.
- */
-PurplePrefType purple_account_option_get_type(const PurpleAccountOption *option);
-
-/**
- * Returns the text for an account option.
- *
- * @param option The account option.
- *
- * @return The account option's text.
- */
-const char *purple_account_option_get_text(const PurpleAccountOption *option);
-
-/**
- * Returns the name of an account option.  This corresponds to the @c pref_name
- * parameter supplied to purple_account_option_new() or one of the
- * type-specific constructors.
- *
- * @param option The account option.
- *
- * @return The option's name.
- */
-const char *purple_account_option_get_setting(const PurpleAccountOption *option);
-
-/**
- * Returns the default boolean value for an account option.
- *
- * @param option The account option.
- *
- * @return The default boolean value.
- */
-gboolean purple_account_option_get_default_bool(const PurpleAccountOption *option);
-
-/**
- * Returns the default integer value for an account option.
- *
- * @param option The account option.
- *
- * @return The default integer value.
- */
-int purple_account_option_get_default_int(const PurpleAccountOption *option);
-
-/**
- * Returns the default string value for an account option.
- *
- * @param option The account option.
- *
- * @return The default string value.
- */
-const char *purple_account_option_get_default_string(
-	const PurpleAccountOption *option);
-
-/**
- * Returns the default string value for a list account option.
- *
- * @param option The account option.
- *
- * @return The default list string value.
- */
-const char *purple_account_option_get_default_list_value(
-	const PurpleAccountOption *option);
-
-/**
- * Returns whether an option's value should be masked from view, like a
- * password.  If so, the UI might display each character of the option
- * as a '*' (for example).
- *
- * @param option The account option.
- *
- * @return %TRUE if the option's value should be obscured.
- */
-gboolean
-purple_account_option_get_masked(const PurpleAccountOption *option);
-
-/**
- * Returns the list values for an account option.
- *
- * @param option The account option.
- *
- * @constreturn A list of #PurpleKeyValuePair, mapping the human-readable
- *              description of the value to the <tt>(const char *)</tt> that
- *              should be passed to purple_account_set_string() to set the
- *              option.
- */
-GList *purple_account_option_get_list(const PurpleAccountOption *option);
-
-/*@}*/
-
-
-/**************************************************************************/
-/** @name Account User Split API                                          */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Creates a new account username split.
- *
- * @param text          The text of the option.
- * @param default_value The default value.
- * @param sep           The field separator.
- *
- * @return The new user split.
- */
-PurpleAccountUserSplit *purple_account_user_split_new(const char *text,
-												  const char *default_value,
-												  char sep);
-
-/**
- * Destroys an account username split.
- *
- * @param split The split to destroy.
- */
-void purple_account_user_split_destroy(PurpleAccountUserSplit *split);
-
-/**
- * Returns the text for an account username split.
- *
- * @param split The account username split.
- *
- * @return The account username split's text.
- */
-const char *purple_account_user_split_get_text(const PurpleAccountUserSplit *split);
-
-/**
- * Returns the default string value for an account split.
- *
- * @param split The account username split.
- *
- * @return The default string.
- */
-const char *purple_account_user_split_get_default_value(
-		const PurpleAccountUserSplit *split);
-
-/**
- * Returns the field separator for an account split.
- *
- * @param split The account username split.
- *
- * @return The field separator.
- */
-char purple_account_user_split_get_separator(const PurpleAccountUserSplit *split);
-
-/**
- * Returns the 'reverse' value for an account split.
- *
- * @param split The account username split.
- *
- * @return The 'reverse' value.
- */
-gboolean purple_account_user_split_get_reverse(const PurpleAccountUserSplit *split);
-
-/**
- * Sets the 'reverse' value for an account split.
- *
- * @param split   The account username split.
- * @param reverse The 'reverse' value
- */
-void purple_account_user_split_set_reverse(PurpleAccountUserSplit *split, gboolean reverse);
-
-/*@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_ACCOUNTOPT_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/blist.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1045 +0,0 @@
-/**
- * @file blist.h Buddy List API
- * @ingroup core
- * @see @ref blist-signals
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_BLIST_H_
-#define _PURPLE_BLIST_H_
-
-/* I can't believe I let ChipX86 inspire me to write good code. -Sean */
-
-#include <glib.h>
-
-/** @copydoc _PurpleBuddyList */
-typedef struct _PurpleBuddyList PurpleBuddyList;
-/** @copydoc _PurpleBlistUiOps */
-typedef struct _PurpleBlistUiOps PurpleBlistUiOps;
-/** @copydoc _PurpleBlistNode */
-typedef struct _PurpleBlistNode PurpleBlistNode;
-
-/** @copydoc _PurpleChat */
-typedef struct _PurpleChat PurpleChat;
-/** @copydoc _PurpleGroup */
-typedef struct _PurpleGroup PurpleGroup;
-/** @copydoc _PurpleContact */
-typedef struct _PurpleContact PurpleContact;
-/** @copydoc _PurpleBuddy */
-typedef struct _PurpleBuddy PurpleBuddy;
-
-/**************************************************************************/
-/* Enumerations                                                           */
-/**************************************************************************/
-typedef enum
-{
-	PURPLE_BLIST_GROUP_NODE,
-	PURPLE_BLIST_CONTACT_NODE,
-	PURPLE_BLIST_BUDDY_NODE,
-	PURPLE_BLIST_CHAT_NODE,
-	PURPLE_BLIST_OTHER_NODE
-
-} PurpleBlistNodeType;
-
-#define PURPLE_BLIST_NODE_IS_CHAT(n)    (purple_blist_node_get_type(n) == PURPLE_BLIST_CHAT_NODE)
-#define PURPLE_BLIST_NODE_IS_BUDDY(n)   (purple_blist_node_get_type(n) == PURPLE_BLIST_BUDDY_NODE)
-#define PURPLE_BLIST_NODE_IS_CONTACT(n) (purple_blist_node_get_type(n) == PURPLE_BLIST_CONTACT_NODE)
-#define PURPLE_BLIST_NODE_IS_GROUP(n)   (purple_blist_node_get_type(n) == PURPLE_BLIST_GROUP_NODE)
-
-#define PURPLE_BUDDY_IS_ONLINE(b) \
-	((b) != NULL && purple_account_is_connected(purple_buddy_get_account(b)) && \
-	 purple_presence_is_online(purple_buddy_get_presence(b)))
-
-typedef enum
-{
-	PURPLE_BLIST_NODE_FLAG_NO_SAVE      = 1 << 0 /**< node should not be saved with the buddy list */
-
-} PurpleBlistNodeFlags;
-
-#define PURPLE_BLIST_NODE_HAS_FLAG(b, f) (purple_blist_node_get_flags((PurpleBlistNode*)(b)) & (f))
-#define PURPLE_BLIST_NODE_SHOULD_SAVE(b) (! PURPLE_BLIST_NODE_HAS_FLAG(b, PURPLE_BLIST_NODE_FLAG_NO_SAVE))
-
-#define PURPLE_BLIST_NODE_NAME(n) (purple_blist_node_get_type(n) == PURPLE_BLIST_CHAT_NODE  ? purple_chat_get_name((PurpleChat*)n) :        \
-				     purple_blist_node_get_type(n) == PURPLE_BLIST_BUDDY_NODE ? purple_buddy_get_name((PurpleBuddy*)n) : NULL)
-
-#include "account.h"
-#include "buddyicon.h"
-#include "status.h"
-
-/**************************************************************************/
-/* Data Structures                                                        */
-/**************************************************************************/
-
-#if !(defined PURPLE_HIDE_STRUCTS) || (defined _PURPLE_BLIST_C_)
-
-/**
- * A Buddy list node.  This can represent a group, a buddy, or anything else.
- * This is a base class for struct buddy and struct group and for anything
- * else that wants to put itself in the buddy list. */
-struct _PurpleBlistNode {
-	PurpleBlistNodeType type;             /**< The type of node this is       */
-	PurpleBlistNode *prev;                /**< The sibling before this buddy. */
-	PurpleBlistNode *next;                /**< The sibling after this buddy.  */
-	PurpleBlistNode *parent;              /**< The parent of this node        */
-	PurpleBlistNode *child;               /**< The child of this node         */
-	GHashTable *settings;               /**< per-node settings              */
-	void          *ui_data;             /**< The UI can put data here.      */
-	PurpleBlistNodeFlags flags;           /**< The buddy flags                */
-};
-
-/**
- * A buddy.  This contains everything Purple will ever need to know about someone on the buddy list.  Everything.
- */
-struct _PurpleBuddy {
-	PurpleBlistNode node;                     /**< The node that this buddy inherits from */
-	char *name;                             /**< The screenname of the buddy. */
-	char *alias;                            /**< The user-set alias of the buddy */
-	char *server_alias;                     /**< The server-specified alias of the buddy.  (i.e. MSN "Friendly Names") */
-	void *proto_data;                       /**< This allows the prpl to associate whatever data it wants with a buddy */
-	PurpleBuddyIcon *icon;                    /**< The buddy icon. */
-	PurpleAccount *account;					/**< the account this buddy belongs to */
-	PurplePresence *presence;
-};
-
-/**
- * A contact.  This contains everything Purple will ever need to know about a contact.
- */
-struct _PurpleContact {
-	PurpleBlistNode node;		/**< The node that this contact inherits from. */
-	char *alias;            /**< The user-set alias of the contact */
-	int totalsize;		    /**< The number of buddies in this contact */
-	int currentsize;	    /**< The number of buddies in this contact corresponding to online accounts */
-	int online;			    /**< The number of buddies in this contact who are currently online */
-	PurpleBuddy *priority;    /**< The "top" buddy for this contact */
-	gboolean priority_valid; /**< Is priority valid? */
-};
-
-
-/**
- * A group.  This contains everything Purple will ever need to know about a group.
- */
-struct _PurpleGroup {
-	PurpleBlistNode node;                    /**< The node that this group inherits from */
-	char *name;                            /**< The name of this group. */
-	int totalsize;			       /**< The number of chats and contacts in this group */
-	int currentsize;		       /**< The number of chats and contacts in this group corresponding to online accounts */
-	int online;			       /**< The number of chats and contacts in this group who are currently online */
-};
-
-/**
- * A chat.  This contains everything Purple needs to put a chat room in the
- * buddy list.
- */
-struct _PurpleChat {
-	PurpleBlistNode node;      /**< The node that this chat inherits from */
-	char *alias;             /**< The display name of this chat. */
-	GHashTable *components;  /**< the stuff the protocol needs to know to join the chat */
-	PurpleAccount *account; /**< The account this chat is attached to */
-};
-
-#endif /* PURPLE_HIDE_STRUCTS && PURPLE_BLIST_STRUCTS */
-
-
-/**
- * The Buddy List
- */
-struct _PurpleBuddyList {
-	PurpleBlistNode *root;          /**< The first node in the buddy list */
-	GHashTable *buddies;          /**< Every buddy in this list */
-	void *ui_data;                /**< UI-specific data. */
-};
-
-/**
- * Buddy list UI operations.
- *
- * Any UI representing a buddy list must assign a filled-out PurpleBlistUiOps
- * structure to the buddy list core.
- */
-struct _PurpleBlistUiOps
-{
-	void (*new_list)(PurpleBuddyList *list); /**< Sets UI-specific data on a buddy list. */
-	void (*new_node)(PurpleBlistNode *node); /**< Sets UI-specific data on a node. */
-	void (*show)(PurpleBuddyList *list);     /**< The core will call this when it's finished doing its core stuff */
-	void (*update)(PurpleBuddyList *list,
-		       PurpleBlistNode *node);       /**< This will update a node in the buddy list. */
-	void (*remove)(PurpleBuddyList *list,
-		       PurpleBlistNode *node);       /**< This removes a node from the list */
-	void (*destroy)(PurpleBuddyList *list);  /**< When the list gets destroyed, this gets called to destroy the UI. */
-	void (*set_visible)(PurpleBuddyList *list,
-			    gboolean show);            /**< Hides or unhides the buddy list */
-	void (*request_add_buddy)(PurpleAccount *account, const char *username,
-							  const char *group, const char *alias);
-	void (*request_add_chat)(PurpleAccount *account, PurpleGroup *group,
-							 const char *alias, const char *name);
-	void (*request_add_group)(void);
-
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**************************************************************************/
-/** @name Buddy List API                                                  */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Creates a new buddy list
- *
- * @return The new buddy list.
- */
-PurpleBuddyList *purple_blist_new(void);
-
-/**
- * Sets the main buddy list.
- *
- * @param blist The buddy list you want to use.
- */
-void purple_set_blist(PurpleBuddyList *blist);
-
-/**
- * Returns the main buddy list.
- *
- * @return The main buddy list.
- */
-PurpleBuddyList *purple_get_blist(void);
-
-/**
- * Returns the root node of the main buddy list.
- *
- * @return The root node.
- */
-PurpleBlistNode *purple_blist_get_root(void);
-
-/**
- * Returns the next node of a given node. This function is to be used to iterate
- * over the tree returned by purple_get_blist.
- *
- * @param node		A node.
- * @param offline	Whether to include nodes for offline accounts
- * @return	The next node
- * @see purple_blist_node_get_parent
- * @see purple_blist_node_get_first_child
- * @see purple_blist_node_get_sibling_next
- * @see purple_blist_node_get_sibling_prev
- */
-PurpleBlistNode *purple_blist_node_next(PurpleBlistNode *node, gboolean offline);
-
-/**
- * Returns the parent node of a given node.
- *
- * @param node A node.
- * @return  The parent node.
- * @since 2.4.0
- * @see purple_blist_node_get_first_child
- * @see purple_blist_node_get_sibling_next
- * @see purple_blist_node_get_sibling_prev
- * @see purple_blist_node_next
- */
-PurpleBlistNode *purple_blist_node_get_parent(PurpleBlistNode *node);
-
-/**
- * Returns the the first child node of a given node.
- *
- * @param node A node.
- * @return  The child node.
- * @since 2.4.0
- * @see purple_blist_node_get_parent
- * @see purple_blist_node_get_sibling_next
- * @see purple_blist_node_get_sibling_prev
- * @see purple_blist_node_next
- */
-PurpleBlistNode *purple_blist_node_get_first_child(PurpleBlistNode *node);
-
-/**
- * Returns the sibling node of a given node.
- *
- * @param node A node.
- * @return  The sibling node.
- * @since 2.4.0
- * @see purple_blist_node_get_parent
- * @see purple_blist_node_get_first_child
- * @see purple_blist_node_get_sibling_prev
- * @see purple_blist_node_next
- */
-PurpleBlistNode *purple_blist_node_get_sibling_next(PurpleBlistNode *node);
-
-/**
- * Returns the previous sibling node of a given node.
- *
- * @param node A node.
- * @return  The sibling node.
- * @since 2.4.0
- * @see purple_blist_node_get_parent
- * @see purple_blist_node_get_first_child
- * @see purple_blist_node_get_sibling_next
- * @see purple_blist_node_next
- */
-PurpleBlistNode *purple_blist_node_get_sibling_prev(PurpleBlistNode *node);
-
-/**
- * Shows the buddy list, creating a new one if necessary.
- */
-void purple_blist_show(void);
-
-
-/**
- * Destroys the buddy list window.
- */
-void purple_blist_destroy(void);
-
-/**
- * Hides or unhides the buddy list.
- *
- * @param show   Whether or not to show the buddy list
- */
-void purple_blist_set_visible(gboolean show);
-
-/**
- * Updates a buddy's status.
- *
- * @param buddy      The buddy whose status has changed.
- * @param old_status The status from which we are changing.
- */
-void purple_blist_update_buddy_status(PurpleBuddy *buddy, PurpleStatus *old_status);
-
-/**
- * Updates a node's custom icon.
- *
- * @param node  The PurpleBlistNode whose custom icon has changed.
- * @since 2.5.0
- */
-void purple_blist_update_node_icon(PurpleBlistNode *node);
-
-#if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_BLIST_C_)
-/**
- * Updates a buddy's icon.
- *
- * @param buddy  The buddy whose buddy icon has changed
- * @deprecated Use purple_blist_update_node_icon() instead.
- */
-void purple_blist_update_buddy_icon(PurpleBuddy *buddy);
-#endif
-
-/**
- * Renames a buddy in the buddy list.
- *
- * @param buddy  The buddy whose name will be changed.
- * @param name   The new name of the buddy.
- */
-void purple_blist_rename_buddy(PurpleBuddy *buddy, const char *name);
-
-/**
- * Aliases a contact in the buddy list.
- *
- * @param contact The contact whose alias will be changed.
- * @param alias   The contact's alias.
- */
-void purple_blist_alias_contact(PurpleContact *contact, const char *alias);
-
-/**
- * Aliases a buddy in the buddy list.
- *
- * @param buddy  The buddy whose alias will be changed.
- * @param alias  The buddy's alias.
- */
-void purple_blist_alias_buddy(PurpleBuddy *buddy, const char *alias);
-
-/**
- * Sets the server-sent alias of a buddy in the buddy list.
- * PRPLs should call serv_got_alias() instead of this.
- *
- * @param buddy  The buddy whose alias will be changed.
- * @param alias  The buddy's "official" alias.
- */
-void purple_blist_server_alias_buddy(PurpleBuddy *buddy, const char *alias);
-
-/**
- * Aliases a chat in the buddy list.
- *
- * @param chat  The chat whose alias will be changed.
- * @param alias The chat's new alias.
- */
-void purple_blist_alias_chat(PurpleChat *chat, const char *alias);
-
-/**
- * Renames a group
- *
- * @param group  The group to rename
- * @param name   The new name
- */
-void purple_blist_rename_group(PurpleGroup *group, const char *name);
-
-/**
- * Creates a new chat for the buddy list
- *
- * @param account    The account this chat will get added to
- * @param alias      The alias of the new chat
- * @param components The info the prpl needs to join the chat.  The
- *                   hash function should be g_str_hash() and the
- *                   equal function should be g_str_equal().
- * @return           A newly allocated chat
- */
-PurpleChat *purple_chat_new(PurpleAccount *account, const char *alias, GHashTable *components);
-
-/**
- * Adds a new chat to the buddy list.
- *
- * The chat will be inserted right after node or appended to the end
- * of group if node is NULL.  If both are NULL, the buddy will be added to
- * the "Chats" group.
- *
- * @param chat  The new chat who gets added
- * @param group  The group to add the new chat to.
- * @param node   The insertion point
- */
-void purple_blist_add_chat(PurpleChat *chat, PurpleGroup *group, PurpleBlistNode *node);
-
-/**
- * Creates a new buddy
- *
- * @param account    The account this buddy will get added to
- * @param screenname The screenname of the new buddy
- * @param alias      The alias of the new buddy (or NULL if unaliased)
- * @return           A newly allocated buddy
- */
-PurpleBuddy *purple_buddy_new(PurpleAccount *account, const char *screenname, const char *alias);
-
-/**
- * Sets a buddy's icon.
- *
- * This should only be called from within Purple. You probably want to
- * call purple_buddy_icon_set_data().
- *
- * @param buddy The buddy.
- * @param icon  The buddy icon.
- *
- * @see purple_buddy_icon_set_data()
- */
-void purple_buddy_set_icon(PurpleBuddy *buddy, PurpleBuddyIcon *icon);
-
-/**
- * Returns a buddy's account.
- *
- * @param buddy The buddy.
- *
- * @return The account
- */
-PurpleAccount *purple_buddy_get_account(const PurpleBuddy *buddy);
-
-/**
- * Returns a buddy's name
- *
- * @param buddy The buddy.
- *
- * @return The name.
- */
-const char *purple_buddy_get_name(const PurpleBuddy *buddy);
-
-/**
- * Returns a buddy's icon.
- *
- * @param buddy The buddy.
- *
- * @return The buddy icon.
- */
-PurpleBuddyIcon *purple_buddy_get_icon(const PurpleBuddy *buddy);
-
-/**
- * Returns a buddy's contact.
- *
- * @param buddy The buddy.
- *
- * @return The buddy's contact.
- */
-PurpleContact *purple_buddy_get_contact(PurpleBuddy *buddy);
-
-/**
- * Returns a buddy's presence.
- *
- * @param buddy The buddy.
- *
- * @return The buddy's presence.
- */
-PurplePresence *purple_buddy_get_presence(const PurpleBuddy *buddy);
-
-/**
- * Adds a new buddy to the buddy list.
- *
- * The buddy will be inserted right after node or prepended to the
- * group if node is NULL.  If both are NULL, the buddy will be added to
- * the "Buddies" group.
- *
- * @param buddy   The new buddy who gets added
- * @param contact The optional contact to place the buddy in.
- * @param group   The group to add the new buddy to.
- * @param node    The insertion point.  Pass in NULL to add the node as
- *                the last child in the given group.
- */
-void purple_blist_add_buddy(PurpleBuddy *buddy, PurpleContact *contact, PurpleGroup *group, PurpleBlistNode *node);
-
-/**
- * Creates a new group
- *
- * You can't have more than one group with the same name.  Sorry.  If you pass
- * this the * name of a group that already exists, it will return that group.
- *
- * @param name   The name of the new group
- * @return       A new group struct
-*/
-PurpleGroup *purple_group_new(const char *name);
-
-/**
- * Adds a new group to the buddy list.
- *
- * The new group will be inserted after insert or prepended to the list if
- * node is NULL.
- *
- * @param group  The group
- * @param node   The insertion point
- */
-void purple_blist_add_group(PurpleGroup *group, PurpleBlistNode *node);
-
-/**
- * Creates a new contact
- *
- * @return       A new contact struct
- */
-PurpleContact *purple_contact_new(void);
-
-/**
- * Adds a new contact to the buddy list.
- *
- * The new contact will be inserted after insert or prepended to the list if
- * node is NULL.
- *
- * @param contact The contact
- * @param group   The group to add the contact to
- * @param node    The insertion point
- */
-void purple_blist_add_contact(PurpleContact *contact, PurpleGroup *group, PurpleBlistNode *node);
-
-/**
- * Merges two contacts
- *
- * All of the buddies from source will be moved to target
- *
- * @param source  The contact to merge
- * @param node    The place to merge to (a buddy or contact)
- */
-void purple_blist_merge_contact(PurpleContact *source, PurpleBlistNode *node);
-
-/**
- * Returns the highest priority buddy for a given contact.
- *
- * @param contact  The contact
- * @return The highest priority buddy
- */
-PurpleBuddy *purple_contact_get_priority_buddy(PurpleContact *contact);
-
-#if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_BLIST_C_)
-/**
- * Sets the alias for a contact.
- *
- * @param contact  The contact
- * @param alias    The alias to set, or NULL to unset
- *
- * @deprecated Use purple_blist_alias_contact() instead.
- */
-void purple_contact_set_alias(PurpleContact *contact, const char *alias);
-#endif
-
-/**
- * Gets the alias for a contact.
- *
- * @param contact  The contact
- * @return  The alias, or NULL if it is not set.
- */
-const char *purple_contact_get_alias(PurpleContact *contact);
-
-/**
- * Determines whether an account owns any buddies in a given contact
- *
- * @param contact  The contact to search through.
- * @param account  The account.
- *
- * @return TRUE if there are any buddies from account in the contact, or FALSE otherwise.
- */
-gboolean purple_contact_on_account(PurpleContact *contact, PurpleAccount *account);
-
-/**
- * Invalidates the priority buddy so that the next call to
- * purple_contact_get_priority_buddy recomputes it.
- *
- * @param contact  The contact
- */
-void purple_contact_invalidate_priority_buddy(PurpleContact *contact);
-
-/**
- * Removes a buddy from the buddy list and frees the memory allocated to it.
- * This doesn't actually try to remove the buddy from the server list, nor does
- * it clean up the prpl_data.
- *
- * @param buddy   The buddy to be removed
- */
-void purple_blist_remove_buddy(PurpleBuddy *buddy);
-
-/**
- * Removes a contact, and any buddies it contains, and frees the memory
- * allocated to it.
- *
- * @param contact The contact to be removed
- */
-void purple_blist_remove_contact(PurpleContact *contact);
-
-/**
- * Removes a chat from the buddy list and frees the memory allocated to it.
- *
- * @param chat   The chat to be removed
- */
-void purple_blist_remove_chat(PurpleChat *chat);
-
-/**
- * Removes a group from the buddy list and frees the memory allocated to it and to
- * its children
- *
- * @param group   The group to be removed
- */
-void purple_blist_remove_group(PurpleGroup *group);
-
-/**
- * Returns the alias of a buddy.
- *
- * @param buddy   The buddy whose name will be returned.
- * @return        The alias (if set), server alias (if set),
- *                or NULL.
- */
-const char *purple_buddy_get_alias_only(PurpleBuddy *buddy);
-
-/**
- * Gets the server alias for a buddy.
- *
- * @param buddy  The buddy whose name will be returned
- * @return  The server alias, or NULL if it is not set.
- */
-const char *purple_buddy_get_server_alias(PurpleBuddy *buddy);
-
-/**
- * Returns the correct name to display for a buddy, taking the contact alias
- * into account. In order of precedence: the buddy's alias; the buddy's
- * contact alias; the buddy's server alias; the buddy's user name.
- *
- * @param buddy  The buddy whose name will be returned
- * @return       The appropriate name or alias, or NULL.
- *
- */
-const char *purple_buddy_get_contact_alias(PurpleBuddy *buddy);
-
-/**
- * Returns the correct alias for this user, ignoring server aliases.  Used
- * when a user-recognizable name is required.  In order: buddy's alias; buddy's
- * contact alias; buddy's user name.
- * 
- * @param buddy  The buddy whose alias will be returned.
- * @return       The appropriate name or alias.
- */
-const char *purple_buddy_get_local_alias(PurpleBuddy *buddy);
-
-/**
- * Returns the correct name to display for a buddy. In order of precedence:
- * the buddy's alias; the buddy's server alias; the buddy's contact alias;
- * the buddy's user name.
- *
- * @param buddy   The buddy whose name will be returned.
- * @return        The appropriate name or alias, or NULL
- */
-const char *purple_buddy_get_alias(PurpleBuddy *buddy);
-
-/**
- * Returns the correct name to display for a blist chat.
- *
- * @param chat   The chat whose name will be returned.
- * @return       The alias (if set), or first component value.
- */
-const char *purple_chat_get_name(PurpleChat *chat);
-
-/**
- * Finds the buddy struct given a screenname and an account
- *
- * @param account The account this buddy belongs to
- * @param name    The buddy's screenname
- * @return        The buddy or NULL if the buddy does not exist
- */
-PurpleBuddy *purple_find_buddy(PurpleAccount *account, const char *name);
-
-/**
- * Finds the buddy struct given a screenname, an account, and a group
- *
- * @param account The account this buddy belongs to
- * @param name    The buddy's screenname
- * @param group   The group to look in
- * @return        The buddy or NULL if the buddy does not exist in the group
- */
-PurpleBuddy *purple_find_buddy_in_group(PurpleAccount *account, const char *name,
-		PurpleGroup *group);
-
-/**
- * Finds all PurpleBuddy structs given a screenname and an account
- *
- * @param account The account this buddy belongs to
- * @param name    The buddy's screenname (or NULL to return all buddies in the account)
- *
- * @return        A GSList of buddies (which must be freed), or NULL if the buddy doesn't exist
- */
-GSList *purple_find_buddies(PurpleAccount *account, const char *name);
-
-
-/**
- * Finds a group by name
- *
- * @param name    The group's name
- * @return        The group or NULL if the group does not exist
- */
-PurpleGroup *purple_find_group(const char *name);
-
-/**
- * Finds a chat by name.
- *
- * @param account The chat's account.
- * @param name    The chat's name.
- *
- * @return The chat, or @c NULL if the chat does not exist.
- */
-PurpleChat *purple_blist_find_chat(PurpleAccount *account, const char *name);
-
-/**
- * Returns the group of which the chat is a member.
- *
- * @param chat The chat.
- *
- * @return The parent group, or @c NULL if the chat is not in a group.
- */
-PurpleGroup *purple_chat_get_group(PurpleChat *chat);
-
-/**
- * Returns the account the chat belongs to.
- *
- * @param chat  The chat.
- *
- * @return  The account the chat belongs to.
- * @since 2.4.0
- */
-PurpleAccount *purple_chat_get_account(PurpleChat *chat);
-
-/**
- * Get a hashtable containing information about a chat.
- *
- * @param chat  The chat.
- *
- * @constreturn  The hashtable.
- * @since 2.4.0
- */
-GHashTable *purple_chat_get_components(PurpleChat *chat);
-
-/**
- * Returns the group of which the buddy is a member.
- *
- * @param buddy   The buddy
- * @return        The group or NULL if the buddy is not in a group
- */
-PurpleGroup *purple_buddy_get_group(PurpleBuddy *buddy);
-
-
-/**
- * Returns a list of accounts that have buddies in this group
- *
- * @param g The group
- *
- * @return A GSList of accounts (which must be freed), or NULL if the group
- *         has no accounts.
- */
-GSList *purple_group_get_accounts(PurpleGroup *g);
-
-/**
- * Determines whether an account owns any buddies in a given group
- *
- * @param g       The group to search through.
- * @param account The account.
- *
- * @return TRUE if there are any buddies in the group, or FALSE otherwise.
- */
-gboolean purple_group_on_account(PurpleGroup *g, PurpleAccount *account);
-
-/**
- * Returns the name of a group.
- *
- * @param group The group.
- *
- * @return The name of the group.
- */
-const char *purple_group_get_name(PurpleGroup *group);
-
-/**
- * Called when an account gets signed on.  Tells the UI to update all the
- * buddies.
- *
- * @param account   The account
- */
-void purple_blist_add_account(PurpleAccount *account);
-
-
-/**
- * Called when an account gets signed off.  Sets the presence of all the buddies to 0
- * and tells the UI to update them.
- *
- * @param account   The account
- */
-void purple_blist_remove_account(PurpleAccount *account);
-
-
-/**
- * Determines the total size of a group
- *
- * @param group  The group
- * @param offline Count buddies in offline accounts
- * @return The number of buddies in the group
- */
-int purple_blist_get_group_size(PurpleGroup *group, gboolean offline);
-
-/**
- * Determines the number of online buddies in a group
- *
- * @param group The group
- * @return The number of online buddies in the group, or 0 if the group is NULL
- */
-int purple_blist_get_group_online_count(PurpleGroup *group);
-
-/*@}*/
-
-/****************************************************************************************/
-/** @name Buddy list file management API                                                */
-/****************************************************************************************/
-
-/**
- * Loads the buddy list from ~/.purple/blist.xml.
- */
-void purple_blist_load(void);
-
-/**
- * Schedule a save of the blist.xml file.  This is used by the privacy
- * API whenever the privacy settings are changed.  If you make a change
- * to blist.xml using one of the functions in the buddy list API, then
- * the buddy list is saved automatically, so you should not need to
- * call this.
- */
-void purple_blist_schedule_save(void);
-
-/**
- * Requests from the user information needed to add a buddy to the
- * buddy list.
- *
- * @param account  The account the buddy is added to.
- * @param username The username of the buddy.
- * @param group    The name of the group to place the buddy in.
- * @param alias    The optional alias for the buddy.
- */
-void purple_blist_request_add_buddy(PurpleAccount *account, const char *username,
-								  const char *group, const char *alias);
-
-/**
- * Requests from the user information needed to add a chat to the
- * buddy list.
- *
- * @param account The account the buddy is added to.
- * @param group   The optional group to add the chat to.
- * @param alias   The optional alias for the chat.
- * @param name    The required chat name.
- */
-void purple_blist_request_add_chat(PurpleAccount *account, PurpleGroup *group,
-								 const char *alias, const char *name);
-
-/**
- * Requests from the user information needed to add a group to the
- * buddy list.
- */
-void purple_blist_request_add_group(void);
-
-/**
- * Associates a boolean with a node in the buddy list
- *
- * @param node  The node to associate the data with
- * @param key   The identifier for the data
- * @param value The value to set
- */
-void purple_blist_node_set_bool(PurpleBlistNode *node, const char *key, gboolean value);
-
-/**
- * Retrieves a named boolean setting from a node in the buddy list
- *
- * @param node  The node to retrieve the data from
- * @param key   The identifier of the data
- *
- * @return The value, or FALSE if there is no setting
- */
-gboolean purple_blist_node_get_bool(PurpleBlistNode *node, const char *key);
-
-/**
- * Associates an integer with a node in the buddy list
- *
- * @param node  The node to associate the data with
- * @param key   The identifier for the data
- * @param value The value to set
- */
-void purple_blist_node_set_int(PurpleBlistNode *node, const char *key, int value);
-
-/**
- * Retrieves a named integer setting from a node in the buddy list
- *
- * @param node  The node to retrieve the data from
- * @param key   The identifier of the data
- *
- * @return The value, or 0 if there is no setting
- */
-int purple_blist_node_get_int(PurpleBlistNode *node, const char *key);
-
-/**
- * Associates a string with a node in the buddy list
- *
- * @param node  The node to associate the data with
- * @param key   The identifier for the data
- * @param value The value to set
- */
-void purple_blist_node_set_string(PurpleBlistNode *node, const char *key,
-		const char *value);
-
-/**
- * Retrieves a named string setting from a node in the buddy list
- *
- * @param node  The node to retrieve the data from
- * @param key   The identifier of the data
- *
- * @return The value, or NULL if there is no setting
- */
-const char *purple_blist_node_get_string(PurpleBlistNode *node, const char *key);
-
-/**
- * Removes a named setting from a blist node
- *
- * @param node  The node from which to remove the setting
- * @param key   The name of the setting
- */
-void purple_blist_node_remove_setting(PurpleBlistNode *node, const char *key);
-
-/**
- * Set the flags for the given node.  Setting a node's flags will overwrite
- * the old flags, so if you want to save them, you must first call
- * purple_blist_node_get_flags and modify that appropriately.
- *
- * @param node  The node on which to set the flags.
- * @param flags The flags to set.  This is a bitmask.
- */
-void purple_blist_node_set_flags(PurpleBlistNode *node, PurpleBlistNodeFlags flags);
-
-/**
- * Get the current flags on a given node.
- *
- * @param node The node from which to get the flags.
- *
- * @return The flags on the node.  This is a bitmask.
- */
-PurpleBlistNodeFlags purple_blist_node_get_flags(PurpleBlistNode *node);
-
-/**
- * Get the type of a given node.
- *
- * @param node The node.
- *
- * @return The type of the node.
- * @since 2.1.0
- */
-PurpleBlistNodeType purple_blist_node_get_type(PurpleBlistNode *node);
-
-/*@}*/
-
-/**
- * Retrieves the extended menu items for a buddy list node.
- * @param n The blist node for which to obtain the extended menu items.
- * @return  A list of PurpleMenuAction items, as harvested by the
- *          blist-node-extended-menu signal.
- */
-GList *purple_blist_node_get_extended_menu(PurpleBlistNode *n);
-
-/**************************************************************************/
-/** @name UI Registration Functions                                       */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Sets the UI operations structure to be used for the buddy list.
- *
- * @param ops The ops struct.
- */
-void purple_blist_set_ui_ops(PurpleBlistUiOps *ops);
-
-/**
- * Returns the UI operations structure to be used for the buddy list.
- *
- * @return The UI operations structure.
- */
-PurpleBlistUiOps *purple_blist_get_ui_ops(void);
-
-/*@}*/
-
-/**************************************************************************/
-/** @name Buddy List Subsystem                                            */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Returns the handle for the buddy list subsystem.
- *
- * @return The buddy list subsystem handle.
- */
-void *purple_blist_get_handle(void);
-
-/**
- * Initializes the buddy list subsystem.
- */
-void purple_blist_init(void);
-
-/**
- * Uninitializes the buddy list subsystem.
- */
-void purple_blist_uninit(void);
-
-/*@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_BLIST_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/buddy.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/**
- * @file buddy.h Buddy handlers
- *
- * purple
- *
- * Copyright (C) 2003 Nathan Walp <faceprint@faceprint.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_JABBER_BUDDY_H_
-#define _PURPLE_JABBER_BUDDY_H_
-
-typedef enum {
-	JABBER_BUDDY_STATE_UNKNOWN = -2,
-	JABBER_BUDDY_STATE_ERROR = -1,
-	JABBER_BUDDY_STATE_UNAVAILABLE = 0,
-	JABBER_BUDDY_STATE_ONLINE,
-	JABBER_BUDDY_STATE_CHAT,
-	JABBER_BUDDY_STATE_AWAY,
-	JABBER_BUDDY_STATE_XA,
-	JABBER_BUDDY_STATE_DND
-} JabberBuddyState;
-
-#include "jabber.h"
-#include "caps.h"
-
-#define AVATARNAMESPACEDATA "http://www.xmpp.org/extensions/xep-0084.html#ns-data"
-#define AVATARNAMESPACEMETA "http://www.xmpp.org/extensions/xep-0084.html#ns-metadata"
-
-typedef struct _JabberBuddy {
-	GList *resources;
-	char *error_msg;
-	enum {
-		JABBER_INVISIBLE_NONE   = 0,
-		JABBER_INVISIBLE_SERVER = 1 << 1,
-		JABBER_INVIS_BUDDY      = 1 << 2
-	} invisible;
-	enum {
-		JABBER_SUB_NONE    = 0,
-		JABBER_SUB_PENDING = 1 << 1,
-		JABBER_SUB_TO      = 1 << 2,
-		JABBER_SUB_FROM    = 1 << 3,
-		JABBER_SUB_BOTH    = (JABBER_SUB_TO | JABBER_SUB_FROM),
-		JABBER_SUB_REMOVE  = 1 << 4
-	} subscription;
-} JabberBuddy;
-
-typedef struct _JabberAdHocCommands {
-	char *jid;
-	char *node;
-	char *name;
-} JabberAdHocCommands;
-
-typedef struct _JabberBuddyResource {
-	JabberBuddy *jb;
-	char *name;
-	int priority;
-	JabberBuddyState state;
-	char *status;
-	JabberCapabilities capabilities;
-	char *thread_id;
-	enum {
-		JABBER_CHAT_STATES_UNKNOWN,
-		JABBER_CHAT_STATES_UNSUPPORTED,
-		JABBER_CHAT_STATES_SUPPORTED
-	} chat_states;
-	struct {
-		char *version;
-		char *name;
-		char *os;
-	} client;
-	JabberCapsClientInfo *caps;
-	GList *commands;
-} JabberBuddyResource;
-
-void jabber_buddy_free(JabberBuddy *jb);
-JabberBuddy *jabber_buddy_find(JabberStream *js, const char *name,
-		gboolean create);
-JabberBuddyResource *jabber_buddy_find_resource(JabberBuddy *jb,
-		const char *resource);
-JabberBuddyResource *jabber_buddy_track_resource(JabberBuddy *jb, const char *resource,
-		int priority, JabberBuddyState state, const char *status);
-void jabber_buddy_resource_free(JabberBuddyResource *jbr);
-void jabber_buddy_remove_resource(JabberBuddy *jb, const char *resource);
-const char *jabber_buddy_get_status_msg(JabberBuddy *jb);
-void jabber_buddy_get_info(PurpleConnection *gc, const char *who);
-
-GList *jabber_blist_node_menu(PurpleBlistNode *node);
-
-void jabber_set_info(PurpleConnection *gc, const char *info);
-void jabber_setup_set_info(PurplePluginAction *action);
-void jabber_set_buddy_icon(PurpleConnection *gc, PurpleStoredImage *img);
-void jabber_buddy_avatar_update_metadata(JabberStream *js, const char *from, xmlnode *items);
-
-const char *jabber_buddy_state_get_name(JabberBuddyState state);
-const char *jabber_buddy_state_get_status_id(JabberBuddyState state);
-const char *jabber_buddy_state_get_show(JabberBuddyState state);
-JabberBuddyState jabber_buddy_status_id_get_state(const char *id);
-JabberBuddyState jabber_buddy_show_get_state(const char *id);
-
-void jabber_user_search(JabberStream *js, const char *directory);
-void jabber_user_search_begin(PurplePluginAction *);
-
-void jabber_buddy_remove_all_pending_buddy_info_requests(JabberStream *js);
-
-void jabber_vcard_fetch_mine(JabberStream *js);
-
-gboolean jabber_resource_has_capability(const JabberBuddyResource *jbr,
-										const gchar *cap);
-gboolean jabber_buddy_has_capability(const JabberBuddy *jb, const gchar *cap);
-
-#endif /* _PURPLE_JABBER_BUDDY_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/buddyicon.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,443 +0,0 @@
-/**
- * @file buddyicon.h Buddy Icon API
- * @ingroup core
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_BUDDYICON_H_
-#define _PURPLE_BUDDYICON_H_
-
-/** An opaque structure representing a buddy icon for a particular user on a
- *  particular #PurpleAccount.  Instances are reference-counted; use
- *  purple_buddy_icon_ref() and purple_buddy_icon_unref() to take and release
- *  references.
- */
-typedef struct _PurpleBuddyIcon PurpleBuddyIcon;
-
-#include "account.h"
-#include "blist.h"
-#include "imgstore.h"
-#include "prpl.h"
-#include "util.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/**************************************************************************/
-/** @name Buddy Icon API                                                  */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Creates a new buddy icon structure and populates it.
- *
- * If the buddy icon already exists, you'll get a reference to that structure,
- * which will have been updated with the data supplied.
- *
- * @param account   The account the user is on.
- * @param username  The username the icon belongs to.
- * @param icon_data The buddy icon data.
- * @param icon_len  The buddy icon length.
- * @param checksum  A protocol checksum from the prpl or @c NULL.
- *
- * @return The buddy icon structure, with a reference for the caller.
- */
-PurpleBuddyIcon *purple_buddy_icon_new(PurpleAccount *account, const char *username,
-                                       void *icon_data, size_t icon_len,
-                                       const char *checksum);
-
-/**
- * Increments the reference count on a buddy icon.
- *
- * @param icon The buddy icon.
- *
- * @return @a icon.
- */
-PurpleBuddyIcon *purple_buddy_icon_ref(PurpleBuddyIcon *icon);
-
-/**
- * Decrements the reference count on a buddy icon.
- *
- * If the reference count reaches 0, the icon will be destroyed.
- *
- * @param icon The buddy icon.
- *
- * @return @a icon, or @c NULL if the reference count reached 0.
- */
-PurpleBuddyIcon *purple_buddy_icon_unref(PurpleBuddyIcon *icon);
-
-/**
- * Updates every instance of this icon.
- *
- * @param icon The buddy icon.
- */
-void purple_buddy_icon_update(PurpleBuddyIcon *icon);
-
-/**
- * Sets the buddy icon's data.
- *
- * @param icon The buddy icon.
- * @param data The buddy icon data, which the buddy icon code
- *             takes ownership of and will free.
- * @param len  The length of the data in @a data.
- * @param checksum  A protocol checksum from the prpl or @c NULL.
- */
-void
-purple_buddy_icon_set_data(PurpleBuddyIcon *icon, guchar *data,
-                           size_t len, const char *checksum);
-
-/**
- * Returns the buddy icon's account.
- *
- * @param icon The buddy icon.
- *
- * @return The account.
- */
-PurpleAccount *purple_buddy_icon_get_account(const PurpleBuddyIcon *icon);
-
-/**
- * Returns the buddy icon's username.
- *
- * @param icon The buddy icon.
- *
- * @return The username.
- */
-const char *purple_buddy_icon_get_username(const PurpleBuddyIcon *icon);
-
-/**
- * Returns the buddy icon's checksum.
- *
- * This function is really only for prpl use.
- *
- * @param icon The buddy icon.
- *
- * @return The checksum.
- */
-const char *purple_buddy_icon_get_checksum(const PurpleBuddyIcon *icon);
-
-/**
- * Returns the buddy icon's data.
- *
- * @param icon The buddy icon.
- * @param len  If not @c NULL, the length of the icon data returned will be
- *             set in the location pointed to by this.
- *
- * @return A pointer to the icon data.
- */
-gconstpointer purple_buddy_icon_get_data(const PurpleBuddyIcon *icon, size_t *len);
-
-/**
- * Returns an extension corresponding to the buddy icon's file type.
- *
- * @param icon The buddy icon.
- *
- * @return The icon's extension, "icon" if unknown, or @c NULL if
- *         the image data has disappeared.
- */
-const char *purple_buddy_icon_get_extension(const PurpleBuddyIcon *icon);
-
-/**
- * Returns a full path to an icon.
- *
- * If the icon has data and the file exists in the cache, this will return
- * a full path to the cache file.
- *
- * In general, it is not appropriate to be poking in the icon cache
- * directly.  If you find yourself wanting to use this function, think
- * very long and hard about it, and then don't.
- *
- * @param icon The buddy icon
- *
- * @return A full path to the file, or @c NULL under various conditions.
- */
-char *purple_buddy_icon_get_full_path(PurpleBuddyIcon *icon);
-
-/*@}*/
-
-/**************************************************************************/
-/** @name Buddy Icon Subsystem API                                        */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Sets a buddy icon for a user.
- *
- * @param account   The account the user is on.
- * @param username  The username of the user.
- * @param icon_data The buddy icon data, which the buddy icon code
- *                  takes ownership of and will free.
- * @param icon_len  The length of the icon data.
- * @param checksum  A protocol checksum from the prpl or @c NULL.
- *
- * @return The buddy icon set, or NULL if no icon was set.
- */
-void
-purple_buddy_icons_set_for_user(PurpleAccount *account, const char *username,
-                                void *icon_data, size_t icon_len,
-                                const char *checksum);
-
-/**
- * Returns the checksum for the buddy icon of a specified buddy.
- *
- * This avoids loading the icon image data from the cache if it's
- * not already loaded for some other reason.
- *
- * @param buddy The buddy
- *
- * @return The checksum.
- */
-const char *
-purple_buddy_icons_get_checksum_for_user(PurpleBuddy *buddy);
-
-/**
- * Returns the buddy icon information for a user.
- *
- * @param account  The account the user is on.
- * @param username The username of the user.
- *
- * @return The icon (with a reference for the caller) if found, or @c NULL if
- *         not found.
- */
-PurpleBuddyIcon *
-purple_buddy_icons_find(PurpleAccount *account, const char *username);
-
-/**
- * Returns the buddy icon image for an account.
- *
- * The caller owns a reference to the image in the store, and must dereference
- * the image with purple_imgstore_unref() for it to be freed.
- *
- * This function deals with loading the icon from the cache, if
- * needed, so it should be called in any case where you want the
- * appropriate icon.
- *
- * @param account The account
- *
- * @return The account's buddy icon image.
- */
-PurpleStoredImage *
-purple_buddy_icons_find_account_icon(PurpleAccount *account);
-
-/**
- * Sets a buddy icon for an account.
- *
- * This function will deal with saving a record of the icon,
- * caching the data, etc.
- *
- * @param account   The account for which to set a custom icon.
- * @param icon_data The image data of the icon, which the
- *                  buddy icon code will free.
- * @param icon_len  The length of the data in @a icon_data.
- *
- * @return The icon that was set.  The caller does NOT own
- *         a reference to this, and must call purple_imgstore_ref()
- *         if it wants one.
- */
-PurpleStoredImage *
-purple_buddy_icons_set_account_icon(PurpleAccount *account,
-                                    guchar *icon_data, size_t icon_len);
-
-/**
- * Returns the timestamp of when the icon was set.
- *
- * This is intended for use in protocols that require a timestamp for
- * buddy icon update reasons.
- *
- * @param account The account
- *
- * @return The time the icon was set, or 0 if an error occurred.
- */
-time_t
-purple_buddy_icons_get_account_icon_timestamp(PurpleAccount *account);
-
-/**
- * Returns a boolean indicating if a given blist node has a custom buddy icon.
- *
- * @param node The blist node.
- *
- * @return A boolean indicating if @a node has a custom buddy icon.
- * @since 2.5.0
- */
-gboolean
-purple_buddy_icons_node_has_custom_icon(PurpleBlistNode *node);
-
-/**
- * Returns the custom buddy icon image for a blist node.
- *
- * The caller owns a reference to the image in the store, and must dereference
- * the image with purple_imgstore_unref() for it to be freed.
- *
- * This function deals with loading the icon from the cache, if
- * needed, so it should be called in any case where you want the
- * appropriate icon.
- *
- * @param node The node.
- *
- * @return The custom buddy icon.
- * @since 2.5.0
- */
-PurpleStoredImage *
-purple_buddy_icons_node_find_custom_icon(PurpleBlistNode *node);
-
-/**
- * Sets a custom buddy icon for a blist node.
- *
- * This function will deal with saving a record of the icon, caching the data,
- * etc.
- *
- * @param node      The blist node for which to set a custom icon.
- * @param icon_data The image data of the icon, which the buddy icon code will
- *                  free. Use NULL to unset the icon.
- * @param icon_len  The length of the data in @a icon_data.
- *
- * @return The icon that was set. The caller does NOT own a reference to this,
- *         and must call purple_imgstore_ref() if it wants one.
- * @since 2.5.0
- */
-PurpleStoredImage *
-purple_buddy_icons_node_set_custom_icon(PurpleBlistNode *node,
-                                        guchar *icon_data, size_t icon_len);
-
-/**
- * Sets a custom buddy icon for a blist node.
- *
- * Convenience wrapper around purple_buddy_icons_node_set_custom_icon.
- * @see purple_buddy_icons_node_set_custom_icon()
- *
- * @param node      The blist node for which to set a custom icon.
- * @param filename  The path to the icon to set for the blist node. Use NULL
- *                  to unset the custom icon.
- *
- * @return The icon that was set. The caller does NOT own a reference to this,
- *         and must call purple_imgstore_ref() if it wants one.
- * @since 2.5.0
- */
-PurpleStoredImage *
-purple_buddy_icons_node_set_custom_icon_from_file(PurpleBlistNode *node,
-                                                  const gchar *filename);
-
-#if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_BUDDYICON_C_)
-/**
- * PurpleContact version of purple_buddy_icons_node_has_custom_icon.
- *
- * @copydoc purple_buddy_icons_node_has_custom_icon()
- *
- * @deprecated Use purple_buddy_icons_node_has_custom_icon instead.
- */
-gboolean
-purple_buddy_icons_has_custom_icon(PurpleContact *contact);
-
-/**
- * PurpleContact version of purple_buddy_icons_node_find_custom_icon.
- *
- * @copydoc purple_buddy_icons_node_find_custom_icon()
- *
- * @deprecated Use purple_buddy_icons_node_find_custom_icon instead.
- */
-PurpleStoredImage *
-purple_buddy_icons_find_custom_icon(PurpleContact *contact);
-
-/**
- * PurpleContact version of purple_buddy_icons_node_set_custom_icon.
- *
- * @copydoc purple_buddy_icons_node_set_custom_icon()
- *
- * @deprecated Use purple_buddy_icons_node_set_custom_icon instead.
- */
-PurpleStoredImage *
-purple_buddy_icons_set_custom_icon(PurpleContact *contact,
-                                   guchar *icon_data, size_t icon_len);
-#endif
-
-/**
- * Sets whether or not buddy icon caching is enabled.
- *
- * @param caching TRUE of buddy icon caching should be enabled, or
- *                FALSE otherwise.
- */
-void purple_buddy_icons_set_caching(gboolean caching);
-
-/**
- * Returns whether or not buddy icon caching should be enabled.
- *
- * The default is TRUE, unless otherwise specified by
- * purple_buddy_icons_set_caching().
- *
- * @return TRUE if buddy icon caching is enabled, or FALSE otherwise.
- */
-gboolean purple_buddy_icons_is_caching(void);
-
-/**
- * Sets the directory used to store buddy icon cache files.
- *
- * @param cache_dir The directory to store buddy icon cache files to.
- */
-void purple_buddy_icons_set_cache_dir(const char *cache_dir);
-
-/**
- * Returns the directory used to store buddy icon cache files.
- *
- * The default directory is PURPLEDIR/icons, unless otherwise specified
- * by purple_buddy_icons_set_cache_dir().
- *
- * @return The directory to store buddy icon cache files to.
- */
-const char *purple_buddy_icons_get_cache_dir(void);
-
-/**
- * Returns the buddy icon subsystem handle.
- *
- * @return The subsystem handle.
- */
-void *purple_buddy_icons_get_handle(void);
-
-/**
- * Initializes the buddy icon subsystem.
- */
-void purple_buddy_icons_init(void);
-
-/**
- * Uninitializes the buddy icon subsystem.
- */
-void purple_buddy_icons_uninit(void);
-
-/*@}*/
-
-/**************************************************************************/
-/** @name Buddy Icon Helper API                                           */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Gets display size for a buddy icon
- */
-void purple_buddy_icon_get_scale_size(PurpleBuddyIconSpec *spec, int *width, int *height);
-
-/*@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_BUDDYICON_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/buddylist.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/**
- * @file buddylist.h
- *
- * purple
- *
- * Copyright (C) 2005  Bartosz Oler <bartosz@bzimage.us>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-
-
-#ifndef _PURPLE_GG_BUDDYLIST_H
-#define _PURPLE_GG_BUDDYLIST_H
-
-#include "connection.h"
-#include "account.h"
-
-void
-ggp_buddylist_send(PurpleConnection *gc);
-
-/**
- * Load buddylist from server into the rooster.
- *
- * @param gc PurpleConnection
- * @param buddylist Pointer to the buddylist that will be loaded.
- */
-/* void ggp_buddylist_load(PurpleConnection *gc, char *buddylist) {{{ */
-void
-ggp_buddylist_load(PurpleConnection *gc, char *buddylist);
-
-/**
- * Set offline status for all buddies.
- *
- * @param gc Connection handler
- */
-void
-ggp_buddylist_offline(PurpleConnection *gc);
-
-/**
- * Get all the buddies in the current account.
- *
- * @param account Current account.
- * 
- * @return List of buddies.
- */
-char *
-ggp_buddylist_dump(PurpleAccount *account);
-
-
-#endif /* _PURPLE_GG_BUDDYLIST_H */
-
-
-/* vim: set ts=8 sts=0 sw=8 noet: */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/caps.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * purple - Jabber Protocol Plugin
- *
- * Copyright (C) 2007, Andreas Monitzer <andy@monitzer.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA	 02111-1307	 USA
- *
- */
-
-#ifndef _PURPLE_JABBER_CAPS_H_
-#define _PURPLE_JABBER_CAPS_H_
-
-typedef struct _JabberCapsClientInfo JabberCapsClientInfo;
-
-#include "jabber.h"
-
-/* Implementation of XEP-0115 */
-
-typedef struct _JabberCapsIdentity {
-	char *category;
-	char *type;
-	char *name;
-} JabberCapsIdentity;
-
-struct _JabberCapsClientInfo {
-	GList *identities; /* JabberCapsIdentity */
-	GList *features; /* char * */
-};
-
-typedef void (*jabber_caps_get_info_cb)(JabberCapsClientInfo *info, gpointer user_data);
-
-void jabber_caps_init(void);
-
-void jabber_caps_get_info(JabberStream *js, const char *who, const char *node, const char *ver, const char *ext, jabber_caps_get_info_cb cb, gpointer user_data);
-void jabber_caps_free_clientinfo(JabberCapsClientInfo *clientinfo);
-
-#endif /* _PURPLE_JABBER_CAPS_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/certificate.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,802 +0,0 @@
-/**
- * @file certificate.h Public-Key Certificate API
- * @ingroup core
- * @see @ref certificate-signals
- * @since 2.2.0
- */
-
-/*
- *
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-
-#ifndef _PURPLE_CERTIFICATE_H
-#define _PURPLE_CERTIFICATE_H
-
-#include <time.h>
-
-#include <glib.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-typedef enum
-{
-	PURPLE_CERTIFICATE_INVALID = 0,
-	PURPLE_CERTIFICATE_VALID = 1
-} PurpleCertificateVerificationStatus;
-
-typedef struct _PurpleCertificate PurpleCertificate;
-typedef struct _PurpleCertificatePool PurpleCertificatePool;
-typedef struct _PurpleCertificateScheme PurpleCertificateScheme;
-typedef struct _PurpleCertificateVerifier PurpleCertificateVerifier;
-typedef struct _PurpleCertificateVerificationRequest PurpleCertificateVerificationRequest;
-
-/**
- * Callback function for the results of a verification check
- * @param st       Status code
- * @param userdata User-defined data
- */
-typedef void (*PurpleCertificateVerifiedCallback)
-		(PurpleCertificateVerificationStatus st,
-		 gpointer userdata);
-							  
-/** A certificate instance
- *
- *  An opaque data structure representing a single certificate under some
- *  CertificateScheme
- */
-struct _PurpleCertificate
-{
-	/** Scheme this certificate is under */
-	PurpleCertificateScheme * scheme;
-	/** Opaque pointer to internal data */
-	gpointer data;
-};
-
-/**
- * Database for retrieval or storage of Certificates
- *
- * More or less a hash table; all lookups and writes are controlled by a string
- * key.
- */
-struct _PurpleCertificatePool
-{
-	/** Scheme this Pool operates for */
-	gchar *scheme_name;
-	/** Internal name to refer to the pool by */
-	gchar *name;
-
-	/** User-friendly name for this type
-	 *  ex: N_("SSL Servers")
-	 *  When this is displayed anywhere, it should be i18ned
-	 *  ex: _(pool->fullname)
-	 */
-	gchar *fullname;
-
-	/** Internal pool data */
-	gpointer data;
-	
-	/**
-	 * Set up the Pool's internal state
-	 *
-	 * Upon calling purple_certificate_register_pool() , this function will
-	 * be called. May be NULL.
-	 * @return TRUE if the initialization succeeded, otherwise FALSE
-	 */
-	gboolean (* init)(void);
-
-	/**
-	 * Uninit the Pool's internal state
-	 *
-	 * Will be called by purple_certificate_unregister_pool() . May be NULL
-	 */
-	void (* uninit)(void);
-
-	/** Check for presence of a certificate in the pool using unique ID */
-	gboolean (* cert_in_pool)(const gchar *id);
-	/** Retrieve a PurpleCertificate from the pool */
-	PurpleCertificate * (* get_cert)(const gchar *id);
-	/** Add a certificate to the pool. Must overwrite any other
-	 *  certificates sharing the same ID in the pool.
-	 *  @return TRUE if the operation succeeded, otherwise FALSE
-	 */
-	gboolean (* put_cert)(const gchar *id, PurpleCertificate *crt);
-	/** Delete a certificate from the pool */
-	gboolean (* delete_cert)(const gchar *id);
-
-	/** Returns a list of IDs stored in the pool */
-	GList * (* get_idlist)(void);
-
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-};
-
-/** A certificate type
- *
- *  A CertificateScheme must implement all of the fields in the structure,
- *  and register it using purple_certificate_register_scheme()
- *
- *  There may be only ONE CertificateScheme provided for each certificate
- *  type, as specified by the "name" field.
- */
-struct _PurpleCertificateScheme
-{
-	/** Name of the certificate type
-	 *  ex: "x509", "pgp", etc.
-	 *  This must be globally unique - you may not register more than one
-	 *  CertificateScheme of the same name at a time.
-	 */
-	gchar * name;
-
-	/** User-friendly name for this type
-	 *  ex: N_("X.509 Certificates")
-	 *  When this is displayed anywhere, it should be i18ned
-	 *  ex: _(scheme->fullname)
-	 */
-	gchar * fullname;
-
-	/** Imports a certificate from a file
-	 *
-	 *  @param filename   File to import the certificate from
-	 *  @return           Pointer to the newly allocated Certificate struct
-	 *                    or NULL on failure.
-	 */
-	PurpleCertificate * (* import_certificate)(const gchar * filename);
-
-	/**
-	 * Exports a certificate to a file
-	 *
-	 * @param filename    File to export the certificate to
-	 * @param crt         Certificate to export
-	 * @return TRUE if the export succeeded, otherwise FALSE
-	 * @see purple_certificate_export()
-	 */
-	gboolean (* export_certificate)(const gchar *filename, PurpleCertificate *crt);
-
-	/**
-	 * Duplicates a certificate
-	 *
-	 * Certificates are generally assumed to be read-only, so feel free to
-	 * do any sort of reference-counting magic you want here. If this ever
-	 * changes, please remember to change the magic accordingly.
-	 * @return Reference to the new copy
-	 */
-	PurpleCertificate * (* copy_certificate)(PurpleCertificate *crt);
-
-	/** Destroys and frees a Certificate structure
-	 *
-	 *  Destroys a Certificate's internal data structures and calls
-	 *  free(crt)
-	 *
-	 *  @param crt  Certificate instance to be destroyed. It WILL NOT be
-	 *              destroyed if it is not of the correct
-	 *              CertificateScheme. Can be NULL
-	 */
-	void (* destroy_certificate)(PurpleCertificate * crt);
-
-	/** Find whether "crt" has a valid signature from issuer "issuer"
-	 *  @see purple_certificate_signed_by() */
-	gboolean (*signed_by)(PurpleCertificate *crt, PurpleCertificate *issuer);
-	/**
-	 * Retrieves the certificate public key fingerprint using SHA1
-	 *
-	 * @param crt   Certificate instance
-	 * @return Binary representation of SHA1 hash - must be freed using
-	 *         g_byte_array_free()
-	 */
-	GByteArray * (* get_fingerprint_sha1)(PurpleCertificate *crt);
-
-	/**
-	 * Retrieves a unique certificate identifier
-	 *
-	 * @param crt   Certificate instance
-	 * @return Newly allocated string that can be used to uniquely
-	 *         identify the certificate.
-	 */
-	gchar * (* get_unique_id)(PurpleCertificate *crt);
-
-	/**
-	 * Retrieves a unique identifier for the certificate's issuer
-	 *
-	 * @param crt   Certificate instance
-	 * @return Newly allocated string that can be used to uniquely
-	 *         identify the issuer's certificate.
-	 */
-	gchar * (* get_issuer_unique_id)(PurpleCertificate *crt);
-
-	/**
-	 * Gets the certificate subject's name
-	 *
-	 * For X.509, this is the "Common Name" field, as we're only using it
-	 * for hostname verification at the moment
-	 *
-	 * @see purple_certificate_get_subject_name()
-	 *
-	 * @param crt   Certificate instance
-	 * @return Newly allocated string with the certificate subject.
-	 */
-	gchar * (* get_subject_name)(PurpleCertificate *crt);
-
-	/**
-	 * Check the subject name against that on the certificate
-	 * @see purple_certificate_check_subject_name()
-	 * @return TRUE if it is a match, else FALSE
-	 */
-	gboolean (* check_subject_name)(PurpleCertificate *crt, const gchar *name);
-
-	/** Retrieve the certificate activation/expiration times */
-	gboolean (* get_times)(PurpleCertificate *crt, time_t *activation, time_t *expiration);
-	
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-};
-
-/** A set of operations used to provide logic for verifying a Certificate's
- *  authenticity.
- *
- * A Verifier provider must fill out these fields, then register it using
- * purple_certificate_register_verifier()
- *
- * 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
- */
-struct _PurpleCertificateVerifier
-{
-	/** Name of the scheme this Verifier operates on
-	 *
-	 * The scheme will be looked up by name when a Request is generated
-	 * using this Verifier
-	 */
-	gchar *scheme_name;
-
-	/** Name of the Verifier - case insensitive */
-	gchar *name;
-	
-	/**
-	 * Start the verification process
-	 *
-	 * To be called from purple_certificate_verify once it has
-	 * constructed the request. This will use the information in the
-	 * given VerificationRequest to check the certificate and callback
-	 * the requester with the verification results.
-	 *
-	 * @param vrq      Request to process
-	 */
-	void (* start_verification)(PurpleCertificateVerificationRequest *vrq);
-
-	/**
-	 * Destroy a completed Request under this Verifier
-	 * The function pointed to here is only responsible for cleaning up
-	 * whatever PurpleCertificateVerificationRequest::data points to.
-	 * It should not call free(vrq)
-	 *
-	 * @param vrq       Request to destroy
-	 */
-	void (* destroy_request)(PurpleCertificateVerificationRequest *vrq);
-
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-};
-
-/** Structure for a single certificate request
- *
- *  Useful for keeping track of the state of a verification that involves
- *  several steps
- */
-struct _PurpleCertificateVerificationRequest
-{
-	/** Reference to the verification logic used */
-	PurpleCertificateVerifier *verifier;
-	/** Reference to the scheme used.
-	 *
-	 * This is looked up from the Verifier when the Request is generated
-	 */
-	PurpleCertificateScheme *scheme;
-
-	/**
-	 * Name to check that the certificate is issued to
-	 *
-	 * For X.509 certificates, this is the Common Name
-	 */
-	gchar *subject_name;
-	
-	/** List of certificates in the chain to be verified (such as that returned by purple_ssl_get_peer_certificates )
-	 *
-	 * This is most relevant for X.509 certificates used in SSL sessions.
-	 * The list order should be: certificate, issuer, issuer's issuer, etc.
-	 */
-	GList *cert_chain;
-	
-	/** Internal data used by the Verifier code */
-	gpointer data;
-
-	/** Function to call with the verification result */
-	PurpleCertificateVerifiedCallback cb;
-	/** Data to pass to the post-verification callback */
-	gpointer cb_data;
-};
-
-/*****************************************************************************/
-/** @name Certificate Verification Functions                                 */
-/*****************************************************************************/
-/*@{*/
-
-/**
- * Constructs a verification request and passed control to the specified Verifier
- *
- * It is possible that the callback will be called immediately upon calling
- * this function. Plan accordingly.
- *
- * @param verifier      Verification logic to use.
- *                      @see purple_certificate_find_verifier()
- *
- * @param subject_name  Name that should match the first certificate in the
- *                      chain for the certificate to be valid. Will be strdup'd
- *                      into the Request struct
- *
- * @param cert_chain    Certificate chain to check. If there is more than one
- *                      certificate in the chain (X.509), the peer's
- *                      certificate comes first, then the issuer/signer's
- *                      certificate, etc. The whole list is duplicated into the
- *                      Request struct.
- *
- * @param cb            Callback function to be called with whether the
- *                      certificate was approved or not.
- * @param cb_data       User-defined data for the above.
- */
-void
-purple_certificate_verify (PurpleCertificateVerifier *verifier,
-			   const gchar *subject_name, GList *cert_chain,
-			   PurpleCertificateVerifiedCallback cb,
-			   gpointer cb_data);
-
-/**
- * Completes and destroys a VerificationRequest
- *
- * @param vrq           Request to conclude
- * @param st            Success/failure code to pass to the request's
- *                      completion callback.
- */
-void
-purple_certificate_verify_complete(PurpleCertificateVerificationRequest *vrq,
-				   PurpleCertificateVerificationStatus st);
-
-/*@}*/
-
-/*****************************************************************************/
-/** @name Certificate Functions                                              */
-/*****************************************************************************/
-/*@{*/
-
-/**
- * Makes a duplicate of a certificate
- *
- * @param crt        Instance to duplicate
- * @return Pointer to new instance
- */
-PurpleCertificate *
-purple_certificate_copy(PurpleCertificate *crt);
-
-/**
- * Duplicates an entire list of certificates
- *
- * @param crt_list   List to duplicate
- * @return New list copy
- */
-GList *
-purple_certificate_copy_list(GList *crt_list);
-
-/**
- * Destroys and free()'s a Certificate
- *
- * @param crt        Instance to destroy. May be NULL.
- */
-void
-purple_certificate_destroy (PurpleCertificate *crt);
-
-/**
- * Destroy an entire list of Certificate instances and the containing list
- *
- * @param crt_list   List of certificates to destroy. May be NULL.
- */
-void
-purple_certificate_destroy_list (GList * crt_list);
-
-/**
- * Check whether 'crt' has a valid signature made by 'issuer'
- *
- * @param crt        Certificate instance to check signature of
- * @param issuer     Certificate thought to have signed 'crt'
- *
- * @return TRUE if 'crt' has a valid signature made by 'issuer',
- *         otherwise FALSE
- * @todo Find a way to give the reason (bad signature, not the issuer, etc.) 
- */
-gboolean
-purple_certificate_signed_by(PurpleCertificate *crt, PurpleCertificate *issuer);
-
-/**
- * Check that a certificate chain is valid
- *
- * Uses purple_certificate_signed_by() to verify that each PurpleCertificate
- * in the chain carries a valid signature from the next. A single-certificate
- * chain is considered to be valid.
- *
- * @param chain      List of PurpleCertificate instances comprising the chain,
- *                   in the order certificate, issuer, issuer's issuer, etc.
- * @return TRUE if the chain is valid. See description.
- * @todo Specify which certificate in the chain caused a failure
- */
-gboolean
-purple_certificate_check_signature_chain(GList *chain);
-
-/**
- * Imports a PurpleCertificate from a file
- *
- * @param scheme      Scheme to import under
- * @param filename    File path to import from
- * @return Pointer to a new PurpleCertificate, or NULL on failure
- */
-PurpleCertificate *
-purple_certificate_import(PurpleCertificateScheme *scheme, const gchar *filename);
-
-/**
- * Exports a PurpleCertificate to a file
- *
- * @param filename    File to export the certificate to
- * @param crt         Certificate to export
- * @return TRUE if the export succeeded, otherwise FALSE
- */
-gboolean
-purple_certificate_export(const gchar *filename, PurpleCertificate *crt);
-
-
-/**
- * Retrieves the certificate public key fingerprint using SHA1.
- *
- * @param crt        Certificate instance
- * @return Binary representation of the hash. You are responsible for free()ing
- *         this.
- * @see purple_base16_encode_chunked()
- */
-GByteArray *
-purple_certificate_get_fingerprint_sha1(PurpleCertificate *crt);
-
-/**
- * Get a unique identifier for the certificate
- *
- * @param crt        Certificate instance
- * @return String representing the certificate uniquely. Must be g_free()'ed
- */
-gchar *
-purple_certificate_get_unique_id(PurpleCertificate *crt);
-
-/**
- * Get a unique identifier for the certificate's issuer
- *
- * @param crt        Certificate instance
- * @return String representing the certificate's issuer uniquely. Must be
- *         g_free()'ed
- */
-gchar *
-purple_certificate_get_issuer_unique_id(PurpleCertificate *crt);
-
-/**
- * Gets the certificate subject's name
- *
- * For X.509, this is the "Common Name" field, as we're only using it
- * for hostname verification at the moment
- *
- * @param crt   Certificate instance
- * @return Newly allocated string with the certificate subject.
- */
-gchar *
-purple_certificate_get_subject_name(PurpleCertificate *crt);
-
-/**
- * Check the subject name against that on the certificate
- * @param crt   Certificate instance
- * @param name  Name to check. 
- * @return TRUE if it is a match, else FALSE
- */
-gboolean
-purple_certificate_check_subject_name(PurpleCertificate *crt, const gchar *name);
-
-/**
- * Get the expiration/activation times.
- *
- * @param crt          Certificate instance
- * @param activation   Reference to store the activation time at. May be NULL
- *                     if you don't actually want it.
- * @param expiration   Reference to store the expiration time at. May be NULL
- *                     if you don't actually want it.
- * @return TRUE if the requested values were obtained, otherwise FALSE.
- */
-gboolean
-purple_certificate_get_times(PurpleCertificate *crt, time_t *activation, time_t *expiration);
-
-/*@}*/
-
-/*****************************************************************************/
-/** @name Certificate Pool Functions                                         */
-/*****************************************************************************/
-/*@{*/
-/**
- * Helper function for generating file paths in ~/.purple/certificates for
- * CertificatePools that use them.
- *
- * All components will be escaped for filesystem friendliness.
- *
- * @param pool   CertificatePool to build a path for
- * @param id     Key to look up a Certificate by. May be NULL.
- * @return A newly allocated path of the form
- *         ~/.purple/certificates/scheme_name/pool_name/unique_id
- */
-gchar *
-purple_certificate_pool_mkpath(PurpleCertificatePool *pool, const gchar *id);
-
-/**
- * Determines whether a pool can be used.
- *
- * Checks whether the associated CertificateScheme is loaded.
- *
- * @param pool   Pool to check
- *
- * @return TRUE if the pool can be used, otherwise FALSE
- */
-gboolean
-purple_certificate_pool_usable(PurpleCertificatePool *pool);
-
-/**
- * Looks up the scheme the pool operates under
- *
- * @param pool   Pool to get the scheme of
- *
- * @return Pointer to the pool's scheme, or NULL if it isn't loaded.
- * @see purple_certificate_pool_usable()
- */
-PurpleCertificateScheme *
-purple_certificate_pool_get_scheme(PurpleCertificatePool *pool);
-
-/**
- * Check for presence of an ID in a pool.
- * @param pool   Pool to look in
- * @param id     ID to look for
- * @return TRUE if the ID is in the pool, else FALSE
- */
-gboolean
-purple_certificate_pool_contains(PurpleCertificatePool *pool, const gchar *id);
-
-/**
- * Retrieve a certificate from a pool.
- * @param pool   Pool to fish in
- * @param id     ID to look up
- * @return Retrieved certificate, or NULL if it wasn't there
- */
-PurpleCertificate *
-purple_certificate_pool_retrieve(PurpleCertificatePool *pool, const gchar *id);
-
-/**
- * Add a certificate to a pool
- *
- * Any pre-existing certificate of the same ID will be overwritten.
- *
- * @param pool   Pool to add to
- * @param id     ID to store the certificate with
- * @param crt    Certificate to store
- * @return TRUE if the operation succeeded, otherwise FALSE
- */
-gboolean
-purple_certificate_pool_store(PurpleCertificatePool *pool, const gchar *id, PurpleCertificate *crt);
-
-/**
- * Remove a certificate from a pool
- *
- * @param pool   Pool to remove from
- * @param id     ID to remove
- * @return TRUE if the operation succeeded, otherwise FALSE
- */
-gboolean
-purple_certificate_pool_delete(PurpleCertificatePool *pool, const gchar *id);
-
-/**
- * Get the list of IDs currently in the pool.
- *
- * @param pool   Pool to enumerate
- * @return GList pointing to newly-allocated id strings. Free using
- *         purple_certificate_pool_destroy_idlist()
- */
-GList *
-purple_certificate_pool_get_idlist(PurpleCertificatePool *pool);
-
-/**
- * Destroys the result given by purple_certificate_pool_get_idlist()
- *
- * @param idlist ID List to destroy
- */
-void
-purple_certificate_pool_destroy_idlist(GList *idlist);
-
-/*@}*/
-
-/*****************************************************************************/
-/** @name Certificate Subsystem API                                          */
-/*****************************************************************************/
-/*@{*/
-
-/**
- * Initialize the certificate system
- */
-void
-purple_certificate_init(void);
-
-/**
- * Un-initialize the certificate system
- */
-void
-purple_certificate_uninit(void);
-
-/**
- * Get the Certificate subsystem handle for signalling purposes
- */
-gpointer
-purple_certificate_get_handle(void);
-
-/** Look up a registered CertificateScheme by name
- * @param name   The scheme name. Case insensitive.
- * @return Pointer to the located Scheme, or NULL if it isn't found.
- */
-PurpleCertificateScheme *
-purple_certificate_find_scheme(const gchar *name);
-
-/**
- * Get all registered CertificateSchemes
- *
- * @return GList pointing to all registered CertificateSchemes . This value
- *         is owned by libpurple
- */
-GList *
-purple_certificate_get_schemes(void);
-
-/** Register a CertificateScheme with libpurple
- *
- * No two schemes can be registered with the same name; this function enforces
- * that.
- *
- * @param scheme  Pointer to the scheme to register.
- * @return TRUE if the scheme was successfully added, otherwise FALSE
- */
-gboolean
-purple_certificate_register_scheme(PurpleCertificateScheme *scheme);
-
-/** Unregister a CertificateScheme from libpurple
- *
- * @param scheme    Scheme to unregister.
- *                  If the scheme is not registered, this is a no-op.
- *
- * @return TRUE if the unregister completed successfully
- */
-gboolean
-purple_certificate_unregister_scheme(PurpleCertificateScheme *scheme);
-
-/** Look up a registered PurpleCertificateVerifier by scheme and name
- * @param scheme_name  Scheme name. Case insensitive.
- * @param ver_name     The verifier name. Case insensitive.
- * @return Pointer to the located Verifier, or NULL if it isn't found.
- */
-PurpleCertificateVerifier *
-purple_certificate_find_verifier(const gchar *scheme_name, const gchar *ver_name);
-
-/**
- * Get the list of registered CertificateVerifiers
- *
- * @return GList of all registered PurpleCertificateVerifier. This value
- *         is owned by libpurple
- */
-GList *
-purple_certificate_get_verifiers(void);
-
-/**
- * Register a CertificateVerifier with libpurple
- *
- * @param vr     Verifier to register.
- * @return TRUE if register succeeded, otherwise FALSE
- */
-gboolean
-purple_certificate_register_verifier(PurpleCertificateVerifier *vr);
-
-/**
- * Unregister a CertificateVerifier with libpurple
- *
- * @param vr     Verifier to unregister.
- * @return TRUE if unregister succeeded, otherwise FALSE
- */
-gboolean
-purple_certificate_unregister_verifier(PurpleCertificateVerifier *vr);
-
-/** Look up a registered PurpleCertificatePool by scheme and name
- * @param scheme_name  Scheme name. Case insensitive.
- * @param pool_name    Pool name. Case insensitive.
- * @return Pointer to the located Pool, or NULL if it isn't found.
- */
-PurpleCertificatePool *
-purple_certificate_find_pool(const gchar *scheme_name, const gchar *pool_name);
-
-/**
- * Get the list of registered Pools
- *
- * @return GList of all registered PurpleCertificatePool s. This value
- *         is owned by libpurple
- */
-GList *
-purple_certificate_get_pools(void);
-
-/**
- * Register a CertificatePool with libpurple and call its init function
- *
- * @param pool   Pool to register.
- * @return TRUE if the register succeeded, otherwise FALSE
- */
-gboolean
-purple_certificate_register_pool(PurpleCertificatePool *pool);
-
-/**
- * Unregister a CertificatePool with libpurple and call its uninit function
- *
- * @param pool   Pool to unregister.
- * @return TRUE if the unregister succeeded, otherwise FALSE
- */
-gboolean
-purple_certificate_unregister_pool(PurpleCertificatePool *pool);
-
-/*@}*/
-
-
-/**
- * Displays a window showing X.509 certificate information
- *
- * @param crt    Certificate under an "x509" Scheme
- * @todo Will break on CA certs, as they have no Common Name
- */
-void
-purple_certificate_display_x509(PurpleCertificate *crt);
-
-/**
- * Add a search path for certificates.
- *
- * @param path   Path to search for certificates.
- */
-void purple_certificate_add_ca_search_path(const char *path);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _PURPLE_CERTIFICATE_H */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/cipher.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,505 +0,0 @@
-/**
- * @file cipher.h Purple Cipher API
- * @ingroup core
- * @see @ref cipher-signals
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef PURPLE_CIPHER_H
-#define PURPLE_CIPHER_H
-
-#include <glib.h>
-
-#define PURPLE_CIPHER(obj)			((PurpleCipher *)(obj))			/**< PurpleCipher typecast helper			*/
-#define PURPLE_CIPHER_OPS(obj)		((PurpleCipherOps *)(obj))		/**< PurpleCipherInfo typecase helper		*/
-#define PURPLE_CIPHER_CONTEXT(obj)	((PurpleCipherContext *)(obj))	/**< PurpleCipherContext typecast helper	*/
-
-typedef struct _PurpleCipher			PurpleCipher;			/**< A handle to a PurpleCipher	*/
-typedef struct _PurpleCipherOps		PurpleCipherOps;		/**< Ops for a PurpleCipher		*/
-typedef struct _PurpleCipherContext	PurpleCipherContext;	/**< A context for a PurpleCipher	*/
-
-/**
- * Modes for batch encrypters
- */
-typedef enum _PurpleCipherBatchMode {
-	PURPLE_CIPHER_BATCH_MODE_ECB,
-	PURPLE_CIPHER_BATCH_MODE_CBC
-} PurpleCipherBatchMode;
-
-/**
- * The operation flags for a cipher
- */
-typedef enum _PurpleCipherCaps {
-	PURPLE_CIPHER_CAPS_SET_OPT          = 1 << 1,   /**< Set option flag	*/
-	PURPLE_CIPHER_CAPS_GET_OPT          = 1 << 2,   /**< Get option flag	*/
-	PURPLE_CIPHER_CAPS_INIT             = 1 << 3,   /**< Init flag			*/
-	PURPLE_CIPHER_CAPS_RESET            = 1 << 4,   /**< Reset flag			*/
-	PURPLE_CIPHER_CAPS_UNINIT           = 1 << 5,   /**< Uninit flag		*/
-	PURPLE_CIPHER_CAPS_SET_IV           = 1 << 6,   /**< Set IV flag		*/
-	PURPLE_CIPHER_CAPS_APPEND           = 1 << 7,   /**< Append flag		*/
-	PURPLE_CIPHER_CAPS_DIGEST           = 1 << 8,   /**< Digest flag		*/
-	PURPLE_CIPHER_CAPS_ENCRYPT          = 1 << 9,   /**< Encrypt flag		*/
-	PURPLE_CIPHER_CAPS_DECRYPT          = 1 << 10,  /**< Decrypt flag		*/
-	PURPLE_CIPHER_CAPS_SET_SALT         = 1 << 11,  /**< Set salt flag		*/
-	PURPLE_CIPHER_CAPS_GET_SALT_SIZE    = 1 << 12,  /**< Get salt size flag	*/
-	PURPLE_CIPHER_CAPS_SET_KEY          = 1 << 13,  /**< Set key flag		*/
-	PURPLE_CIPHER_CAPS_GET_KEY_SIZE     = 1 << 14,  /**< Get key size flag	*/
-	PURPLE_CIPHER_CAPS_SET_BATCH_MODE   = 1 << 15,  /**< Set batch mode flag */
-	PURPLE_CIPHER_CAPS_GET_BATCH_MODE   = 1 << 16,  /**< Get batch mode flag */
-	PURPLE_CIPHER_CAPS_GET_BLOCK_SIZE   = 1 << 17,  /**< The get block size flag */
-	PURPLE_CIPHER_CAPS_SET_KEY_WITH_LEN = 1 << 18,  /**< The set key with length flag */
-	PURPLE_CIPHER_CAPS_UNKNOWN          = 1 << 19   /**< Unknown			*/
-} PurpleCipherCaps;
-
-/**
- * The operations of a cipher.  Every cipher must implement one of these.
- */
-struct _PurpleCipherOps {
-	/** The set option function	*/
-	void (*set_option)(PurpleCipherContext *context, const gchar *name, void *value);
-
-	/** The get option function */
-	void *(*get_option)(PurpleCipherContext *context, const gchar *name);
-
-	/** The init function */
-	void (*init)(PurpleCipherContext *context, void *extra);
-
-	/** The reset function */
-	void (*reset)(PurpleCipherContext *context, void *extra);
-
-	/** The uninit function */
-	void (*uninit)(PurpleCipherContext *context);
-
-	/** The set initialization vector function */
-	void (*set_iv)(PurpleCipherContext *context, guchar *iv, size_t len);
-
-	/** The append data function */
-	void (*append)(PurpleCipherContext *context, const guchar *data, size_t len);
-
-	/** The digest function */
-	gboolean (*digest)(PurpleCipherContext *context, size_t in_len, guchar digest[], size_t *out_len);
-
-	/** The encrypt function */
-	int (*encrypt)(PurpleCipherContext *context, const guchar data[], size_t len, guchar output[], size_t *outlen);
-
-	/** The decrypt function */
-	int (*decrypt)(PurpleCipherContext *context, const guchar data[], size_t len, guchar output[], size_t *outlen);
-
-	/** The set salt function */
-	void (*set_salt)(PurpleCipherContext *context, guchar *salt);
-
-	/** The get salt size function */
-	size_t (*get_salt_size)(PurpleCipherContext *context);
-
-	/** The set key function */
-	void (*set_key)(PurpleCipherContext *context, const guchar *key);
-
-	/** The get key size function */
-	size_t (*get_key_size)(PurpleCipherContext *context);
-
-	/** The set batch mode function */
-	void (*set_batch_mode)(PurpleCipherContext *context, PurpleCipherBatchMode mode);
-
-	/** The get batch mode function */
-	PurpleCipherBatchMode (*get_batch_mode)(PurpleCipherContext *context);
-
-	/** The get block size function */
-	size_t (*get_block_size)(PurpleCipherContext *context);
-
-	/** The set key with length function */
-	void (*set_key_with_len)(PurpleCipherContext *context, const guchar *key, size_t len);
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/*****************************************************************************/
-/** @name PurpleCipher API													 */
-/*****************************************************************************/
-/*@{*/
-
-/**
- * Gets a cipher's name
- *
- * @param cipher The cipher handle
- *
- * @return The cipher's name
- */
-const gchar *purple_cipher_get_name(PurpleCipher *cipher);
-
-/**
- * Gets a cipher's capabilities
- *
- * @param cipher The cipher handle
- *
- * @return The cipher's info
- */
-guint purple_cipher_get_capabilities(PurpleCipher *cipher);
-
-/**
- * Gets a digest from a cipher
- *
- * @param name     The cipher's name
- * @param data     The data to hash
- * @param data_len The length of the data
- * @param in_len   The length of the buffer
- * @param digest   The returned digest
- * @param out_len  The length written
- *
- * @return @c TRUE if successful, @c FALSE otherwise
- */
-gboolean purple_cipher_digest_region(const gchar *name, const guchar *data, size_t data_len, size_t in_len, guchar digest[], size_t *out_len);
-
-/*@}*/
-/******************************************************************************/
-/** @name PurpleCiphers API													  */
-/******************************************************************************/
-/*@{*/
-
-/**
- * Finds a cipher by it's name
- *
- * @param name The name of the cipher to find
- *
- * @return The cipher handle or @c NULL
- */
-PurpleCipher *purple_ciphers_find_cipher(const gchar *name);
-
-/**
- * Registers a cipher as a usable cipher
- *
- * @param name The name of the new cipher
- * @param ops  The cipher ops to register
- *
- * @return The handle to the new cipher or @c NULL if it failed
- */
-PurpleCipher *purple_ciphers_register_cipher(const gchar *name, PurpleCipherOps *ops);
-
-/**
- * Unregisters a cipher
- *
- * @param cipher The cipher handle to unregister
- *
- * @return Whether or not the cipher was successfully unloaded
- */
-gboolean purple_ciphers_unregister_cipher(PurpleCipher *cipher);
-
-/**
- * Gets the list of ciphers
- *
- * @return The list of available ciphers
- * @note This list should not be modified, it is owned by the cipher core
- */
-GList *purple_ciphers_get_ciphers(void);
-
-/*@}*/
-/******************************************************************************/
-/** @name PurpleCipher Subsystem API											  */
-/******************************************************************************/
-/*@{*/
-
-/**
- * Gets the handle to the cipher subsystem
- *
- * @return The handle to the cipher subsystem
- */
-gpointer purple_ciphers_get_handle(void);
-
-/**
- * Initializes the cipher core
- */
-void purple_ciphers_init(void);
-
-/**
- * Uninitializes the cipher core
- */
-void purple_ciphers_uninit(void);
-
-/*@}*/
-/******************************************************************************/
-/** @name PurpleCipherContext API												  */
-/******************************************************************************/
-/*@{*/
-
-/**
- * Sets the value an option on a cipher context
- *
- * @param context The cipher context
- * @param name    The name of the option
- * @param value   The value to set
- */
-void purple_cipher_context_set_option(PurpleCipherContext *context, const gchar *name, gpointer value);
-
-/**
- * Gets the vale of an option on a cipher context
- *
- * @param context The cipher context
- * @param name    The name of the option
- * @return The value of the option
- */
-gpointer purple_cipher_context_get_option(PurpleCipherContext *context, const gchar *name);
-
-/**
- * Creates a new cipher context and initializes it
- *
- * @param cipher The cipher to use
- * @param extra  Extra data for the specific cipher
- *
- * @return The new cipher context
- */
-PurpleCipherContext *purple_cipher_context_new(PurpleCipher *cipher, void *extra);
-
-/**
- * Creates a new cipher context by the cipher name and initializes it
- *
- * @param name  The cipher's name
- * @param extra Extra data for the specific cipher
- *
- * @return The new cipher context
- */
-PurpleCipherContext *purple_cipher_context_new_by_name(const gchar *name, void *extra);
-
-/**
- * Resets a cipher context to it's default value
- * @note If you have set an IV you will have to set it after resetting
- *
- * @param context The context to reset
- * @param extra   Extra data for the specific cipher
- */
-void purple_cipher_context_reset(PurpleCipherContext *context, gpointer extra);
-
-/**
- * Destorys a cipher context and deinitializes it
- *
- * @param context The cipher context to destory
- */
-void purple_cipher_context_destroy(PurpleCipherContext *context);
-
-/**
- * Sets the initialization vector for a context
- * @note This should only be called right after a cipher context is created or reset
- *
- * @param context The context to set the IV to
- * @param iv      The initialization vector to set
- * @param len     The len of the IV
- */
-void purple_cipher_context_set_iv(PurpleCipherContext *context, guchar *iv, size_t len);
-
-/**
- * Appends data to the context
- *
- * @param context The context to append data to
- * @param data    The data to append
- * @param len     The length of the data
- */
-void purple_cipher_context_append(PurpleCipherContext *context, const guchar *data, size_t len);
-
-/**
- * Digests a context
- *
- * @param context The context to digest
- * @param in_len  The length of the buffer
- * @param digest  The return buffer for the digest
- * @param out_len The length of the returned value
- */
-gboolean purple_cipher_context_digest(PurpleCipherContext *context, size_t in_len, guchar digest[], size_t *out_len);
-
-/**
- * Converts a guchar digest into a hex string
- *
- * @param context  The context to get a digest from
- * @param in_len   The length of the buffer
- * @param digest_s The return buffer for the string digest
- * @param out_len  The length of the returned value
- */
-gboolean purple_cipher_context_digest_to_str(PurpleCipherContext *context, size_t in_len, gchar digest_s[], size_t *out_len);
-
-/**
- * Encrypts data using the context
- *
- * @param context The context
- * @param data    The data to encrypt
- * @param len     The length of the data
- * @param output  The output buffer
- * @param outlen  The len of data that was outputed
- *
- * @return A cipher specific status code
- */
-gint purple_cipher_context_encrypt(PurpleCipherContext *context, const guchar data[], size_t len, guchar output[], size_t *outlen);
-
-/**
- * Decrypts data using the context
- *
- * @param context The context
- * @param data    The data to encrypt
- * @param len     The length of the returned value
- * @param output  The output buffer
- * @param outlen  The len of data that was outputed
- *
- * @return A cipher specific status code
- */
-gint purple_cipher_context_decrypt(PurpleCipherContext *context, const guchar data[], size_t len, guchar output[], size_t *outlen);
-
-/**
- * Sets the salt on a context
- *
- * @param context The context whose salt to set
- * @param salt    The salt
- */
-void purple_cipher_context_set_salt(PurpleCipherContext *context, guchar *salt);
-
-/**
- * Gets the size of the salt if the cipher supports it
- *
- * @param context The context whose salt size to get
- *
- * @return The size of the salt
- */
-size_t purple_cipher_context_get_salt_size(PurpleCipherContext *context);
-
-/**
- * Sets the key on a context
- *
- * @param context The context whose key to set
- * @param key     The key
- */
-void purple_cipher_context_set_key(PurpleCipherContext *context, const guchar *key);
-
-/**
- * Gets the key size for a context
- *
- * @param context The context whose key size to get
- *
- * @return The size of the key
- */
-size_t purple_cipher_context_get_key_size(PurpleCipherContext *context);
-
-/**
- * Sets the batch mode of a context
- *
- * @param context The context whose batch mode to set
- * @param mode    The batch mode under which the cipher should operate
- *
- */
-void purple_cipher_context_set_batch_mode(PurpleCipherContext *context, PurpleCipherBatchMode mode);
-
-/**
- * Gets the batch mode of a context
- *
- * @param context The context whose batch mode to get
- *
- * @return The batch mode under which the cipher is operating
- */
-PurpleCipherBatchMode purple_cipher_context_get_batch_mode(PurpleCipherContext *context);
-
-/**
- * Gets the block size of a context
- *
- * @param context The context whose block size to get
- *
- * @return The block size of the context
- */
-size_t purple_cipher_context_get_block_size(PurpleCipherContext *context);
-
-/**
- * Sets the key with a given length on a context 
- *
- * @param context The context whose key to set
- * @param key     The key
- * @param len     The length of the key
- *
- */
-void purple_cipher_context_set_key_with_len(PurpleCipherContext *context, const guchar *key, size_t len);
-
-/**
- * Sets the cipher data for a context
- *
- * @param context The context whose cipher data to set
- * @param data    The cipher data to set
- */
-void purple_cipher_context_set_data(PurpleCipherContext *context, gpointer data);
-
-/**
- * Gets the cipher data for a context
- *
- * @param context The context whose cipher data to get
- *
- * @return The cipher data
- */
-gpointer purple_cipher_context_get_data(PurpleCipherContext *context);
-
-/*@}*/
-/*****************************************************************************/
-/** @name Purple Cipher HTTP Digest Helper Functions							 */
-/*****************************************************************************/
-/*@{*/
-
-/**
- * Calculates a session key for HTTP Digest authentation
- *
- * See RFC 2617 for more information.
- *
- * @param algorithm    The hash algorithm to use
- * @param username     The username provided by the user
- * @param realm        The authentication realm provided by the server
- * @param password     The password provided by the user
- * @param nonce        The nonce provided by the server
- * @param client_nonce The nonce provided by the client
- *
- * @return The session key, or @c NULL if an error occurred.
- */
-gchar *purple_cipher_http_digest_calculate_session_key(
-		const gchar *algorithm, const gchar *username,
-		const gchar *realm, const gchar *password,
-		const gchar *nonce, const gchar *client_nonce);
-
-/** Calculate a response for HTTP Digest authentication
- *
- * See RFC 2617 for more information.
- *
- * @param algorithm         The hash algorithm to use
- * @param method            The HTTP method in use
- * @param digest_uri        The URI from the initial request
- * @param qop               The "quality of protection"
- * @param entity            The entity body
- * @param nonce             The nonce provided by the server
- * @param nonce_count       The nonce count
- * @param client_nonce      The nonce provided by the client
- * @param session_key       The session key from purple_cipher_http_digest_calculate_session_key()
- *
- * @return The hashed response, or @c NULL if an error occurred.
- */
-gchar *purple_cipher_http_digest_calculate_response(
-		const gchar *algorithm, const gchar *method,
-		const gchar *digest_uri, const gchar *qop,
-		const gchar *entity, const gchar *nonce,
-		const gchar *nonce_count, const gchar *client_nonce,
-		const gchar *session_key);
-
-/*@}*/
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* PURPLE_CIPHER_H */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/circbuffer.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/**
- * @file circbuffer.h Buffer Utility Functions
- * @ingroup core
- */
-
-/* Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _CIRCBUFFER_H
-#define _CIRCBUFFER_H
-
-#include <glib.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _PurpleCircBuffer {
-
-	/** A pointer to the starting address of our chunk of memory. */
-	gchar *buffer;
-
-	/** The incremental amount to increase this buffer by when
-	 *  the buffer is not big enough to hold incoming data, in bytes. */
-	gsize growsize;
-
-	/** The length of this buffer, in bytes. */
-	gsize buflen;
-
-	/** The number of bytes of this buffer that contain unread data. */
-	gsize bufused;
-
-	/** A pointer to the next byte where new incoming data is
-	 *  buffered to. */
-	gchar *inptr;
-
-	/** A pointer to the next byte of buffered data that should be
-	 *  read by the consumer. */
-	gchar *outptr;
-
-} PurpleCircBuffer;
-
-/**
- * Creates a new circular buffer.  This will not allocate any memory for the
- * actual buffer until data is appended to it.
- *
- * @param growsize The amount that the buffer should grow the first time data
- *                 is appended and every time more space is needed.  Pass in
- *                 "0" to use the default of 256 bytes.
- *
- * @return The new PurpleCircBuffer. This should be freed with
- *         purple_circ_buffer_destroy when you are done with it
- */
-PurpleCircBuffer *purple_circ_buffer_new(gsize growsize);
-
-/**
- * Dispose of the PurpleCircBuffer and free any memory used by it (including any
- * memory used by the internal buffer).
- *
- * @param buf The PurpleCircBuffer to free
- */
-void purple_circ_buffer_destroy(PurpleCircBuffer *buf);
-
-/**
- * Append data to the PurpleCircBuffer.  This will grow the internal
- * buffer to fit the added data, if needed.
- *
- * @param buf The PurpleCircBuffer to which to append the data
- * @param src pointer to the data to copy into the buffer
- * @param len number of bytes to copy into the buffer
- */
-void purple_circ_buffer_append(PurpleCircBuffer *buf, gconstpointer src, gsize len);
-
-/**
- * Determine the maximum number of contiguous bytes that can be read from the
- * PurpleCircBuffer.
- * Note: This may not be the total number of bytes that are buffered - a
- * subsequent call after calling purple_circ_buffer_mark_read() may indicate more
- * data is available to read.
- *
- * @param buf the PurpleCircBuffer for which to determine the maximum contiguous
- *            bytes that can be read.
- *
- * @return the number of bytes that can be read from the PurpleCircBuffer
- */
-gsize purple_circ_buffer_get_max_read(const PurpleCircBuffer *buf);
-
-/**
- * Mark the number of bytes that have been read from the buffer.
- *
- * @param buf The PurpleCircBuffer to mark bytes read from
- * @param len The number of bytes to mark as read
- *
- * @return TRUE if we successfully marked the bytes as having been read, FALSE
- *         otherwise.
- */
-gboolean purple_circ_buffer_mark_read(PurpleCircBuffer *buf, gsize len);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CIRCBUFFER_H */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/cmdproc.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/**
- * @file cmdproc.h MSN command processor functions
- *
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _MSN_CMDPROC_H_
-#define _MSN_CMDPROC_H_
-
-typedef struct _MsnCmdProc MsnCmdProc;
-
-#include "session.h"
-#include "servconn.h"
-#include "error.h"
-#include "command.h"
-#include "table.h"
-#include "history.h"
-
-struct _MsnCmdProc
-{
-	MsnSession *session;
-	MsnServConn *servconn;
-
-	GQueue *txqueue;
-
-	MsnCommand *last_cmd;
-
-	MsnTable *cbs_table;
-
-	MsnHistory *history;
-
-	GHashTable *multiparts; /**< Multi-part message ID's */
-
-	void *data; /**< Extra data, like the switchboard. */
-};
-
-MsnCmdProc *msn_cmdproc_new(MsnSession *session);
-void msn_cmdproc_destroy(MsnCmdProc *cmdproc);
-
-void msn_cmdproc_process_queue(MsnCmdProc *cmdproc);
-
-void msn_cmdproc_send_trans(MsnCmdProc *cmdproc, MsnTransaction *trans);
-void msn_cmdproc_queue_trans(MsnCmdProc *cmdproc,
-							 MsnTransaction *trans);
-void msn_cmdproc_send(MsnCmdProc *cmdproc, const char *command,
-					  const char *format, ...);
-void msn_cmdproc_send_quick(MsnCmdProc *cmdproc, const char *command,
-							const char *format, ...);
-
-void msn_cmdproc_process_msg(MsnCmdProc *cmdproc,
-							 MsnMessage *msg);
-void msn_cmdproc_process_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd);
-void msn_cmdproc_process_cmd_text(MsnCmdProc *cmdproc, const char *command);
-void msn_cmdproc_process_payload(MsnCmdProc *cmdproc,
-								 char *payload, int payload_len);
-
-void msn_cmdproc_disconnect(MsnCmdProc *cmdproc);
-
-#endif /* _MSN_CMDPROC_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/cmds.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/**
- * @file cmds.h Commands API
- * @ingroup core
- * @see @ref cmd-signals
- */
-
-/* Copyright (C) 2003 Timothy Ringenbach <omarvo@hotmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- *
- */
-#ifndef _PURPLE_CMDS_H_
-#define _PURPLE_CMDS_H_
-
-#include "conversation.h"
-
-/**************************************************************************/
-/** @name Structures                                                      */
-/**************************************************************************/
-/*@{*/
-
-/** The possible results of running a command with purple_cmd_do_command(). */
-typedef enum _PurpleCmdStatus {
-	PURPLE_CMD_STATUS_OK,
-	PURPLE_CMD_STATUS_FAILED,
-	PURPLE_CMD_STATUS_NOT_FOUND,
-	PURPLE_CMD_STATUS_WRONG_ARGS,
-	PURPLE_CMD_STATUS_WRONG_PRPL,
-	PURPLE_CMD_STATUS_WRONG_TYPE
-} PurpleCmdStatus;
-
-/** Commands registered with the core return one of these values when run.
- *  Normally, a command will want to return one of the first two; in some
- *  unusual cases, you might want to have several functions called for a
- *  particular command; in this case, they should return
- *  #PURPLE_CMD_RET_CONTINUE to cause the core to fall through to other
- *  commands with the same name.
- */
-typedef enum _PurpleCmdRet {
-	PURPLE_CMD_RET_OK,       /**< Everything's okay; Don't look for another command to call. */
-	PURPLE_CMD_RET_FAILED,   /**< The command failed, but stop looking.*/
-	PURPLE_CMD_RET_CONTINUE /**< Continue, looking for other commands with the same name to call. */
-} PurpleCmdRet;
-
-#define PURPLE_CMD_FUNC(func) ((PurpleCmdFunc)func)
-
-/** A function implementing a command, as passed to purple_cmd_register().
- *
- *  @todo document the arguments to these functions.
- * */
-typedef PurpleCmdRet (*PurpleCmdFunc)(PurpleConversation *, const gchar *cmd,
-                                  gchar **args, gchar **error, void *data);
-/** A unique integer representing a command registered with
- *  purple_cmd_register(), which can subsequently be passed to
- *  purple_cmd_unregister() to unregister that command.
- */
-typedef guint PurpleCmdId;
-
-typedef enum _PurpleCmdPriority {
-	PURPLE_CMD_P_VERY_LOW  = -1000,
-	PURPLE_CMD_P_LOW       =     0,
-	PURPLE_CMD_P_DEFAULT   =  1000,
-	PURPLE_CMD_P_PRPL      =  2000,
-	PURPLE_CMD_P_PLUGIN    =  3000,
-	PURPLE_CMD_P_ALIAS     =  4000,
-	PURPLE_CMD_P_HIGH      =  5000,
-	PURPLE_CMD_P_VERY_HIGH =  6000
-} PurpleCmdPriority;
-
-/** Flags used to set various properties of commands.  Every command should
- *  have at least one of #PURPLE_CMD_FLAG_IM and #PURPLE_CMD_FLAG_CHAT set in
- *  order to be even slighly useful.
- *
- *  @see purple_cmd_register
- */
-typedef enum _PurpleCmdFlag {
-	/** Command is usable in IMs. */
-	PURPLE_CMD_FLAG_IM               = 0x01,
-	/** Command is usable in multi-user chats. */
-	PURPLE_CMD_FLAG_CHAT             = 0x02,
-	/** Command is usable only for a particular prpl. */
-	PURPLE_CMD_FLAG_PRPL_ONLY        = 0x04,
-	/** Incorrect arguments to this command should be accepted anyway. */
-	PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS = 0x08
-} PurpleCmdFlag;
-
-
-/*@}*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**************************************************************************/
-/** @name Commands API                                                    */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Register a new command with the core.
- *
- * The command will only happen if commands are enabled,
- * which is a UI pref. UIs don't have to support commands at all.
- *
- * @param cmd The command. This should be a UTF-8 (or ASCII) string, with no spaces
- *            or other white space.
- * @param args A string of characters describing to libpurple how to parse this
- *             command's arguments.  If what the user types doesn't match this
- *             pattern, libpurple will keep looking for another command, unless
- *             the flag #PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS is passed in @a f.
- *             This string should contain no whitespace, and use a single
- *             character for each argument.  The recognized characters are:
- *             <ul>
- *               <li><tt>'w'</tt>: Matches a single word.</li>
- *               <li><tt>'W'</tt>: Matches a single word, with formatting.</li>
- *               <li><tt>'s'</tt>: Matches the rest of the arguments after this
- *                                 point, as a single string.</li>
- *               <li><tt>'S'</tt>: Same as <tt>'s'</tt> but with formatting.</li>
- *             </ul>
- *             If args is the empty string, then the command accepts no arguments.
- *             The args passed to the callback @a func will be a @c NULL
- *             terminated array of @c NULL terminated strings, and will always
- *             match the number of arguments asked for, unless
- *             #PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS is passed.
- * @param p This is the priority. Higher priority commands will be run first,
- *          and usually the first command will stop any others from being
- *          called.
- * @param f Flags specifying various options about this command, combined with
- *          <tt>|</tt> (bitwise OR). You need to at least pass one of
- *          #PURPLE_CMD_FLAG_IM or #PURPLE_CMD_FLAG_CHAT (you may pass both) in
- *          order for the command to ever actually be called.
- * @param prpl_id If the #PURPLE_CMD_FLAG_PRPL_ONLY flag is set, this is the id
- *                of the prpl to which the command applies (such as
- *                <tt>"prpl-msn"</tt>). If the flag is not set, this parameter
- *                is ignored; pass @c NULL (or a humourous string of your
- *                choice!).
- * @param func This is the function to call when someone enters this command.
- * @param helpstr a whitespace sensitive, UTF-8, HTML string describing how to
- *                use the command.  The preferred format of this string is the
- *                command's name, followed by a space and any arguments it
- *                accepts (if it takes any arguments, otherwise no space),
- *                followed by a colon, two spaces, and a description of the
- *                command in sentence form.  Do not include a slash before the
- *                command name.
- * @param data User defined data to pass to the #PurpleCmdFunc @a f.
- * @return A #PurpleCmdId, which is only used for calling
- *         #purple_cmd_unregister, or @a 0 on failure.
- */
-PurpleCmdId purple_cmd_register(const gchar *cmd, const gchar *args, PurpleCmdPriority p, PurpleCmdFlag f,
-                             const gchar *prpl_id, PurpleCmdFunc func, const gchar *helpstr, void *data);
-
-/**
- * Unregister a command with the core.
- *
- * All registered commands must be unregistered, if they're registered by a plugin
- * or something else that might go away. Normally this is called when the plugin
- * unloads itself.
- *
- * @param id The #PurpleCmdId to unregister, as returned by #purple_cmd_register.
- */
-void purple_cmd_unregister(PurpleCmdId id);
-
-/**
- * Do a command.
- *
- * Normally the UI calls this to perform a command. This might also be useful
- * if aliases are ever implemented.
- *
- * @param conv The conversation the command was typed in.
- * @param cmdline The command the user typed (including all arguments) as a single string.
- *            The caller doesn't have to do any parsing, except removing the command
- *            prefix, which the core has no knowledge of. cmd should not contain any
- *            formatting, and should be in plain text (no html entities).
- * @param markup This is the same as cmd, but is the formatted version. It should be in
- *               HTML, with < > and &, at least, escaped to html entities, and should
- *               include both the default formatting and any extra manual formatting.
- * @param errormsg If the command failed errormsg is filled in with the appropriate error
- *                 message. It must be freed by the caller with g_free().
- * @return A #PurpleCmdStatus indicating if the command succeeded or failed.
- */
-PurpleCmdStatus purple_cmd_do_command(PurpleConversation *conv, const gchar *cmdline,
-                                  const gchar *markup, gchar **errormsg);
-
-/**
- * List registered commands.
- *
- * Returns a <tt>GList</tt> (which must be freed by the caller) of all commands
- * that are valid in the context of @a conv, or all commands, if @a conv is @c
- * NULL.  Don't keep this list around past the main loop, or anything else that
- * might unregister a command, as the <tt>const char *</tt>'s used get freed
- * then.
- *
- * @param conv The conversation, or @c NULL.
- * @return A @c GList of <tt>const char *</tt>, which must be freed with
- *         <tt>g_list_free()</tt>.
- */
-GList *purple_cmd_list(PurpleConversation *conv);
-
-/**
- * Get the help string for a command.
- *
- * Returns the help strings for a given command in the form of a GList,
- * one node for each matching command.
- *
- * @param conv The conversation, or @c NULL for no context.
- * @param cmd The command. No wildcards accepted, but returns help for all
- *            commands if @c NULL.
- * @return A <tt>GList</tt> of <tt>const char *</tt>s, which is the help string
- *         for that command.
- */
-GList *purple_cmd_help(PurpleConversation *conv, const gchar *cmd);
-
-/**
- * Get the handle for the commands API
- * @return The handle
- * @since 2.5.0
- */
-gpointer purple_cmds_get_handle(void);
-
-/**
- * Initialize the commands subsystem.
- * @since 2.5.0
- */
-void purple_cmds_init(void);
-
-/**
- * Uninitialize the commands subsystem.
- * @since 2.5.0
- */
-void purple_cmds_uninit(void);
-
-/*@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_CMDS_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/command.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/**
- * @file command.h MSN command functions
- *
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _MSN_COMMAND_H
-#define _MSN_COMMAND_H
-
-typedef struct _MsnCommand MsnCommand;
-
-#include "cmdproc.h"
-#include "transaction.h"
-
-typedef void (*MsnPayloadCb)(MsnCmdProc *cmdproc, MsnCommand *cmd,
-							 char *payload, size_t len);
-
-/**
- * A received command.
- */
-struct _MsnCommand
-{
-	unsigned int trId;
-
-	char *command;
-	char **params;
-	int param_count;
-
-	int ref_count;
-
-	MsnTransaction *trans;
-
-	char *payload;
-	size_t payload_len;
-
-	MsnPayloadCb payload_cb;
-	void *payload_cbdata;
-};
-
-MsnCommand *msn_command_from_string(const char *string);
-void msn_command_destroy(MsnCommand *cmd);
-MsnCommand *msn_command_ref(MsnCommand *cmd);
-MsnCommand *msn_command_unref(MsnCommand *cmd);
-
-#endif /* _MSN_COMMAND_H */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/connection.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,582 +0,0 @@
-/**
- * @file connection.h Connection API
- * @ingroup core
- * @see @ref connection-signals
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_CONNECTION_H_
-#define _PURPLE_CONNECTION_H_
-
-/** @copydoc _PurpleConnection */
-typedef struct _PurpleConnection PurpleConnection;
-
-/**
- * Flags to change behavior of the client for a given connection.
- */
-typedef enum
-{
-	PURPLE_CONNECTION_HTML       = 0x0001, /**< Connection sends/receives in 'HTML'. */
-	PURPLE_CONNECTION_NO_BGCOLOR = 0x0002, /**< Connection does not send/receive
-					           background colors.                  */
-	PURPLE_CONNECTION_AUTO_RESP  = 0x0004,  /**< Send auto responses when away.       */
-	PURPLE_CONNECTION_FORMATTING_WBFO = 0x0008, /**< The text buffer must be formatted as a whole */
-	PURPLE_CONNECTION_NO_NEWLINES = 0x0010, /**< No new lines are allowed in outgoing messages */
-	PURPLE_CONNECTION_NO_FONTSIZE = 0x0020, /**< Connection does not send/receive font sizes */
-	PURPLE_CONNECTION_NO_URLDESC = 0x0040,  /**< Connection does not support descriptions with links */ 
-	PURPLE_CONNECTION_NO_IMAGES = 0x0080,  /**< Connection does not support sending of images */
-	PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY = 0x0100 /**< Connection supports sending and receiving custom smileys */
-
-} PurpleConnectionFlags;
-
-typedef enum
-{
-	PURPLE_DISCONNECTED = 0, /**< Disconnected. */
-	PURPLE_CONNECTED,        /**< Connected.    */
-	PURPLE_CONNECTING        /**< Connecting.   */
-
-} PurpleConnectionState;
-
-/** Possible errors that can cause a connection to be closed.
- *  @since 2.3.0
- */
-typedef enum
-{
-	/** There was an error sending or receiving on the network socket, or
-	 *  there was some protocol error (such as the server sending malformed
-	 *  data).
-	 */
-	PURPLE_CONNECTION_ERROR_NETWORK_ERROR = 0,
-	/** The username supplied was not valid. */
-	PURPLE_CONNECTION_ERROR_INVALID_USERNAME = 1,
-	/** The username, password or some other credential was incorrect.  Use
-	 *  #PURPLE_CONNECTION_ERROR_INVALID_USERNAME instead if the username
-         *  is known to be invalid.
-	 */
-	PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED = 2,
-	/** libpurple doesn't speak any of the authentication methods the
-	 *  server offered.
-	 */
-	PURPLE_CONNECTION_ERROR_AUTHENTICATION_IMPOSSIBLE = 3,
-	/** libpurple was built without SSL support, and the connection needs
-	 *  SSL.
-	 */
-	PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT = 4,
-	/** There was an error negotiating SSL on this connection, or the
-	 *  server does not support encryption but an account option was set to
-	 *  require it.
-	 */
-	PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR = 5,
-	/** Someone is already connected to the server using the name you are
-	 *  trying to connect with.
-	 */
-	PURPLE_CONNECTION_ERROR_NAME_IN_USE = 6,
-
-	/** The username/server/other preference for the account isn't valid.
-	 *  For instance, on IRC the screen name cannot contain white space.
-	 *  This reason should not be used for incorrect passwords etc: use
-	 *  #PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED for that.
-	 *
-	 *  @todo This reason really shouldn't be necessary.  Usernames and
-	 *        other account preferences should be validated when the
-	 *        account is created.
-	 */
-	PURPLE_CONNECTION_ERROR_INVALID_SETTINGS = 7,
-
-	/** The server did not provide a SSL certificate. */
-	PURPLE_CONNECTION_ERROR_CERT_NOT_PROVIDED = 8,
-	/** The server's SSL certificate could not be trusted. */
-	PURPLE_CONNECTION_ERROR_CERT_UNTRUSTED = 9,
-	/** The server's SSL certificate has expired. */
-	PURPLE_CONNECTION_ERROR_CERT_EXPIRED = 10,
-	/** The server's SSL certificate is not yet valid. */
-	PURPLE_CONNECTION_ERROR_CERT_NOT_ACTIVATED = 11,
-	/** The server's SSL certificate did not match its hostname. */
-	PURPLE_CONNECTION_ERROR_CERT_HOSTNAME_MISMATCH = 12,
-	/** The server's SSL certificate does not have the expected
-	 *  fingerprint.
-	 */
-	PURPLE_CONNECTION_ERROR_CERT_FINGERPRINT_MISMATCH = 13,
-	/** The server's SSL certificate is self-signed.  */
-	PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED = 14,
-	/** There was some other error validating the server's SSL certificate.
-	 */
-	PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR = 15,
-
-	/** Some other error occurred which fits into none of the other
-	 *  categories.
-	 */
-	/* purple_connection_error_reason() in connection.c uses the fact that
-	 * this is the last member of the enum when sanity-checking; if other
-	 * reasons are added after it, the check must be updated.
-	 */
-	PURPLE_CONNECTION_ERROR_OTHER_ERROR = 16
-} PurpleConnectionError;
-
-/** Holds the type of an error along with its description. */
-typedef struct
-{
-	/** The type of error. */
-	PurpleConnectionError type;
-	/** A localised, human-readable description of the error. */
-	char *description;
-} PurpleConnectionErrorInfo;
-
-#include <time.h>
-
-#include "account.h"
-#include "plugin.h"
-#include "status.h"
-#include "sslconn.h"
-
-/** Connection UI operations.  Used to notify the user of changes to
- *  connections, such as being disconnected, and to respond to the
- *  underlying network connection appearing and disappearing.  UIs should
- *  call #purple_connections_set_ui_ops() with an instance of this struct.
- *
- *  @see @ref ui-ops
- */
-typedef struct
-{
-	/** When an account is connecting, this operation is called to notify
-	 *  the UI of what is happening, as well as which @a step out of @a
-	 *  step_count has been reached (which might be displayed as a progress
-	 *  bar).
-	 *  @see #purple_connection_update_progress
-	 */
-	void (*connect_progress)(PurpleConnection *gc,
-	                         const char *text,
-	                         size_t step,
-	                         size_t step_count);
-
-	/** Called when a connection is established (just before the
-	 *  @ref signed-on signal).
-	 */
-	void (*connected)(PurpleConnection *gc);
-	/** Called when a connection is ended (between the @ref signing-off
-	 *  and @ref signed-off signals).
-	 */
-	void (*disconnected)(PurpleConnection *gc);
-
-	/** Used to display connection-specific notices.  (Pidgin's Gtk user
-	 *  interface implements this as a no-op; #purple_connection_notice(),
-	 *  which uses this operation, is not used by any of the protocols
-	 *  shipped with libpurple.)
-	 */
-	void (*notice)(PurpleConnection *gc, const char *text);
-
-	/** Called when an error causes a connection to be disconnected.
-	 *  Called before #disconnected.
-	 *  @param text  a localized error message.
-	 *  @see #purple_connection_error
-	 *  @deprecated in favour of
-	 *              #PurpleConnectionUiOps.report_disconnect_reason.
-	 */
-	void (*report_disconnect)(PurpleConnection *gc, const char *text);
-
-	/** Called when libpurple discovers that the computer's network
-	 *  connection is active.  On Linux, this uses Network Manager if
-	 *  available; on Windows, it uses Win32's network change notification
-	 *  infrastructure.
-	 */
-	void (*network_connected)(void);
-	/** Called when libpurple discovers that the computer's network
-	 *  connection has gone away.
-	 */
-	void (*network_disconnected)(void);
-
-	/** Called when an error causes a connection to be disconnected.
-	 *  Called before #disconnected.  This op is intended to replace
-	 *  #report_disconnect.  If both are implemented, this will be called
-	 *  first; however, there's no real reason to implement both.
-	 *  @param reason  why the connection ended, if known, or
-	 *                 #PURPLE_CONNECTION_ERROR_OTHER_ERROR, if not.
-	 *  @param text  a localized message describing the disconnection
-	 *               in more detail to the user.
-	 *  @see #purple_connection_error_reason
-	 *  @since 2.3.0
-	 */
-	void (*report_disconnect_reason)(PurpleConnection *gc,
-	                                 PurpleConnectionError reason,
-	                                 const char *text);
-
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-} PurpleConnectionUiOps;
-
-
-/* Represents an active connection on an account. */
-struct _PurpleConnection
-{
-	PurplePlugin *prpl;            /**< The protocol plugin.               */
-	PurpleConnectionFlags flags;   /**< Connection flags.                  */
-
-	PurpleConnectionState state;   /**< The connection state.              */
-
-	PurpleAccount *account;        /**< The account being connected to.    */
-	char *password;              /**< The password used.                 */
-	int inpa;                    /**< The input watcher.                 */
-
-	GSList *buddy_chats;         /**< A list of active chats
-	                                  (#PurpleConversation structs of type
-	                                  #PURPLE_CONV_TYPE_CHAT).           */
-	void *proto_data;            /**< Protocol-specific data.            */
-
-	char *display_name;          /**< How you appear to other people.    */
-	guint keepalive;             /**< Keep-alive.                        */
-
-	/** Wants to Die state.  This is set when the user chooses to log out, or
-	 * when the protocol is disconnected and should not be automatically
-	 * reconnected (incorrect password, etc.).  prpls should rely on
-	 * purple_connection_error_reason() to set this for them rather than
-	 * setting it themselves.
-	 * @see purple_connection_error_is_fatal
-	 */
-	gboolean wants_to_die;
-
-	guint disconnect_timeout;    /**< Timer used for nasty stack tricks  */
-	time_t last_received;        /**< When we last received a packet. Set by the
-					  prpl to avoid sending unneeded keepalives */
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**************************************************************************/
-/** @name Connection API                                                  */
-/**************************************************************************/
-/*@{*/
-
-#if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_CONNECTION_C_)
-/**
- * This function should only be called by purple_account_connect()
- * in account.c.  If you're trying to sign on an account, use that
- * function instead.
- *
- * Creates a connection to the specified account and either connects
- * or attempts to register a new account.  If you are logging in,
- * the connection uses the current active status for this account.
- * So if you want to sign on as "away," for example, you need to
- * have called purple_account_set_status(account, "away").
- * (And this will call purple_account_connect() automatically).
- *
- * @param account  The account the connection should be connecting to.
- * @param regist   Whether we are registering a new account or just
- *                 trying to do a normal signon.
- * @param password The password to use.
- *
- * @deprecated As this is internal, we should make it private in 3.0.0.
- */
-void purple_connection_new(PurpleAccount *account, gboolean regist,
-									const char *password);
-#endif
-
-#if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_CONNECTION_C_)
-/**
- * This function should only be called by purple_account_unregister()
- * in account.c.
- *
- * Tries to unregister the account on the server. If the account is not
- * connected, also creates a new connection.
- *
- * @param account  The account to unregister
- * @param password The password to use.
- * @param cb Optional callback to be called when unregistration is complete
- * @param user_data user data to pass to the callback
- *
- * @deprecated As this is internal, we should make it private in 3.0.0.
- */
-void purple_connection_new_unregister(PurpleAccount *account, const char *password, PurpleAccountUnregistrationCb cb, void *user_data);
-#endif
-
-#if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_CONNECTION_C_)
-/**
- * Disconnects and destroys a PurpleConnection.
- *
- * This function should only be called by purple_account_disconnect()
- * in account.c.  If you're trying to sign off an account, use that
- * function instead.
- *
- * @param gc The purple connection to destroy.
- *
- * @deprecated As this is internal, we should make it private in 3.0.0.
- */
-void purple_connection_destroy(PurpleConnection *gc);
-#endif
-
-/**
- * Sets the connection state.  PRPLs should call this and pass in
- * the state #PURPLE_CONNECTED when the account is completely
- * signed on.  What does it mean to be completely signed on?  If
- * the core can call prpl->set_status, and it successfully changes
- * your status, then the account is online.
- *
- * @param gc    The connection.
- * @param state The connection state.
- */
-void purple_connection_set_state(PurpleConnection *gc, PurpleConnectionState state);
-
-/**
- * Sets the connection's account.
- *
- * @param gc      The connection.
- * @param account The account.
- */
-void purple_connection_set_account(PurpleConnection *gc, PurpleAccount *account);
-
-/**
- * Sets the connection's displayed name.
- *
- * @param gc   The connection.
- * @param name The displayed name.
- */
-void purple_connection_set_display_name(PurpleConnection *gc, const char *name);
-
-/**
- * Returns the connection state.
- *
- * @param gc The connection.
- *
- * @return The connection state.
- */
-PurpleConnectionState purple_connection_get_state(const PurpleConnection *gc);
-
-/**
- * Returns TRUE if the account is connected, otherwise returns FALSE.
- *
- * @return TRUE if the account is connected, otherwise returns FALSE.
- */
-#define PURPLE_CONNECTION_IS_CONNECTED(gc) \
-	(purple_connection_get_state(gc) == PURPLE_CONNECTED)
-
-/**
- * Returns the connection's account.
- *
- * @param gc The connection.
- *
- * @return The connection's account.
- */
-PurpleAccount *purple_connection_get_account(const PurpleConnection *gc);
-
-/**
- * Returns the protocol plugin managing a connection.
- *
- * @param gc The connection.
- *
- * @return The protocol plugin.
- * @since 2.4.0
- */
-PurplePlugin * purple_connection_get_prpl(const PurpleConnection *gc);
-
-/**
- * Returns the connection's password.
- *
- * @param gc The connection.
- *
- * @return The connection's password.
- */
-const char *purple_connection_get_password(const PurpleConnection *gc);
-
-/**
- * Returns the connection's displayed name.
- *
- * @param gc The connection.
- *
- * @return The connection's displayed name.
- */
-const char *purple_connection_get_display_name(const PurpleConnection *gc);
-
-/**
- * Updates the connection progress.
- *
- * @param gc    The connection.
- * @param text  Information on the current step.
- * @param step  The current step.
- * @param count The total number of steps.
- */
-void purple_connection_update_progress(PurpleConnection *gc, const char *text,
-									 size_t step, size_t count);
-
-/**
- * Displays a connection-specific notice.
- *
- * @param gc   The connection.
- * @param text The notice text.
- */
-void purple_connection_notice(PurpleConnection *gc, const char *text);
-
-/**
- * Closes a connection with an error.
- *
- * @param gc     The connection.
- * @param reason The error text, which may not be @c NULL.
- * @deprecated in favour of #purple_connection_error_reason.  Calling
- *  @c purple_connection_error(gc, text) is equivalent to calling
- *  @c purple_connection_error_reason(gc, reason, text) where @c reason is
- *  #PURPLE_CONNECTION_ERROR_OTHER_ERROR if @c gc->wants_to_die is @c TRUE, and
- *  #PURPLE_CONNECTION_ERROR_NETWORK_ERROR if not.  (This is to keep
- *  auto-reconnection behaviour the same when using old prpls which don't use
- *  reasons yet.)
- */
-void purple_connection_error(PurpleConnection *gc, const char *reason);
-
-/**
- * Closes a connection with an error and a human-readable description of the
- * error.  It also sets @c gc->wants_to_die to the value of
- * #purple_connection_error_is_fatal(@a reason), mainly for
- * backwards-compatibility.
- *
- * @param gc          the connection which is closing.
- * @param reason      why the connection is closing.
- * @param description a non-@c NULL localized description of the error.
- * @since 2.3.0
- */
-void
-purple_connection_error_reason (PurpleConnection *gc,
-                                PurpleConnectionError reason,
-                                const char *description);
-
-/**
- * Closes a connection due to an SSL error; this is basically a shortcut to
- * turning the #PurpleSslErrorType into a #PurpleConnectionError and a
- * human-readable string and then calling purple_connection_error_reason().
- * @since 2.3.0
- */
-void
-purple_connection_ssl_error (PurpleConnection *gc,
-                             PurpleSslErrorType ssl_error);
-
-/**
- * Reports whether a disconnection reason is fatal (in which case the account
- * should probably not be automatically reconnected) or transient (so
- * auto-reconnection is a good idea).
- * For instance, #PURPLE_CONNECTION_ERROR_NETWORK_ERROR is a temporary error,
- * which might be caused by losing the network connection, so <tt>
- * purple_connection_error_is_fatal (PURPLE_CONNECTION_ERROR_NETWORK_ERROR)</tt>
- * is @c FALSE.  On the other hand,
- * #PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED probably indicates a
- * misconfiguration of the account which needs the user to go fix it up, so
- * <tt> purple_connection_error_is_fatal
- * (PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED)</tt> is @c TRUE.
- *
- * (This function is meant to replace checking PurpleConnection.wants_to_die.)
- *
- * @return @c TRUE if the account should not be automatically reconnected, and
- *         @c FALSE otherwise.
- * @since 2.3.0
- */
-gboolean
-purple_connection_error_is_fatal (PurpleConnectionError reason);
-
-/*@}*/
-
-/**************************************************************************/
-/** @name Connections API                                                 */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Disconnects from all connections.
- */
-void purple_connections_disconnect_all(void);
-
-/**
- * Returns a list of all active connections.  This does not
- * include connections that are in the process of connecting.
- *
- * @constreturn A list of all active connections.
- */
-GList *purple_connections_get_all(void);
-
-/**
- * Returns a list of all connections in the process of connecting.
- *
- * @constreturn A list of connecting connections.
- */
-GList *purple_connections_get_connecting(void);
-
-/**
- * Checks if gc is still a valid pointer to a gc.
- *
- * @return @c TRUE if gc is valid.
- */
-/*
- * TODO: Eventually this bad boy will be removed, because it is
- *       a gross fix for a crashy problem.
- */
-#define PURPLE_CONNECTION_IS_VALID(gc) (g_list_find(purple_connections_get_all(), (gc)) != NULL)
-
-/*@}*/
-
-/**************************************************************************/
-/** @name UI Registration Functions                                       */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Sets the UI operations structure to be used for connections.
- *
- * @param ops The UI operations structure.
- */
-void purple_connections_set_ui_ops(PurpleConnectionUiOps *ops);
-
-/**
- * Returns the UI operations structure used for connections.
- *
- * @return The UI operations structure in use.
- */
-PurpleConnectionUiOps *purple_connections_get_ui_ops(void);
-
-/*@}*/
-
-/**************************************************************************/
-/** @name Connections Subsystem                                           */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Initializes the connections subsystem.
- */
-void purple_connections_init(void);
-
-/**
- * Uninitializes the connections subsystem.
- */
-void purple_connections_uninit(void);
-
-/**
- * Returns the handle to the connections subsystem.
- *
- * @return The connections subsystem handle.
- */
-void *purple_connections_get_handle(void);
-
-/*@}*/
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_CONNECTION_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/contact.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,699 +0,0 @@
-/**
- * @file contact.h			Header file for contact.c
- *	Author
- * 		MaYuan<mayuan2006@gmail.com>
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-#ifndef _MSN_CONTACT_H_
-#define _MSN_CONTACT_H_
-
-#include "session.h"
-#include "soap.h"
-
-#define MSN_APPLICATION_ID "CFE80F9D-180F-4399-82AB-413F33A1FA11"
-
-#define MSN_CONTACT_SERVER	"omega.contacts.msn.com"
-
-/* Get Contact List */
-
-#define MSN_GET_CONTACT_POST_URL	"/abservice/SharingService.asmx"
-#define MSN_GET_CONTACT_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/FindMembership"
-
-#define MSN_GET_CONTACT_UPDATE_XML \
-	"<View>Full</View>"\
-	"<deltasOnly>true</deltasOnly>"\
-	"<lastChange>%s</lastChange>"
-
-#define MSN_GET_CONTACT_TEMPLATE	"<?xml version='1.0' encoding='utf-8'?>"\
-"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
-	"<soap:Header xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId xmlns=\"http://www.msn.com/webservices/AddressBook\">" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration xmlns=\"http://www.msn.com/webservices/AddressBook\">false</IsMigration>"\
-			"<PartnerScenario xmlns=\"http://www.msn.com/webservices/AddressBook\">%s</PartnerScenario>"\
-		 "</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest xmlns=\"http://www.msn.com/webservices/AddressBook\">false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
-		"<FindMembership xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<serviceFilter xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-				"<Types xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Messenger</ServiceType>"\
-					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Invitation</ServiceType>"\
-					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">SocialNetwork</ServiceType>"\
-					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Space</ServiceType>"\
-					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Profile</ServiceType>"\
-				"</Types>"\
-			"</serviceFilter>"\
-			"%s"\
-		"</FindMembership>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/************************************************
- * Address Book SOAP
- * *********************************************/
-
-#define MSN_ADDRESS_BOOK_POST_URL	"/abservice/abservice.asmx"
-
-/* Create AddressBook template */
-#define MSN_ADD_ADDRESSBOOK_SOAP_ACTION     "http://www.msn.com/webservices/AddressBook/ABAdd"
-
-#define MSN_ADD_ADDRESSBOOK_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope"\
-	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Initial</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABAdd xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abInfo>"\
-				"<name/>"\
-				"<ownerPuid>0</ownerPuid>"\
-				"<ownerEmail>%s</ownerEmail>"\
-				"<fDefault>true</fDefault>"\
-			"</abInfo>"\
-		"</ABAdd>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/* Get AddressBook */
-#define MSN_GET_ADDRESS_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABFindAll"
-#define MSN_GET_ADDRESS_FULL_TIME	"0001-01-01T00:00:00.0000000-08:00"
-#define MSN_GET_ADDRESS_UPDATE_XML \
-	"<deltasOnly>true</deltasOnly>"\
-	"<lastChange>%s</lastChange>"
-
-#define MSN_GET_GLEAM_UPDATE_XML \
-	"%s"\
-	"<dynamicItemView>Gleam</dynamicItemView>"\
-	"<dynamicItemLastChange>%s</dynamicItemLastChange>"
-
-#define MSN_GET_ADDRESS_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope"\
-	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>%s</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABFindAll xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<abView>Full</abView>"\
-			"%s"\
-		"</ABFindAll>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-
-/*Gleams SOAP request template*/
-#define MSN_GET_GLEAMS_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/ABFindAll"
-#define MSN_GLEAMS_TEMPLATE "<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope"\
-	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Initial</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABFindAll xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<abView>Full</abView>"\
-			"<dynamicItemView>Gleam</dynamicItemView>"\
-			"<dynamicItemLastChange>0001-01-01T00:00:00.0000000-08:00</dynamicItemLastChange>"\
-		"</ABFindAll>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-
-/*******************************************************
- * Contact Management SOAP actions
- *******************************************************/
-
-/* Add a new contact */
-#define MSN_CONTACT_ADD_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABContactAdd"
-#define MSN_CONTACT_LIVE_PENDING_XML \
-	"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-		"<contactInfo>"\
-			"<contactType>LivePending</contactType>"\
-			"<passportName>%s</passportName>"\
-			"<isMessengerUser>true</isMessengerUser>"\
-		"</contactInfo>"\
-	"</Contact>"
-
-#define MSN_CONTACT_XML	\
-	"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-		"<contactInfo>"\
-			"<passportName>%s</passportName>"\
-			"<isSmtp>false</isSmtp>"\
-			"<isMessengerUser>true</isMessengerUser>"\
-		"</contactInfo>"\
-	"</Contact>"
-
-#define MSN_CONTACT_DISPLAYNAME_XML	\
-	"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-		"<contactInfo>"\
-			"<displayName>%s</displayName>"\
-			"<passportName>%s</passportName>"\
-			"<isMessengerUser>true</isMessengerUser>"\
-		"</contactInfo>"\
-	"</Contact>"
-
-#define MSN_CONTACT_ID_XML \
-	"<Contact>"\
-		"<contactId>%s</contactId>"\
-	"</Contact>"
-
-#define MSN_CONTACT_EMAIL_XML \
-	"<Contact>"\
-		"<contactInfo>"\
-			"<emails>"\
-				"<ContactEmail>"\
-					"<contactEmailType>%s</contactEmailType>"\
-					"<email>%s</email>"\
-					"<isMessengerEnabled>true</isMessengerEnabled>"\
-					"<Capability>%d</Capability>"\
-					"<MessengerEnabledExternally>false</MessengerEnabledExternally>"\
-					"<propertiesChanged/>"\
-				"</ContactEmail>"\
-			"</emails>"\
-		"</contactInfo>"\
-	"</Contact>"
-
-#define MSN_ADD_CONTACT_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>ContactSave</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABContactAdd xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<contacts>%s</contacts>"\
-			"<options>"\
-				"<EnableAllowListManagement>true</EnableAllowListManagement>"\
-			"</options>"\
-		"</ABContactAdd>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/* Add a contact to a group */
-#define MSN_ADD_CONTACT_GROUP_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupContactAdd"
-#define MSN_ADD_CONTACT_GROUP_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>ContactSave</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABGroupContactAdd xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<groupFilter>"\
-				"<groupIds>"\
-					"<guid>%s</guid>"\
-				"</groupIds>"\
-			"</groupFilter>"\
-			"<contacts>%s</contacts>"\
-			"<groupContactAddOptions>"\
-				"<fGenerateMissingQuickName>true</fGenerateMissingQuickName>"\
-				"<EnableAllowListManagement>true</EnableAllowListManagement>"\
-			"</groupContactAddOptions>"\
-		"</ABGroupContactAdd>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/* Delete a contact from the Contact List */
-#define MSN_CONTACT_DEL_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABContactDelete"
-#define MSN_DEL_CONTACT_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope"\
-	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Timer</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABContactDelete xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<contacts>%s</contacts>"\
-		"</ABContactDelete>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/* Remove a contact from a group */
-#define MSN_CONTACT_DEL_GROUP_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupContactDelete"
-#define MSN_CONTACT_DEL_GROUP_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope"\
-	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Timer</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABGroupContactDelete xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<contacts>%s</contacts>"\
-			"<groupFilter>"\
-				"<groupIds>"\
-					"<guid>%s</guid>"\
-				"</groupIds>"\
-			"</groupFilter>"\
-		"</ABGroupContactDelete>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-
-/* Update Contact Information */
-#define MSN_CONTACT_UPDATE_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABContactUpdate"
-#define MSN_CONTACT_UPDATE_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope"\
-	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Timer</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABContactUpdate xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<contacts>"\
-				"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-					""\
-				"</Contact>"\
-			"</contacts>"\
-		"</ABContactUpdate>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/*******************************************************
- * Add/Delete contact from lists SOAP actions
- *******************************************************/
-
-/* block means delete from allow list and add contact to block list */
-#define MSN_SHARE_POST_URL		"/abservice/SharingService.asmx"
-
-#define MSN_ADD_MEMBER_TO_LIST_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/AddMember"
-#define MSN_DELETE_MEMBER_FROM_LIST_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/DeleteMember"
-
-#define MSN_MEMBER_PASSPORT_XML	\
-	"<Member xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"%s\">"\
-		"<Type>%s</Type>"\
-		"<State>Accepted</State>"\
-		"<%s>%s</%s>"\
-	"</Member>"
-
-#define MSN_MEMBER_MEMBERSHIPID_XML	\
-	"<Member xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"%s\">"\
-		"<Type>%s</Type>"\
-		"<MembershipId>%u</MembershipId>"\
-		"<State>Accepted</State>"\
-	"</Member>"
-
-/* first delete contact from allow list */
-
-#define MSN_CONTACT_DELETE_FROM_LIST_TEMPLATE "<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope"\
-	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>%s</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<DeleteMember xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<serviceHandle>"\
-				"<Id>0</Id>"\
-				"<Type>Messenger</Type>"\
-				"<ForeignId></ForeignId>"\
-			"</serviceHandle>"\
-			"<memberships>"\
-				"<Membership>"\
-					"<MemberRole>%s</MemberRole>"\
-					"<Members>"\
-						"%s"\
-					"</Members>"\
-				"</Membership>"\
-			"</memberships>"\
-		"</DeleteMember>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-#define MSN_CONTACT_ADD_TO_LIST_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope"\
-	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>%s</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<AddMember xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<serviceHandle>"\
-				"<Id>0</Id>"\
-				"<Type>Messenger</Type>"\
-				"<ForeignId></ForeignId>"\
-			"</serviceHandle>"\
-			"<memberships>"\
-				"<Membership>"\
-					"<MemberRole>%s</MemberRole>"\
-					"<Members>"\
-						"%s"\
-					"</Members>"\
-				"</Membership>"\
-			"</memberships>"\
-		"</AddMember>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-
-
-/*******************************************************
- * Group management SOAP actions
- *******************************************************/
-
-/* add a group */
-#define MSN_GROUP_ADD_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupAdd"
-#define MSN_GROUP_ADD_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope"\
-	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>GroupSave</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABGroupAdd xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<groupAddOptions>"\
-				"<fRenameOnMsgrConflict>false</fRenameOnMsgrConflict>"\
-			"</groupAddOptions>"\
-			"<groupInfo>"\
-				"<GroupInfo>"\
-					"<name>%s</name>"\
-					"<groupType>C8529CE2-6EAD-434d-881F-341E17DB3FF8</groupType>"\
-					"<fMessenger>false</fMessenger>"\
-					"<annotations>"\
-						"<Annotation>"\
-							"<Name>MSN.IM.Display</Name>"\
-							"<Value>1</Value>"\
-						"</Annotation>"\
-					"</annotations>"\
-				"</GroupInfo>"\
-			"</groupInfo>"\
-		"</ABGroupAdd>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/* delete a group */
-#define MSN_GROUP_DEL_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupDelete"
-#define MSN_GROUP_DEL_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope"\
-	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Timer</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABGroupDelete xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<groupFilter>"\
-				"<groupIds>"\
-					"<guid>%s</guid>"\
-				"</groupIds>"\
-			"</groupFilter>"\
-		"</ABGroupDelete>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/* change a group's name */
-#define MSN_GROUP_RENAME_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupUpdate"
-#define MSN_GROUP_RENAME_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
-"<soap:Envelope"\
-	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
-	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
-	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
-	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
-	"<soap:Header>"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Timer</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABGroupUpdate xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<groups>"\
-				"<Group>"\
-					"<groupId>%s</groupId>"\
-					"<groupInfo>"\
-						"<name>%s</name>"\
-					"</groupInfo>"\
-					"<propertiesChanged>GroupName </propertiesChanged>"\
-				"</Group>"\
-			"</groups>"\
-		"</ABGroupUpdate>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-typedef enum
-{
-	MSN_ADD_BUDDY       = 0x01,
-	MSN_MOVE_BUDDY      = 0x02,
-	MSN_ACCEPTED_BUDDY  = 0x04,
-	MSN_DENIED_BUDDY    = 0x08,
-	MSN_ADD_GROUP       = 0x10,
-	MSN_DEL_GROUP       = 0x20,
-	MSN_RENAME_GROUP    = 0x40,
-	MSN_UPDATE_INFO     = 0x80
-} MsnCallbackAction;
-
-typedef enum
-{
-	MSN_PS_INITIAL,
-	MSN_PS_SAVE_CONTACT,
-	MSN_PS_PENDING_LIST,
-	MSN_PS_CONTACT_API,
-	MSN_PS_BLOCK_UNBLOCK
-} MsnSoapPartnerScenario;
-
-typedef struct _MsnCallbackState MsnCallbackState;
-
-struct _MsnCallbackState
-{
-	gchar * who;
-	gchar * uid;
-	gchar * old_group_name;
-	gchar * new_group_name;
-	gchar * guid;
-	MsnListId list_id;
-	MsnCallbackAction action;
-	MsnSession *session;
-	xmlnode *body;
-	xmlnode *token;
-	const gchar *post_action;
-	const gchar *post_url;
-	MsnSoapCallback cb;
-	/* For msn_get_contact_list only */
-	MsnSoapPartnerScenario partner_scenario;
-};
-
-typedef enum
-{
-	MSN_UPDATE_DISPLAY,	/* Real display name */
-	MSN_UPDATE_ALIAS,	/* Aliased display name */
-	MSN_UPDATE_COMMENT
-} MsnContactUpdateType;
-
-/************************************************
- * function prototype
- ************************************************/
-MsnCallbackState * msn_callback_state_new(MsnSession *session);
-MsnCallbackState * msn_callback_state_dup(MsnCallbackState *state);
-void msn_callback_state_free(MsnCallbackState *state);
-void msn_callback_state_set_who(MsnCallbackState *state, const gchar *who);
-void msn_callback_state_set_uid(MsnCallbackState *state, const gchar *uid);
-void msn_callback_state_set_old_group_name(MsnCallbackState *state,
-					   const gchar *old_group_name);
-void msn_callback_state_set_new_group_name(MsnCallbackState *state,
-					   const gchar *new_group_name);
-void msn_callback_state_set_guid(MsnCallbackState *state, const gchar *guid);
-void msn_callback_state_set_list_id(MsnCallbackState *state, MsnListId list_id);
-void msn_callback_state_set_action(MsnCallbackState *state,
-				   MsnCallbackAction action);
-
-void msn_contact_connect(MsnSession *session);
-void msn_get_contact_list(MsnSession *session,
-			  const MsnSoapPartnerScenario partner_scenario,
-			  const char *update);
-void msn_get_address_book(MsnSession *session,
-			  const MsnSoapPartnerScenario partner_scenario,
-			  const char * update, const char * gupdate);
-
-/* contact SOAP operations */
-void msn_update_contact(MsnSession *session, const char *passport, MsnContactUpdateType type, const char* value);
-
-void msn_add_contact(MsnSession *session, MsnCallbackState *state,
-		     const char *passport);
-void msn_delete_contact(MsnSession *session, MsnUser *user);
-
-void msn_add_contact_to_group(MsnSession *session, MsnCallbackState *state,
-			      const char *passport, const char *groupId);
-void msn_del_contact_from_group(MsnSession *session, const char *passport,
-				const char *group_name);
-/* group operations */
-void msn_add_group(MsnSession *session, MsnCallbackState *state,
-					const char* group_name);
-void msn_del_group(MsnSession *session, const gchar *group_name);
-void msn_contact_rename_group(MsnSession *session, const char *old_group_name,
-						   const char *new_group_name);
-
-/* lists operations */
-void msn_add_contact_to_list(MsnSession *session, MsnCallbackState *state,
-			     const gchar *passport, const MsnListId list);
-void msn_del_contact_from_list(MsnSession *session, MsnCallbackState *state,
-			       const gchar *passport, const MsnListId list);
-
-#endif /* _MSN_CONTACT_H_ */
-
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/conversation.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1407 +0,0 @@
-/**
- * @file conversation.h Conversation API
- * @ingroup core
- * @see @ref conversation-signals
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_CONVERSATION_H_
-#define _PURPLE_CONVERSATION_H_
-
-/**************************************************************************/
-/** Data Structures                                                       */
-/**************************************************************************/
-
-
-/** @copydoc _PurpleConversationUiOps */
-typedef struct _PurpleConversationUiOps PurpleConversationUiOps;
-/** @copydoc _PurpleConversation */
-typedef struct _PurpleConversation      PurpleConversation;
-/** @copydoc _PurpleConvIm */
-typedef struct _PurpleConvIm            PurpleConvIm;
-/** @copydoc _PurpleConvChat */
-typedef struct _PurpleConvChat          PurpleConvChat;
-/** @copydoc _PurpleConvChatBuddy */
-typedef struct _PurpleConvChatBuddy     PurpleConvChatBuddy;
-/** @copydoc _PurpleConvMessage */
-typedef struct _PurpleConvMessage       PurpleConvMessage;
-
-/**
- * A type of conversation.
- */
-typedef enum
-{
-	PURPLE_CONV_TYPE_UNKNOWN = 0, /**< Unknown conversation type. */
-	PURPLE_CONV_TYPE_IM,          /**< Instant Message.           */
-	PURPLE_CONV_TYPE_CHAT,        /**< Chat room.                 */
-	PURPLE_CONV_TYPE_MISC,        /**< A misc. conversation.      */
-	PURPLE_CONV_TYPE_ANY          /**< Any type of conversation.  */
-
-} PurpleConversationType;
-
-/**
- * Conversation update type.
- */
-typedef enum
-{
-	PURPLE_CONV_UPDATE_ADD = 0, /**< The buddy associated with the conversation
-	                               was added.   */
-	PURPLE_CONV_UPDATE_REMOVE,  /**< The buddy associated with the conversation
-	                               was removed. */
-	PURPLE_CONV_UPDATE_ACCOUNT, /**< The purple_account was changed. */
-	PURPLE_CONV_UPDATE_TYPING,  /**< The typing state was updated. */
-	PURPLE_CONV_UPDATE_UNSEEN,  /**< The unseen state was updated. */
-	PURPLE_CONV_UPDATE_LOGGING, /**< Logging for this conversation was
-	                               enabled or disabled. */
-	PURPLE_CONV_UPDATE_TOPIC,   /**< The topic for a chat was updated. */
-	/*
-	 * XXX These need to go when we implement a more generic core/UI event
-	 * system.
-	 */
-	PURPLE_CONV_ACCOUNT_ONLINE,  /**< One of the user's accounts went online.  */
-	PURPLE_CONV_ACCOUNT_OFFLINE, /**< One of the user's accounts went offline. */
-	PURPLE_CONV_UPDATE_AWAY,     /**< The other user went away.                */
-	PURPLE_CONV_UPDATE_ICON,     /**< The other user's buddy icon changed.     */
-	PURPLE_CONV_UPDATE_TITLE,
-	PURPLE_CONV_UPDATE_CHATLEFT,
-
-	PURPLE_CONV_UPDATE_FEATURES  /**< The features for a chat have changed */
-
-} PurpleConvUpdateType;
-
-/**
- * The typing state of a user.
- */
-typedef enum
-{
-	PURPLE_NOT_TYPING = 0,  /**< Not typing.                 */
-	PURPLE_TYPING,          /**< Currently typing.           */
-	PURPLE_TYPED            /**< Stopped typing momentarily. */
-
-} PurpleTypingState;
-
-/**
- * Flags applicable to a message. Most will have send, recv or system.
- */
-typedef enum
-{
-	PURPLE_MESSAGE_SEND        = 0x0001, /**< Outgoing message.        */
-	PURPLE_MESSAGE_RECV        = 0x0002, /**< Incoming message.        */
-	PURPLE_MESSAGE_SYSTEM      = 0x0004, /**< System message.          */
-	PURPLE_MESSAGE_AUTO_RESP   = 0x0008, /**< Auto response.           */
-	PURPLE_MESSAGE_ACTIVE_ONLY = 0x0010,  /**< Hint to the UI that this
-	                                        message should not be
-	                                        shown in conversations
-	                                        which are only open for
-	                                        internal UI purposes
-	                                        (e.g. for contact-aware
-	                                         conversations).           */
-	PURPLE_MESSAGE_NICK        = 0x0020, /**< Contains your nick.      */
-	PURPLE_MESSAGE_NO_LOG      = 0x0040, /**< Do not log.              */
-	PURPLE_MESSAGE_WHISPER     = 0x0080, /**< Whispered message.       */
-	PURPLE_MESSAGE_ERROR       = 0x0200, /**< Error message.           */
-	PURPLE_MESSAGE_DELAYED     = 0x0400, /**< Delayed message.         */
-	PURPLE_MESSAGE_RAW         = 0x0800, /**< "Raw" message - don't
-	                                        apply formatting         */
-	PURPLE_MESSAGE_IMAGES      = 0x1000, /**< Message contains images  */
-	PURPLE_MESSAGE_NOTIFY      = 0x2000, /**< Message is a notification */
-	PURPLE_MESSAGE_NO_LINKIFY  = 0x4000, /**< Message should not be auto-
-										   linkified @since 2.1.0 */
-	PURPLE_MESSAGE_INVISIBLE   = 0x8000  /**< Message should not be displayed */
-} PurpleMessageFlags;
-
-/**
- * Flags applicable to users in Chats.
- */
-typedef enum
-{
-	PURPLE_CBFLAGS_NONE          = 0x0000, /**< No flags                     */
-	PURPLE_CBFLAGS_VOICE         = 0x0001, /**< Voiced user or "Participant" */
-	PURPLE_CBFLAGS_HALFOP        = 0x0002, /**< Half-op                      */
-	PURPLE_CBFLAGS_OP            = 0x0004, /**< Channel Op or Moderator      */
-	PURPLE_CBFLAGS_FOUNDER       = 0x0008, /**< Channel Founder              */
-	PURPLE_CBFLAGS_TYPING        = 0x0010  /**< Currently typing             */
-
-} PurpleConvChatBuddyFlags;
-
-#include "account.h"
-#include "buddyicon.h"
-#include "log.h"
-#include "server.h"
-
-/**
- * Conversation operations and events.
- *
- * Any UI representing a conversation must assign a filled-out
- * PurpleConversationUiOps structure to the PurpleConversation.
- */
-struct _PurpleConversationUiOps
-{
-	/** Called when @a conv is created (but before the @ref
-	 *  conversation-created signal is emitted).
-	 */
-	void (*create_conversation)(PurpleConversation *conv);
-
-	/** Called just before @a conv is freed. */
-	void (*destroy_conversation)(PurpleConversation *conv);
-	/** Write a message to a chat.  If this field is @c NULL, libpurple will
-	 *  fall back to using #write_conv.
-	 *  @see purple_conv_chat_write()
-	 */
-	void (*write_chat)(PurpleConversation *conv, const char *who,
-	                   const char *message, PurpleMessageFlags flags,
-	                   time_t mtime);
-	/** Write a message to an IM conversation.  If this field is @c NULL,
-	 *  libpurple will fall back to using #write_conv.
-	 *  @see purple_conv_im_write()
-	 */
-	void (*write_im)(PurpleConversation *conv, const char *who,
-	                 const char *message, PurpleMessageFlags flags,
-	                 time_t mtime);
-	/** Write a message to a conversation.  This is used rather than the
-	 *  chat- or im-specific ops for errors, system messages (such as "x is
-	 *  now know as y"), and as the fallback if #write_im and #write_chat
-	 *  are not implemented.  It should be implemented, or the UI will miss
-	 *  conversation error messages and your users will hate you.
-	 *
-	 *  @see purple_conversation_write()
-	 */
-	void (*write_conv)(PurpleConversation *conv,
-	                   const char *name,
-	                   const char *alias,
-	                   const char *message,
-	                   PurpleMessageFlags flags,
-	                   time_t mtime);
-
-	/** Add @a cbuddies to a chat.
-	 *  @param cbuddies      A @c GList of #PurpleConvChatBuddy structs.
-	 *  @param new_arrivals  Whether join notices should be shown.
-	 *                       (Join notices are actually written to the
-	 *                       conversation by #purple_conv_chat_add_users().)
-	 */
-	void (*chat_add_users)(PurpleConversation *conv,
-	                       GList *cbuddies,
-	                       gboolean new_arrivals);
-	/** Rename the user in this chat named @a old_name to @a new_name.  (The
-	 *  rename message is written to the conversation by libpurple.)
-	 *  @param new_alias  @a new_name's new alias, if they have one.
-	 *  @see purple_conv_chat_add_users()
-	 */
-	void (*chat_rename_user)(PurpleConversation *conv, const char *old_name,
-	                         const char *new_name, const char *new_alias);
-	/** Remove @a users from a chat.
-	 *  @param users    A @c GList of <tt>const char *</tt>s.
-	 *  @see purple_conv_chat_rename_user()
-	 */
-	void (*chat_remove_users)(PurpleConversation *conv, GList *users);
-	/** Called when a user's flags are changed.
-	 *  @see purple_conv_chat_user_set_flags()
-	 */
-	void (*chat_update_user)(PurpleConversation *conv, const char *user);
-
-	/** Present this conversation to the user; for example, by displaying
-	 *  the IM dialog.
-	 */
-	void (*present)(PurpleConversation *conv);
-
-	/** If this UI has a concept of focus (as in a windowing system) and
-	 *  this conversation has the focus, return @c TRUE; otherwise, return
-	 *  @c FALSE.
-	 */
-	gboolean (*has_focus)(PurpleConversation *conv);
-
-	/* Custom Smileys */
-	gboolean (*custom_smiley_add)(PurpleConversation *conv, const char *smile, gboolean remote);
-	void (*custom_smiley_write)(PurpleConversation *conv, const char *smile,
-	                            const guchar *data, gsize size);
-	void (*custom_smiley_close)(PurpleConversation *conv, const char *smile);
-
-	/** Prompt the user for confirmation to send @a message.  This function
-	 *  should arrange for the message to be sent if the user accepts.  If
-	 *  this field is @c NULL, libpurple will fall back to using
-	 *  #purple_request_action().
-	 */
-	void (*send_confirm)(PurpleConversation *conv, const char *message);
-
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-};
-
-/**
- * Data specific to Instant Messages.
- */
-struct _PurpleConvIm
-{
-	PurpleConversation *conv;            /**< The parent conversation.     */
-
-	PurpleTypingState typing_state;      /**< The current typing state.    */
-	guint  typing_timeout;             /**< The typing timer handle.     */
-	time_t type_again;                 /**< The type again time.         */
-	guint  send_typed_timeout;         /**< The type again timer handle. */
-
-	PurpleBuddyIcon *icon;               /**< The buddy icon.              */
-};
-
-/**
- * Data specific to Chats.
- */
-struct _PurpleConvChat
-{
-	PurpleConversation *conv;          /**< The parent conversation.      */
-
-	GList *in_room;                  /**< The users in the room.        */
-	GList *ignored;                  /**< Ignored users.                */
-	char  *who;                      /**< The person who set the topic. */
-	char  *topic;                    /**< The topic.                    */
-	int    id;                       /**< The chat ID.                  */
-	char *nick;                      /**< Your nick in this chat.       */
-
-	gboolean left;                   /**< We left the chat and kept the window open */
-};
-
-/**
- * Data for "Chat Buddies"
- */
-struct _PurpleConvChatBuddy
-{
-	char *name;                      /**< The chat participant's name in the chat. */
-	char *alias;                     /**< The chat participant's alias, if known;
-	                                  *   @a NULL otherwise.
-	                                  */
-	char *alias_key;                 /**< A string by which this buddy will be sorted,
-	                                  *   or @c NULL if the buddy should be sorted by
-	                                  *   its @c name.  (This is currently always @c
-	                                  *   NULL.)
-	                                  */
-	gboolean buddy;                  /**< @a TRUE if this chat participant is on the
-	                                  *   buddy list; @a FALSE otherwise.
-	                                  */
-	PurpleConvChatBuddyFlags flags;  /**< A bitwise OR of flags for this participant,
-	                                  *   such as whether they are a channel operator.
-	                                  */
-};
-
-/**
- * Description of a conversation message
- *
- * @since 2.2.0
- */
-struct _PurpleConvMessage
-{
-	char *who;
-	char *what;
-	PurpleMessageFlags flags;
-	time_t when;
-	PurpleConversation *conv;  /**< @since 2.3.0 */
-	char *alias;               /**< @since 2.3.0 */
-};
-
-/**
- * A core representation of a conversation between two or more people.
- *
- * The conversation can be an IM or a chat.
- */
-struct _PurpleConversation
-{
-	PurpleConversationType type;  /**< The type of conversation.          */
-
-	PurpleAccount *account;       /**< The user using this conversation.  */
-
-
-	char *name;                 /**< The name of the conversation.      */
-	char *title;                /**< The window title.                  */
-
-	gboolean logging;           /**< The status of logging.             */
-
-	GList *logs;                /**< This conversation's logs           */
-
-	union
-	{
-		PurpleConvIm   *im;       /**< IM-specific data.                  */
-		PurpleConvChat *chat;     /**< Chat-specific data.                */
-		void *misc;             /**< Misc. data.                        */
-
-	} u;
-
-	PurpleConversationUiOps *ui_ops;           /**< UI-specific operations. */
-	void *ui_data;                           /**< UI-specific data.       */
-
-	GHashTable *data;                        /**< Plugin-specific data.   */
-
-	PurpleConnectionFlags features; /**< The supported features */
-	GList *message_history;         /**< Message history, as a GList of PurpleConvMessage's */
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**************************************************************************/
-/** @name Conversation API                                                */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Creates a new conversation of the specified type.
- *
- * @param type    The type of conversation.
- * @param account The account opening the conversation window on the purple
- *                user's end.
- * @param name    The name of the conversation.
- *
- * @return The new conversation.
- */
-PurpleConversation *purple_conversation_new(PurpleConversationType type,
-										PurpleAccount *account,
-										const char *name);
-
-/**
- * Destroys the specified conversation and removes it from the parent
- * window.
- *
- * If this conversation is the only one contained in the parent window,
- * that window is also destroyed.
- *
- * @param conv The conversation to destroy.
- */
-void purple_conversation_destroy(PurpleConversation *conv);
-
-
-/**
- * Present a conversation to the user. This allows core code to initiate a
- * conversation by displaying the IM dialog.
- * @param conv The conversation to present
- */
-void purple_conversation_present(PurpleConversation *conv);
-
-
-/**
- * Returns the specified conversation's type.
- *
- * @param conv The conversation.
- *
- * @return The conversation's type.
- */
-PurpleConversationType purple_conversation_get_type(const PurpleConversation *conv);
-
-/**
- * Sets the specified conversation's UI operations structure.
- *
- * @param conv The conversation.
- * @param ops  The UI conversation operations structure.
- */
-void purple_conversation_set_ui_ops(PurpleConversation *conv,
-								  PurpleConversationUiOps *ops);
-
-/**
- * Sets the default conversation UI operations structure.
- *
- * @param ops  The UI conversation operations structure.
- */
-void purple_conversations_set_ui_ops(PurpleConversationUiOps *ops);
-
-/**
- * Returns the specified conversation's UI operations structure.
- *
- * @param conv The conversation.
- *
- * @return The operations structure.
- */
-PurpleConversationUiOps *purple_conversation_get_ui_ops(
-		const PurpleConversation *conv);
-
-/**
- * Sets the specified conversation's purple_account.
- *
- * This purple_account represents the user using purple, not the person the user
- * is having a conversation/chat/flame with.
- *
- * @param conv The conversation.
- * @param account The purple_account.
- */
-void purple_conversation_set_account(PurpleConversation *conv,
-                                   PurpleAccount *account);
-
-/**
- * Returns the specified conversation's purple_account.
- *
- * This purple_account represents the user using purple, not the person the user
- * is having a conversation/chat/flame with.
- *
- * @param conv The conversation.
- *
- * @return The conversation's purple_account.
- */
-PurpleAccount *purple_conversation_get_account(const PurpleConversation *conv);
-
-/**
- * Returns the specified conversation's purple_connection.
- *
- * This is the same as purple_conversation_get_user(conv)->gc.
- *
- * @param conv The conversation.
- *
- * @return The conversation's purple_connection.
- */
-PurpleConnection *purple_conversation_get_gc(const PurpleConversation *conv);
-
-/**
- * Sets the specified conversation's title.
- *
- * @param conv  The conversation.
- * @param title The title.
- */
-void purple_conversation_set_title(PurpleConversation *conv, const char *title);
-
-/**
- * Returns the specified conversation's title.
- *
- * @param conv The conversation.
- *
- * @return The title.
- */
-const char *purple_conversation_get_title(const PurpleConversation *conv);
-
-/**
- * Automatically sets the specified conversation's title.
- *
- * This function takes OPT_IM_ALIAS_TAB into account, as well as the
- * user's alias.
- *
- * @param conv The conversation.
- */
-void purple_conversation_autoset_title(PurpleConversation *conv);
-
-/**
- * Sets the specified conversation's name.
- *
- * @param conv The conversation.
- * @param name The conversation's name.
- */
-void purple_conversation_set_name(PurpleConversation *conv, const char *name);
-
-/**
- * Returns the specified conversation's name.
- *
- * @param conv The conversation.
- *
- * @return The conversation's name. If the conversation is an IM with a PurpleBuddy,
- *         then it's the name of the PurpleBuddy.
- */
-const char *purple_conversation_get_name(const PurpleConversation *conv);
-
-/**
- * Enables or disables logging for this conversation.
- *
- * @param conv The conversation.
- * @param log  @c TRUE if logging should be enabled, or @c FALSE otherwise.
- */
-void purple_conversation_set_logging(PurpleConversation *conv, gboolean log);
-
-/**
- * Returns whether or not logging is enabled for this conversation.
- *
- * @param conv The conversation.
- *
- * @return @c TRUE if logging is enabled, or @c FALSE otherwise.
- */
-gboolean purple_conversation_is_logging(const PurpleConversation *conv);
-
-/**
- * Closes any open logs for this conversation.
- *
- * Note that new logs will be opened as necessary (e.g. upon receipt of a
- * message, if the conversation has logging enabled. To disable logging for
- * the remainder of the conversation, use purple_conversation_set_logging().
- *
- * @param conv The conversation.
- */
-void purple_conversation_close_logs(PurpleConversation *conv);
-
-/**
- * Returns the specified conversation's IM-specific data.
- *
- * If the conversation type is not PURPLE_CONV_TYPE_IM, this will return @c NULL.
- *
- * @param conv The conversation.
- *
- * @return The IM-specific data.
- */
-PurpleConvIm *purple_conversation_get_im_data(const PurpleConversation *conv);
-
-#define PURPLE_CONV_IM(c) (purple_conversation_get_im_data(c))
-
-/**
- * Returns the specified conversation's chat-specific data.
- *
- * If the conversation type is not PURPLE_CONV_TYPE_CHAT, this will return @c NULL.
- *
- * @param conv The conversation.
- *
- * @return The chat-specific data.
- */
-PurpleConvChat *purple_conversation_get_chat_data(const PurpleConversation *conv);
-
-#define PURPLE_CONV_CHAT(c) (purple_conversation_get_chat_data(c))
-
-/**
- * Sets extra data for a conversation.
- *
- * @param conv The conversation.
- * @param key  The unique key.
- * @param data The data to assign.
- */
-void purple_conversation_set_data(PurpleConversation *conv, const char *key,
-								gpointer data);
-
-/**
- * Returns extra data in a conversation.
- *
- * @param conv The conversation.
- * @param key  The unqiue key.
- *
- * @return The data associated with the key.
- */
-gpointer purple_conversation_get_data(PurpleConversation *conv, const char *key);
-
-/**
- * Returns a list of all conversations.
- *
- * This list includes both IMs and chats.
- *
- * @constreturn A GList of all conversations.
- */
-GList *purple_get_conversations(void);
-
-/**
- * Returns a list of all IMs.
- *
- * @constreturn A GList of all IMs.
- */
-GList *purple_get_ims(void);
-
-/**
- * Returns a list of all chats.
- *
- * @constreturn A GList of all chats.
- */
-GList *purple_get_chats(void);
-
-/**
- * Finds a conversation with the specified type, name, and Purple account.
- *
- * @param type The type of the conversation.
- * @param name The name of the conversation.
- * @param account The purple_account associated with the conversation.
- *
- * @return The conversation if found, or @c NULL otherwise.
- */
-PurpleConversation *purple_find_conversation_with_account(
-		PurpleConversationType type, const char *name,
-		const PurpleAccount *account);
-
-/**
- * Writes to a conversation window.
- *
- * This function should not be used to write IM or chat messages. Use
- * purple_conv_im_write() and purple_conv_chat_write() instead. Those functions will
- * most likely call this anyway, but they may do their own formatting,
- * sound playback, etc.
- *
- * This can be used to write generic messages, such as "so and so closed
- * the conversation window."
- *
- * @param conv    The conversation.
- * @param who     The user who sent the message.
- * @param message The message.
- * @param flags   The message flags.
- * @param mtime   The time the message was sent.
- *
- * @see purple_conv_im_write()
- * @see purple_conv_chat_write()
- */
-void purple_conversation_write(PurpleConversation *conv, const char *who,
-		const char *message, PurpleMessageFlags flags,
-		time_t mtime);
-
-
-/**
-	Set the features as supported for the given conversation.
-	@param conv      The conversation
-	@param features  Bitset defining supported features
-*/
-void purple_conversation_set_features(PurpleConversation *conv,
-		PurpleConnectionFlags features);
-
-
-/**
-	Get the features supported by the given conversation.
-	@param conv  The conversation
-*/
-PurpleConnectionFlags purple_conversation_get_features(PurpleConversation *conv);
-
-/**
- * Determines if a conversation has focus
- *
- * @param conv    The conversation.
- *
- * @return @c TRUE if the conversation has focus, @c FALSE if
- * it does not or the UI does not have a concept of conversation focus
- */
-gboolean purple_conversation_has_focus(PurpleConversation *conv);
-
-/**
- * Updates the visual status and UI of a conversation.
- *
- * @param conv The conversation.
- * @param type The update type.
- */
-void purple_conversation_update(PurpleConversation *conv, PurpleConvUpdateType type);
-
-/**
- * Calls a function on each conversation.
- *
- * @param func The function.
- */
-void purple_conversation_foreach(void (*func)(PurpleConversation *conv));
-
-/**
- * Retrieve the message history of a conversation.
- *
- * @param conv   The conversation
- *
- * @return  A GList of PurpleConvMessage's. The must not modify the list or the data within.
- *          The list contains the newest message at the beginning, and the oldest message at
- *          the end.
- *
- * @since 2.2.0
- */
-GList *purple_conversation_get_message_history(PurpleConversation *conv);
-
-/**
- * Clear the message history of a conversation.
- *
- * @param conv  The conversation
- *
- * @since 2.2.0
- */
-void purple_conversation_clear_message_history(PurpleConversation *conv);
-
-/**
- * Get the sender from a PurpleConvMessage
- *
- * @param msg   A PurpleConvMessage
- *
- * @return   The name of the sender of the message
- *
- * @since 2.2.0
- */
-const char *purple_conversation_message_get_sender(PurpleConvMessage *msg);
-
-/**
- * Get the message from a PurpleConvMessage
- *
- * @param msg   A PurpleConvMessage
- *
- * @return   The name of the sender of the message
- *
- * @since 2.2.0
- */
-const char *purple_conversation_message_get_message(PurpleConvMessage *msg);
-
-/**
- * Get the message-flags of a PurpleConvMessage
- *
- * @param msg   A PurpleConvMessage
- *
- * @return   The message flags
- *
- * @since 2.2.0
- */
-PurpleMessageFlags purple_conversation_message_get_flags(PurpleConvMessage *msg);
-
-/**
- * Get the timestamp of a PurpleConvMessage
- *
- * @param msg   A PurpleConvMessage
- *
- * @return   The timestamp of the message
- *
- * @since 2.2.0
- */
-time_t purple_conversation_message_get_timestamp(PurpleConvMessage *msg);
-
-/*@}*/
-
-
-/**************************************************************************/
-/** @name IM Conversation API                                             */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Gets an IM's parent conversation.
- *
- * @param im The IM.
- *
- * @return The parent conversation.
- */
-PurpleConversation *purple_conv_im_get_conversation(const PurpleConvIm *im);
-
-/**
- * Sets the IM's buddy icon.
- *
- * This should only be called from within Purple. You probably want to
- * call purple_buddy_icon_set_data().
- *
- * @param im   The IM.
- * @param icon The buddy icon.
- *
- * @see purple_buddy_icon_set_data()
- */
-void purple_conv_im_set_icon(PurpleConvIm *im, PurpleBuddyIcon *icon);
-
-/**
- * Returns the IM's buddy icon.
- *
- * @param im The IM.
- *
- * @return The buddy icon.
- */
-PurpleBuddyIcon *purple_conv_im_get_icon(const PurpleConvIm *im);
-
-/**
- * Sets the IM's typing state.
- *
- * @param im    The IM.
- * @param state The typing state.
- */
-void purple_conv_im_set_typing_state(PurpleConvIm *im, PurpleTypingState state);
-
-/**
- * Returns the IM's typing state.
- *
- * @param im The IM.
- *
- * @return The IM's typing state.
- */
-PurpleTypingState purple_conv_im_get_typing_state(const PurpleConvIm *im);
-
-/**
- * Starts the IM's typing timeout.
- *
- * @param im      The IM.
- * @param timeout The timeout.
- */
-void purple_conv_im_start_typing_timeout(PurpleConvIm *im, int timeout);
-
-/**
- * Stops the IM's typing timeout.
- *
- * @param im The IM.
- */
-void purple_conv_im_stop_typing_timeout(PurpleConvIm *im);
-
-/**
- * Returns the IM's typing timeout.
- *
- * @param im The IM.
- *
- * @return The timeout.
- */
-guint purple_conv_im_get_typing_timeout(const PurpleConvIm *im);
-
-/**
- * Sets the quiet-time when no PURPLE_TYPING messages will be sent.
- * Few protocols need this (maybe only MSN).  If the user is still
- * typing after this quiet-period, then another PURPLE_TYPING message
- * will be sent.
- *
- * @param im  The IM.
- * @param val The number of seconds to wait before allowing another
- *            PURPLE_TYPING message to be sent to the user.  Or 0 to
- *            not send another PURPLE_TYPING message.
- */
-void purple_conv_im_set_type_again(PurpleConvIm *im, unsigned int val);
-
-/**
- * Returns the time after which another PURPLE_TYPING message should be sent.
- *
- * @param im The IM.
- *
- * @return The time in seconds since the epoch.  Or 0 if no additional
- *         PURPLE_TYPING message should be sent.
- */
-time_t purple_conv_im_get_type_again(const PurpleConvIm *im);
-
-/**
- * Starts the IM's type again timeout.
- *
- * @param im      The IM.
- */
-void purple_conv_im_start_send_typed_timeout(PurpleConvIm *im);
-
-/**
- * Stops the IM's type again timeout.
- *
- * @param im The IM.
- */
-void purple_conv_im_stop_send_typed_timeout(PurpleConvIm *im);
-
-/**
- * Returns the IM's type again timeout interval.
- *
- * @param im The IM.
- *
- * @return The type again timeout interval.
- */
-guint purple_conv_im_get_send_typed_timeout(const PurpleConvIm *im);
-
-/**
- * Updates the visual typing notification for an IM conversation.
- *
- * @param im The IM.
- */
-void purple_conv_im_update_typing(PurpleConvIm *im);
-
-/**
- * Writes to an IM.
- *
- * @param im      The IM.
- * @param who     The user who sent the message.
- * @param message The message to write.
- * @param flags   The message flags.
- * @param mtime   The time the message was sent.
- */
-void purple_conv_im_write(PurpleConvIm *im, const char *who,
-						const char *message, PurpleMessageFlags flags,
-						time_t mtime);
-
-/**
- * Presents an IM-error to the user
- *
- * This is a helper function to find a conversation, write an error to it, and
- * raise the window.  If a conversation with this user doesn't already exist,
- * the function will return FALSE and the calling function can attempt to present
- * the error another way (purple_notify_error, most likely)
- *
- * @param who     The user this error is about
- * @param account The account this error is on
- * @param what    The error
- * @return        TRUE if the error was presented, else FALSE
- */
-gboolean purple_conv_present_error(const char *who, PurpleAccount *account, const char *what);
-
-/**
- * Sends a message to this IM conversation.
- *
- * @param im      The IM.
- * @param message The message to send.
- */
-void purple_conv_im_send(PurpleConvIm *im, const char *message);
-
-/**
- * Sends a message to a conversation after confirming with
- * the user.
- *
- * This function is intended for use in cases where the user
- * hasn't explicitly and knowingly caused a message to be sent.
- * The confirmation ensures that the user isn't sending a
- * message by mistake.
- *
- * @param conv    The conversation.
- * @param message The message to send.
- */
-void purple_conv_send_confirm(PurpleConversation *conv, const char *message);
-
-/**
- * Sends a message to this IM conversation with specified flags.
- *
- * @param im      The IM.
- * @param message The message to send.
- * @param flags   The PurpleMessageFlags flags to use in addition to PURPLE_MESSAGE_SEND.
- */
-void purple_conv_im_send_with_flags(PurpleConvIm *im, const char *message, PurpleMessageFlags flags);
-
-/**
- * Adds a smiley to the conversation's smiley tree. If this returns
- * @c TRUE you should call purple_conv_custom_smiley_write() one or more
- * times, and then purple_conv_custom_smiley_close(). If this returns
- * @c FALSE, either the conv or smile were invalid, or the icon was
- * found in the cache. In either case, calling write or close would
- * be an error.
- *
- * @param conv The conversation to associate the smiley with.
- * @param smile The text associated with the smiley
- * @param cksum_type The type of checksum.
- * @param chksum The checksum, as a NUL terminated base64 string.
- * @param remote @c TRUE if the custom smiley is set by the remote user (buddy).
- * @return      @c TRUE if an icon is expected, else FALSE. Note that
- *              it is an error to never call purple_conv_custom_smiley_close if
- *              this function returns @c TRUE, but an error to call it if
- *              @c FALSE is returned.
- */
-
-gboolean purple_conv_custom_smiley_add(PurpleConversation *conv, const char *smile,
-                                      const char *cksum_type, const char *chksum,
-									  gboolean remote);
-
-
-/**
- * Updates the image associated with the current smiley.
- *
- * @param conv The conversation associated with the smiley.
- * @param smile The text associated with the smiley.
- * @param data The actual image data.
- * @param size The length of the data.
- */
-
-void purple_conv_custom_smiley_write(PurpleConversation *conv,
-                                   const char *smile,
-                                   const guchar *data,
-                                   gsize size);
-
-/**
- * Close the custom smiley, all data has been written with
- * purple_conv_custom_smiley_write, and it is no longer valid
- * to call that function on that smiley.
- *
- * @param conv The purple conversation associated with the smiley.
- * @param smile The text associated with the smiley
- */
-
-void purple_conv_custom_smiley_close(PurpleConversation *conv, const char *smile);
-
-/*@}*/
-
-
-/**************************************************************************/
-/** @name Chat Conversation API                                           */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Gets a chat's parent conversation.
- *
- * @param chat The chat.
- *
- * @return The parent conversation.
- */
-PurpleConversation *purple_conv_chat_get_conversation(const PurpleConvChat *chat);
-
-/**
- * Sets the list of users in the chat room.
- *
- * @note Calling this function will not update the display of the users.
- *       Please use purple_conv_chat_add_user(), purple_conv_chat_add_users(),
- *       purple_conv_chat_remove_user(), and purple_conv_chat_remove_users() instead.
- *
- * @param chat  The chat.
- * @param users The list of users.
- *
- * @return The list passed.
- */
-GList *purple_conv_chat_set_users(PurpleConvChat *chat, GList *users);
-
-/**
- * Returns a list of users in the chat room.
- *
- * @param chat The chat.
- *
- * @constreturn The list of users.
- */
-GList *purple_conv_chat_get_users(const PurpleConvChat *chat);
-
-/**
- * Ignores a user in a chat room.
- *
- * @param chat The chat.
- * @param name The name of the user.
- */
-void purple_conv_chat_ignore(PurpleConvChat *chat, const char *name);
-
-/**
- * Unignores a user in a chat room.
- *
- * @param chat The chat.
- * @param name The name of the user.
- */
-void purple_conv_chat_unignore(PurpleConvChat *chat, const char *name);
-
-/**
- * Sets the list of ignored users in the chat room.
- *
- * @param chat    The chat.
- * @param ignored The list of ignored users.
- *
- * @return The list passed.
- */
-GList *purple_conv_chat_set_ignored(PurpleConvChat *chat, GList *ignored);
-
-/**
- * Returns the list of ignored users in the chat room.
- *
- * @param chat The chat.
- *
- * @constreturn The list of ignored users.
- */
-GList *purple_conv_chat_get_ignored(const PurpleConvChat *chat);
-
-/**
- * Returns the actual name of the specified ignored user, if it exists in
- * the ignore list.
- *
- * If the user found contains a prefix, such as '+' or '\@', this is also
- * returned. The username passed to the function does not have to have this
- * formatting.
- *
- * @param chat The chat.
- * @param user The user to check in the ignore list.
- *
- * @return The ignored user if found, complete with prefixes, or @c NULL
- *         if not found.
- */
-const char *purple_conv_chat_get_ignored_user(const PurpleConvChat *chat,
-											const char *user);
-
-/**
- * Returns @c TRUE if the specified user is ignored.
- *
- * @param chat The chat.
- * @param user The user.
- *
- * @return @c TRUE if the user is in the ignore list; @c FALSE otherwise.
- */
-gboolean purple_conv_chat_is_user_ignored(const PurpleConvChat *chat,
-										const char *user);
-
-/**
- * Sets the chat room's topic.
- *
- * @param chat  The chat.
- * @param who   The user that set the topic.
- * @param topic The topic.
- */
-void purple_conv_chat_set_topic(PurpleConvChat *chat, const char *who,
-							  const char *topic);
-
-/**
- * Returns the chat room's topic.
- *
- * @param chat The chat.
- *
- * @return The chat's topic.
- */
-const char *purple_conv_chat_get_topic(const PurpleConvChat *chat);
-
-/**
- * Sets the chat room's ID.
- *
- * @param chat The chat.
- * @param id   The ID.
- */
-void purple_conv_chat_set_id(PurpleConvChat *chat, int id);
-
-/**
- * Returns the chat room's ID.
- *
- * @param chat The chat.
- *
- * @return The ID.
- */
-int purple_conv_chat_get_id(const PurpleConvChat *chat);
-
-/**
- * Writes to a chat.
- *
- * @param chat    The chat.
- * @param who     The user who sent the message.
- * @param message The message to write.
- * @param flags   The flags.
- * @param mtime   The time the message was sent.
- */
-void purple_conv_chat_write(PurpleConvChat *chat, const char *who,
-						  const char *message, PurpleMessageFlags flags,
-						  time_t mtime);
-
-/**
- * Sends a message to this chat conversation.
- *
- * @param chat    The chat.
- * @param message The message to send.
- */
-void purple_conv_chat_send(PurpleConvChat *chat, const char *message);
-
-/**
- * Sends a message to this chat conversation with specified flags.
- *
- * @param chat    The chat.
- * @param message The message to send.
- * @param flags   The PurpleMessageFlags flags to use.
- */
-void purple_conv_chat_send_with_flags(PurpleConvChat *chat, const char *message, PurpleMessageFlags flags);
-
-/**
- * Adds a user to a chat.
- *
- * @param chat        The chat.
- * @param user        The user to add.
- * @param extra_msg   An extra message to display with the join message.
- * @param flags       The users flags
- * @param new_arrival Decides whether or not to show a join notice.
- */
-void purple_conv_chat_add_user(PurpleConvChat *chat, const char *user,
-							 const char *extra_msg, PurpleConvChatBuddyFlags flags,
-							 gboolean new_arrival);
-
-/**
- * Adds a list of users to a chat.
- *
- * The data is copied from @a users, @a extra_msgs, and @a flags, so it is up to
- * the caller to free this list after calling this function.
- *
- * @param chat         The chat.
- * @param users        The list of users to add.
- * @param extra_msgs   An extra message to display with the join message for each
- *                     user.  This list may be shorter than @a users, in which
- *                     case, the users after the end of extra_msgs will not have
- *                     an extra message.  By extension, this means that extra_msgs
- *                     can simply be @c NULL and none of the users will have an
- *                     extra message.
- * @param flags        The list of flags for each user.
- * @param new_arrivals Decides whether or not to show join notices.
- */
-void purple_conv_chat_add_users(PurpleConvChat *chat, GList *users, GList *extra_msgs,
-							  GList *flags, gboolean new_arrivals);
-
-/**
- * Renames a user in a chat.
- *
- * @param chat     The chat.
- * @param old_user The old username.
- * @param new_user The new username.
- */
-void purple_conv_chat_rename_user(PurpleConvChat *chat, const char *old_user,
-								const char *new_user);
-
-/**
- * Removes a user from a chat, optionally with a reason.
- *
- * It is up to the developer to free this list after calling this function.
- *
- * @param chat   The chat.
- * @param user   The user that is being removed.
- * @param reason The optional reason given for the removal. Can be @c NULL.
- */
-void purple_conv_chat_remove_user(PurpleConvChat *chat, const char *user,
-								const char *reason);
-
-/**
- * Removes a list of users from a chat, optionally with a single reason.
- *
- * @param chat   The chat.
- * @param users  The users that are being removed.
- * @param reason The optional reason given for the removal. Can be @c NULL.
- */
-void purple_conv_chat_remove_users(PurpleConvChat *chat, GList *users,
-								 const char *reason);
-
-/**
- * Finds a user in a chat
- *
- * @param chat   The chat.
- * @param user   The user to look for.
- *
- * @return TRUE if the user is in the chat, FALSE if not
- */
-gboolean purple_conv_chat_find_user(PurpleConvChat *chat, const char *user);
-
-/**
- * Set a users flags in a chat
- *
- * @param chat   The chat.
- * @param user   The user to update.
- * @param flags  The new flags.
- */
-void purple_conv_chat_user_set_flags(PurpleConvChat *chat, const char *user,
-								   PurpleConvChatBuddyFlags flags);
-
-/**
- * Get the flags for a user in a chat
- *
- * @param chat   The chat.
- * @param user   The user to find the flags for
- *
- * @return The flags for the user
- */
-PurpleConvChatBuddyFlags purple_conv_chat_user_get_flags(PurpleConvChat *chat,
-													 const char *user);
-
-/**
- * Clears all users from a chat.
- *
- * @param chat The chat.
- */
-void purple_conv_chat_clear_users(PurpleConvChat *chat);
-
-/**
- * Sets your nickname (used for hilighting) for a chat.
- *
- * @param chat The chat.
- * @param nick The nick.
- */
-void purple_conv_chat_set_nick(PurpleConvChat *chat, const char *nick);
-
-/**
- * Gets your nickname (used for hilighting) for a chat.
- *
- * @param chat The chat.
- * @return  The nick.
- */
-const char *purple_conv_chat_get_nick(PurpleConvChat *chat);
-
-/**
- * Finds a chat with the specified chat ID.
- *
- * @param gc The purple_connection.
- * @param id The chat ID.
- *
- * @return The chat conversation.
- */
-PurpleConversation *purple_find_chat(const PurpleConnection *gc, int id);
-
-/**
- * Lets the core know we left a chat, without destroying it.
- * Called from serv_got_chat_left().
- *
- * @param chat The chat.
- */
-void purple_conv_chat_left(PurpleConvChat *chat);
-
-/**
- * Returns true if we're no longer in this chat,
- * and just left the window open.
- *
- * @param chat The chat.
- *
- * @return @c TRUE if we left the chat already, @c FALSE if
- * we're still there.
- */
-gboolean purple_conv_chat_has_left(PurpleConvChat *chat);
-
-/**
- * Creates a new chat buddy
- *
- * @param name The name.
- * @param alias The alias.
- * @param flags The flags.
- *
- * @return The new chat buddy
- */
-PurpleConvChatBuddy *purple_conv_chat_cb_new(const char *name, const char *alias,
-										PurpleConvChatBuddyFlags flags);
-
-/**
- * Find a chat buddy in a chat
- *
- * @param chat The chat.
- * @param name The name of the chat buddy to find.
- */
-PurpleConvChatBuddy *purple_conv_chat_cb_find(PurpleConvChat *chat, const char *name);
-
-/**
- * Get the name of a chat buddy
- *
- * @param cb    The chat buddy.
- *
- * @return The name of the chat buddy.
- */
-const char *purple_conv_chat_cb_get_name(PurpleConvChatBuddy *cb);
-
-/**
- * Destroys a chat buddy
- *
- * @param cb The chat buddy to destroy
- */
-void purple_conv_chat_cb_destroy(PurpleConvChatBuddy *cb);
-
-/**
- * Retrieves the extended menu items for the conversation.
- *
- * @param conv The conversation.
- * 
- * @return  A list of PurpleMenuAction items, harvested by the
- *          chat-extended-menu signal. The list and the menuaction
- *          items should be freed by the caller.
- *
- * @since 2.1.0
- */
-GList * purple_conversation_get_extended_menu(PurpleConversation *conv);
-
-/**
- * Perform a command in a conversation. Similar to @see purple_cmd_do_command
- *
- * @param conv    The conversation.
- * @param cmdline The entire command including the arguments.
- * @param markup  @c NULL, or the formatted command line.
- * @param error   If the command failed errormsg is filled in with the appropriate error
- *                message, if not @c NULL. It must be freed by the caller with g_free().
- *
- * @return  @c TRUE if the command was executed successfully, @c FALSE otherwise.
- *
- * @since 2.1.0
- */
-gboolean purple_conversation_do_command(PurpleConversation *conv, const gchar *cmdline, const gchar *markup, gchar **error);
-
-/*@}*/
-
-/**************************************************************************/
-/** @name Conversations Subsystem                                         */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Returns the conversation subsystem handle.
- *
- * @return The conversation subsystem handle.
- */
-void *purple_conversations_get_handle(void);
-
-/**
- * Initializes the conversation subsystem.
- */
-void purple_conversations_init(void);
-
-/**
- * Uninitializes the conversation subsystem.
- */
-void purple_conversations_uninit(void);
-
-/*@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_CONVERSATION_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/core.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/**
- * @file core.h Startup and shutdown of libpurple
- * @defgroup core libpurple
- * @see @ref core-signals
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_CORE_H_
-#define _PURPLE_CORE_H_
-
-typedef struct PurpleCore PurpleCore;
-
-/** Callbacks that fire at different points of the initialization and teardown
- *  of libpurple, along with a hook to return descriptive information about the
- *  UI.
- */
-typedef struct
-{
-	/** Called just after the preferences subsystem is initialized; the UI
-	 *  could use this callback to add some preferences it needs to be in
-	 *  place when other subsystems are initialized.
-	 */
-	void (*ui_prefs_init)(void);
-	/** Called just after the debug subsystem is initialized, but before
-	 *  just about every other component's initialization.  The UI should
-	 *  use this hook to call purple_debug_set_ui_ops() so that debugging
-	 *  information for other components can be logged during their
-	 *  initialization.
-	 */
-	void (*debug_ui_init)(void);
-	/** Called after all of libpurple has been initialized.  The UI should
-	 *  use this hook to set all other necessary UiOps structures.
-	 *
-	 *  @see @ref ui-ops
-	 */
-	void (*ui_init)(void);
-	/** Called after most of libpurple has been uninitialized. */
-	void (*quit)(void);
-
-	/** Called by purple_core_get_ui_info(); should return the information
-	 *  documented there.
-	 */
-	GHashTable* (*get_ui_info)(void);
-
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-} PurpleCoreUiOps;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Initializes the core of purple.
- *
- * This will setup preferences for all the core subsystems.
- *
- * @param ui The ID of the UI using the core. This should be a
- *           unique ID, registered with the purple team.
- *
- * @return @c TRUE if successful, or @c FALSE otherwise.
- */
-gboolean purple_core_init(const char *ui);
-
-/**
- * Quits the core of purple, which, depending on the UI, may quit the
- * application using the purple core.
- */
-void purple_core_quit(void);
-
-/**
- * <p>
- * Calls purple_core_quit().  This can be used as the function 
- * passed to purple_timeout_add() when you want to shutdown Purple 
- * in a specified amount of time.  When shutting down Purple 
- * from a plugin, you must use this instead of purple_core_quit();
- * for an immediate exit, use a timeout value of 0: 
- * </p>
- *
- * <code>purple_timeout_add(0, purple_core_quitcb, NULL);</code>
- *
- * <p>
- * This is ensures that code from your plugin is not being 
- * executed when purple_core_quit() is called.  If the plugin
- * called purple_core_quit() directly, you would get a core dump
- * after purple_core_quit() executes and control returns to your
- * plugin because purple_core_quit() frees all plugins.
- * </p>
- */
-gboolean purple_core_quit_cb(gpointer unused);
-
-/**
- * Returns the version of the core library.
- *
- * @return The version of the core library.
- */
-const char *purple_core_get_version(void);
-
-/**
- * Returns the ID of the UI that is using the core, as passed to
- * purple_core_init().
- *
- * @return The ID of the UI that is currently using the core.
- */
-const char *purple_core_get_ui(void);
-
-/**
- * Returns a handle to the purple core.
- *
- * This is used to connect to @ref core-signals "core signals".
- */
-PurpleCore *purple_get_core(void);
-
-/**
- * Sets the UI ops for the core.
- *
- * @param ops A UI ops structure for the core.
- */
-void purple_core_set_ui_ops(PurpleCoreUiOps *ops);
-
-/**
- * Returns the UI ops for the core.
- *
- * @return The core's UI ops structure.
- */
-PurpleCoreUiOps *purple_core_get_ui_ops(void);
-
-/**
- * Migrates from <tt>.gaim</tt> to <tt>.purple</tt>.
- *
- * UIs <strong>must not</strong> call this if they have been told to use a
- * custom user directory.
- *
- * @return A boolean indicating success or migration failure. On failure,
- *         the application must display an error to the user and then exit.
- */
-gboolean purple_core_migrate(void);
-
-/**
- * Ensures that only one instance is running.  If libpurple is built with D-Bus
- * support, this checks if another process owns the libpurple bus name and if
- * so whether that process is using the same configuration directory as this
- * process.
- *
- * @return @c TRUE if this is the first instance of libpurple running;
- *         @c FALSE if there is another instance running.
- *
- * @since 2.1.0
- */
-gboolean purple_core_ensure_single_instance(void);
-
-/**
- * Returns a hash table containing various information about the UI.  The
- * following well-known entries may be in the table (along with any others the
- * UI might choose to include):
- *
- * <dl>
- *   <dt><tt>name</tt></dt>
- *   <dd>the user-readable name for the UI.</dd>
- *
- *   <dt><tt>version</tt></dt>
- *   <dd>a user-readable description of the current version of the UI.</dd>
- *
- *   <dt><tt>website</tt></dt>
- *   <dd>the UI's website, such as http://pidgin.im.</dd>
- *
- *   <dt><tt>dev_website</tt></dt>
- *   <dd>the UI's development/support website, such as http://developer.pidgin.im.</dd>
- * </dl>
- *
- * @return A GHashTable with strings for keys and values.  This
- * hash table must not be freed and should not be modified.
- *
- * @since 2.1.0
- *
- */
-GHashTable* purple_core_get_ui_info(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_CORE_H_ */
-
-/*
-
-                                                  /===-
-                                                `//"\\   """"`---.___.-""
-             ______-==|                         | |  \\           _-"`
-       __--"""  ,-/-==\\                        | |   `\        ,'
-    _-"       /'    |  \\            ___         / /      \      /
-  .'        /       |   \\         /"   "\    /' /        \   /'
- /  ____  /         |    \`\.__/-""  D O   \_/'  /          \/'
-/-'"    """""---__  |     "-/"   O G     R   /'        _--"`
-                  \_|      /   R    __--_  t ),   __--""
-                    '""--_/  T   _-"_>--<_\ h '-" \
-                   {\__--_/}    / \\__>--<__\ e B  \
-                   /'   (_/  _-"  | |__>--<__|   U  |
-                  |   _/) )-"     | |__>--<__|  R   |
-                  / /" ,_/       / /__>---<__/ N    |
-                 o-o _//        /-"_>---<__-" I    /
-                 (^("          /"_>---<__-  N   _-"
-                ,/|           /__>--<__/  A  _-"
-             ,//('(          |__>--<__|  T  /                  .----_
-            ( ( '))          |__>--<__|    |                 /' _---_"\
-         `-)) )) (           |__>--<__|  O |               /'  /     "\`\
-        ,/,'//( (             \__>--<__\  R \            /'  //        ||
-      ,( ( ((, ))              "-__>--<_"-_  "--____---"' _/'/        /'
-    `"/  )` ) ,/|                 "-_">--<_/-__       __-" _/
-  ._-"//( )/ )) `                    ""-'_/_/ /"""""""__--"
-   ;'( ')/ ,)(                              """"""""""
-  ' ') '( (/
-    '   '  `
-
-*/
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/dbus-maybe.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/* This file contains macros that wrap calls to the purple dbus module.
-   These macros call the appropriate functions if the build includes
-   dbus support and do nothing otherwise.  See "dbus-server.h" for
-   documentation.  */
-
-#ifndef _PURPLE_DBUS_MAYBE_H_
-#define _PURPLE_DBUS_MAYBE_H_
-
-#ifdef HAVE_DBUS
-
-#ifndef DBUS_API_SUBJECT_TO_CHANGE
-#define DBUS_API_SUBJECT_TO_CHANGE
-#endif
-
-#include "dbus-server.h"
-
-/* this provides a type check */
-#define PURPLE_DBUS_REGISTER_POINTER(ptr, type) { \
-    type *typed_ptr = ptr; \
-    purple_dbus_register_pointer(typed_ptr, PURPLE_DBUS_TYPE(type));	\
-}
-#define PURPLE_DBUS_UNREGISTER_POINTER(ptr) purple_dbus_unregister_pointer(ptr)
-
-#else  /* !HAVE_DBUS */
-
-#define PURPLE_DBUS_REGISTER_POINTER(ptr, type) { \
-    if (ptr) {} \
-}
-
-#define PURPLE_DBUS_UNREGISTER_POINTER(ptr)
-#define DBUS_EXPORT
-
-#endif	/* HAVE_DBUS */
-
-#endif
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/debug.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/**
- * @file debug.h Debug API
- * @ingroup core
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_DEBUG_H_
-#define _PURPLE_DEBUG_H_
-
-#include <glib.h>
-#include <stdarg.h>
-
-/**
- * Debug levels.
- */
-typedef enum
-{
-	PURPLE_DEBUG_ALL = 0,  /**< All debug levels.              */
-	PURPLE_DEBUG_MISC,     /**< General chatter.               */
-	PURPLE_DEBUG_INFO,     /**< General operation Information. */
-	PURPLE_DEBUG_WARNING,  /**< Warnings.                      */
-	PURPLE_DEBUG_ERROR,    /**< Errors.                        */
-	PURPLE_DEBUG_FATAL     /**< Fatal errors.                  */
-
-} PurpleDebugLevel;
-
-/**
- * Debug UI operations.
- */
-typedef struct
-{
-	void (*print)(PurpleDebugLevel level, const char *category,
-				  const char *arg_s);
-	gboolean (*is_enabled)(PurpleDebugLevel level,
-			const char *category);
-
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-} PurpleDebugUiOps;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**************************************************************************/
-/** @name Debug API                                                       */
-/**************************************************************************/
-/**
- * Outputs debug information.
- *
- * @param level    The debug level.
- * @param category The category (or @c NULL).
- * @param format   The format string.
- */
-void purple_debug(PurpleDebugLevel level, const char *category,
-				const char *format, ...) G_GNUC_PRINTF(3, 4);
-
-/**
- * Outputs misc. level debug information.
- *
- * This is a wrapper for purple_debug(), and uses PURPLE_DEBUG_MISC as
- * the level.
- *
- * @param category The category (or @c NULL).
- * @param format   The format string.
- *
- * @see purple_debug()
- */
-void purple_debug_misc(const char *category, const char *format, ...) G_GNUC_PRINTF(2, 3);
-
-/**
- * Outputs info level debug information.
- *
- * This is a wrapper for purple_debug(), and uses PURPLE_DEBUG_INFO as
- * the level.
- *
- * @param category The category (or @c NULL).
- * @param format   The format string.
- *
- * @see purple_debug()
- */
-void purple_debug_info(const char *category, const char *format, ...) G_GNUC_PRINTF(2, 3);
-
-/**
- * Outputs warning level debug information.
- *
- * This is a wrapper for purple_debug(), and uses PURPLE_DEBUG_WARNING as
- * the level.
- *
- * @param category The category (or @c NULL).
- * @param format   The format string.
- *
- * @see purple_debug()
- */
-void purple_debug_warning(const char *category, const char *format, ...) G_GNUC_PRINTF(2, 3);
-
-/**
- * Outputs error level debug information.
- *
- * This is a wrapper for purple_debug(), and uses PURPLE_DEBUG_ERROR as
- * the level.
- *
- * @param category The category (or @c NULL).
- * @param format   The format string.
- *
- * @see purple_debug()
- */
-void purple_debug_error(const char *category, const char *format, ...) G_GNUC_PRINTF(2, 3);
-
-/**
- * Outputs fatal error level debug information.
- *
- * This is a wrapper for purple_debug(), and uses PURPLE_DEBUG_ERROR as
- * the level.
- *
- * @param category The category (or @c NULL).
- * @param format   The format string.
- *
- * @see purple_debug()
- */
-void purple_debug_fatal(const char *category, const char *format, ...) G_GNUC_PRINTF(2, 3);
-
-/**
- * Enable or disable printing debug output to the console.
- *
- * @param enabled TRUE to enable debug output or FALSE to disable it.
- */
-void purple_debug_set_enabled(gboolean enabled);
-
-/**
- * Check if console debug output is enabled.
- *
- * @return TRUE if debuggin is enabled, FALSE if it is not.
- */
-gboolean purple_debug_is_enabled(void);
-
-/*@}*/
-
-/**************************************************************************/
-/** @name UI Registration Functions                                       */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Sets the UI operations structure to be used when outputting debug
- * information.
- *
- * @param ops The UI operations structure.
- */
-void purple_debug_set_ui_ops(PurpleDebugUiOps *ops);
-
-/**
- * Returns the UI operations structure used when outputting debug
- * information.
- *
- * @return The UI operations structure in use.
- */
-PurpleDebugUiOps *purple_debug_get_ui_ops(void);
-
-/*@}*/
-
-/**************************************************************************/
-/** @name Debug Subsystem                                                 */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Initializes the debug subsystem.
- */
-void purple_debug_init(void);
-
-/*@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_DEBUG_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/desktopitem.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/**
- * @file desktopitem.h Functions for managing .desktop files
- * @ingroup core
- */
-
-/* Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- *
- */
-
-/*
- * The following code has been adapted from gnome-desktop-item.[ch],
- * as found on gnome-desktop-2.8.1.
- *
- *   Copyright (C) 2004 by Alceste Scalas <alceste.scalas@gmx.net>.
- *
- * Original copyright notice:
- *
- * Copyright (C) 1999, 2000 Red Hat Inc.
- * Copyright (C) 2001 Sid Vicious
- * All rights reserved.
- *
- * This file is part of the Gnome Library.
- *
- * The Gnome Library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- * 
- * The Gnome Library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- * 
- * You should have received a copy of the GNU Library General Public
- * License along with the Gnome Library; see the file COPYING.LIB.  If not,
- * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02111-1301, USA.
- */
-
-#ifndef _PURPLE_DESKTOP_ITEM_H_
-#define _PURPLE_DESKTOP_ITEM_H_
-
-#include <glib.h>
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-typedef enum {
-	PURPLE_DESKTOP_ITEM_TYPE_NULL = 0 /* This means its NULL, that is, not
-					  * set */,
-	PURPLE_DESKTOP_ITEM_TYPE_OTHER /* This means it's not one of the below
-					 strings types, and you must get the
-					 Type attribute. */,
-
-	/* These are the standard compliant types: */
-	PURPLE_DESKTOP_ITEM_TYPE_APPLICATION,
-	PURPLE_DESKTOP_ITEM_TYPE_LINK,
-	PURPLE_DESKTOP_ITEM_TYPE_FSDEVICE,
-	PURPLE_DESKTOP_ITEM_TYPE_MIME_TYPE,
-	PURPLE_DESKTOP_ITEM_TYPE_DIRECTORY,
-	PURPLE_DESKTOP_ITEM_TYPE_SERVICE,
-	PURPLE_DESKTOP_ITEM_TYPE_SERVICE_TYPE
-} PurpleDesktopItemType;
-
-typedef struct _PurpleDesktopItem PurpleDesktopItem;
-
-#define PURPLE_TYPE_DESKTOP_ITEM         (purple_desktop_item_get_type ())
-GType purple_desktop_item_get_type       (void);
-
-/* standard */
-#define PURPLE_DESKTOP_ITEM_ENCODING	"Encoding" /* string */
-#define PURPLE_DESKTOP_ITEM_VERSION	"Version"  /* numeric */
-#define PURPLE_DESKTOP_ITEM_NAME		"Name" /* localestring */
-#define PURPLE_DESKTOP_ITEM_GENERIC_NAME	"GenericName" /* localestring */
-#define PURPLE_DESKTOP_ITEM_TYPE		"Type" /* string */
-#define PURPLE_DESKTOP_ITEM_FILE_PATTERN "FilePattern" /* regexp(s) */
-#define PURPLE_DESKTOP_ITEM_TRY_EXEC	"TryExec" /* string */
-#define PURPLE_DESKTOP_ITEM_NO_DISPLAY	"NoDisplay" /* boolean */
-#define PURPLE_DESKTOP_ITEM_COMMENT	"Comment" /* localestring */
-#define PURPLE_DESKTOP_ITEM_EXEC		"Exec" /* string */
-#define PURPLE_DESKTOP_ITEM_ACTIONS	"Actions" /* strings */
-#define PURPLE_DESKTOP_ITEM_ICON		"Icon" /* string */
-#define PURPLE_DESKTOP_ITEM_MINI_ICON	"MiniIcon" /* string */
-#define PURPLE_DESKTOP_ITEM_HIDDEN	"Hidden" /* boolean */
-#define PURPLE_DESKTOP_ITEM_PATH		"Path" /* string */
-#define PURPLE_DESKTOP_ITEM_TERMINAL	"Terminal" /* boolean */
-#define PURPLE_DESKTOP_ITEM_TERMINAL_OPTIONS "TerminalOptions" /* string */
-#define PURPLE_DESKTOP_ITEM_SWALLOW_TITLE "SwallowTitle" /* string */
-#define PURPLE_DESKTOP_ITEM_SWALLOW_EXEC	"SwallowExec" /* string */
-#define PURPLE_DESKTOP_ITEM_MIME_TYPE	"MimeType" /* regexp(s) */
-#define PURPLE_DESKTOP_ITEM_PATTERNS	"Patterns" /* regexp(s) */
-#define PURPLE_DESKTOP_ITEM_DEFAULT_APP	"DefaultApp" /* string */
-#define PURPLE_DESKTOP_ITEM_DEV		"Dev" /* string */
-#define PURPLE_DESKTOP_ITEM_FS_TYPE	"FSType" /* string */
-#define PURPLE_DESKTOP_ITEM_MOUNT_POINT	"MountPoint" /* string */
-#define PURPLE_DESKTOP_ITEM_READ_ONLY	"ReadOnly" /* boolean */
-#define PURPLE_DESKTOP_ITEM_UNMOUNT_ICON "UnmountIcon" /* string */
-#define PURPLE_DESKTOP_ITEM_SORT_ORDER	"SortOrder" /* strings */
-#define PURPLE_DESKTOP_ITEM_URL		"URL" /* string */
-#define PURPLE_DESKTOP_ITEM_DOC_PATH	"X-GNOME-DocPath" /* string */
-
-/**
- * This function loads 'filename' and turns it into a PurpleDesktopItem.
- *
- * @param filename The filename or directory path to load the PurpleDesktopItem from
- *
- * @return The newly loaded item, or NULL on error.
- */
-PurpleDesktopItem *purple_desktop_item_new_from_file (const char *filename);
-
-/**
- * Gets the type attribute (the 'Type' field) of the item.  This should
- * usually be 'Application' for an application, but it can be 'Directory'
- * for a directory description.  There are other types available as well.
- * The type usually indicates how the desktop item should be handeled and
- * how the 'Exec' field should be handeled.
- *
- * @param item A desktop item
- *
- * @return The type of the specified 'item'. The returned memory
- * remains owned by the PurpleDesktopItem and should not be freed.
- */
-PurpleDesktopItemType purple_desktop_item_get_entry_type (const PurpleDesktopItem *item);
-
-/**
- * Gets the value of an attribute of the item, as a string.
- *
- * @param item A desktop item
- * @param attr The attribute to look for
- *
- * @return The value of the specified item attribute.
- */
-const char *purple_desktop_item_get_string (const PurpleDesktopItem *item,
-					  const char *attr);
-
-/**
- * Creates a copy of a PurpleDesktopItem.  The new copy has a refcount of 1.
- * Note: Section stack is NOT copied.
- *
- * @param item The item to be copied
- *
- * @return The new copy 
- */
-PurpleDesktopItem *purple_desktop_item_copy (const PurpleDesktopItem *item);
-
-/**
- * Decreases the reference count of the specified item, and destroys
- * the item if there are no more references left.
- *
- * @param item A desktop item
- */
-void purple_desktop_item_unref (PurpleDesktopItem *item);
-
-G_END_DECLS
-
-#endif /* _PURPLE_DESKTOP_ITEM_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/dialog.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/**
- * @file dialog.h Dialog functions
- *
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _MSN_DIALOG_H_
-#define _MSN_DIALOG_H_
-
-void msn_show_sync_issue(MsnSession *session, const char *passport,
-						 const char *group_name);
-
-#endif /* _MSN_DIALOG_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/directconn.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/**
- * @file directconn.h MSN direct connection functions
- *
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _MSN_DIRECTCONN_H_
-#define _MSN_DIRECTCONN_H_
-
-typedef struct _MsnDirectConn MsnDirectConn;
-
-#include "slplink.h"
-#include "slp.h"
-#include "msg.h"
-
-struct _MsnDirectConn
-{
-	MsnSlpLink *slplink;
-	MsnSlpCall *initial_call;
-
-	PurpleProxyConnectData *connect_data;
-
-	gboolean acked;
-
-	char *nonce;
-
-	int fd;
-
-	int port;
-	int inpa;
-
-	int c;
-};
-
-MsnDirectConn *msn_directconn_new(MsnSlpLink *slplink);
-gboolean msn_directconn_connect(MsnDirectConn *directconn,
-								const char *host, int port);
-void msn_directconn_listen(MsnDirectConn *directconn);
-void msn_directconn_send_msg(MsnDirectConn *directconn, MsnMessage *msg);
-void msn_directconn_parse_nonce(MsnDirectConn *directconn, const char *nonce);
-void msn_directconn_destroy(MsnDirectConn *directconn);
-void msn_directconn_send_handshake(MsnDirectConn *directconn);
-
-#endif /* _MSN_DIRECTCONN_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/dnsquery.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/**
- * @file dnsquery.h DNS query API
- * @ingroup core
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_DNSQUERY_H_
-#define _PURPLE_DNSQUERY_H_
-
-#include <glib.h>
-#include "eventloop.h"
-#include "account.h"
-
-typedef struct _PurpleDnsQueryData PurpleDnsQueryData;
-
-/**
- * The "hosts" parameter is a linked list containing pairs of
- * one size_t addrlen and one struct sockaddr *addr.  It should
- * be free'd by the callback function.
- */
-typedef void (*PurpleDnsQueryConnectFunction)(GSList *hosts, gpointer data, const char *error_message);
-
-/**
- * Callbacks used by the UI if it handles resolving DNS
- */
-typedef void  (*PurpleDnsQueryResolvedCallback) (PurpleDnsQueryData *query_data, GSList *hosts);
-typedef void  (*PurpleDnsQueryFailedCallback) (PurpleDnsQueryData *query_data, const gchar *error_message);
-
-/**
- * DNS Request UI operations;  UIs should implement this if they want to do DNS
- * lookups themselves, rather than relying on the core.
- *
- * @see @ref ui-ops
- */
-typedef struct
-{
-	/** If implemented, the UI is responsible for DNS queries */
-	gboolean (*resolve_host)(PurpleDnsQueryData *query_data,
-	                         PurpleDnsQueryResolvedCallback resolved_cb,
-	                         PurpleDnsQueryFailedCallback failed_cb);
-
-	/** Called just before @a query_data is freed; this should cancel any
-	 *  further use of @a query_data the UI would make. Unneeded if
-	 *  #resolve_host is not implemented.
-	 */
-	void (*destroy)(PurpleDnsQueryData *query_data);
-
-	void (*_purple_reserved1)(void);
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-} PurpleDnsQueryUiOps;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**************************************************************************/
-/** @name DNS query API                                                   */
-/**************************************************************************/
-/*@{*/
-
-/**
- * Perform an asynchronous DNS query.
- *
- * @param hostname The hostname to resolve.
- * @param port     A port number which is stored in the struct sockaddr.
- * @param callback The callback function to call after resolving.
- * @param data     Extra data to pass to the callback function.
- *
- * @return NULL if there was an error, otherwise return a reference to
- *         a data structure that can be used to cancel the pending
- *         DNS query, if needed.
- */
-PurpleDnsQueryData *purple_dnsquery_a(const char *hostname, int port, PurpleDnsQueryConnectFunction callback, gpointer data);
-
-/**
- * Cancel a DNS query and destroy the associated data structure.
- *
- * @param query_data The DNS query to cancel.  This data structure
- *        is freed by this function.
- */
-void purple_dnsquery_destroy(PurpleDnsQueryData *query_data);
-
-/**
- * Sets the UI operations structure to be used when doing a DNS
- * resolve.  The UI operations need only be set if the UI wants to
- * handle the resolve itself; otherwise, leave it as NULL.
- *
- * @param ops The UI operations structure.
- */
-void purple_dnsquery_set_ui_ops(PurpleDnsQueryUiOps *ops);
-
-/**
- * Returns the UI operations structure to be used when doing a DNS
- * resolve.
- *
- * @return The UI operations structure.
- */
-PurpleDnsQueryUiOps *purple_dnsquery_get_ui_ops(void);
-
-/**
- * Get the host associated with a PurpleDnsQueryData
- *
- * @param query_data The DNS query
- * @return The host.
- */
-char *purple_dnsquery_get_host(PurpleDnsQueryData *query_data);
-
-/**
- * Get the port associated with a PurpleDnsQueryData
- *
- * @param query_data The DNS query
- * @return The port.
- */
-unsigned short purple_dnsquery_get_port(PurpleDnsQueryData *query_data);
-
-/**
- * Initializes the DNS query subsystem.
- */
-void purple_dnsquery_init(void);
-
-/**
- * Uninitializes the DNS query subsystem.
- */
-void purple_dnsquery_uninit(void);
-
-/*@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_DNSQUERY_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/dnssrv.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/**
- * @file dnssrv.h
- */
-
-/* purple
- *
- * Copyright (C) 2005, Thomas Butter <butter@uni-mannheim.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-
-#ifndef _PURPLE_DNSSRV_H
-#define _PURPLE_DNSSRV_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _PurpleSrvResponse PurpleSrvResponse;
-typedef struct _PurpleSrvQueryData PurpleSrvQueryData;
-
-struct _PurpleSrvResponse {
-	char hostname[256];
-	int port;
-	int weight;
-	int pref;
-};
-
-typedef void (*PurpleSrvCallback)(PurpleSrvResponse *resp, int results, gpointer data);
-
-/**
- * Queries an SRV record.
- *
- * @param protocol Name of the protocol (e.g. "sip")
- * @param transport Name of the transport ("tcp" or "udp")
- * @param domain Domain name to query (e.g. "blubb.com")
- * @param cb A callback which will be called with the results
- * @param extradata Extra data to be passed to the callback
- */
-PurpleSrvQueryData *purple_srv_resolve(const char *protocol, const char *transport, const char *domain, PurpleSrvCallback cb, gpointer extradata);
-
-/**
- * Cancel an SRV DNS query.
- *
- * @param query_data The request to cancel.
- */
-void purple_srv_cancel(PurpleSrvQueryData *query_data);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_DNSSRV_H */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/error.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/**
- * @file error.h Error functions
- *
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _MSN_ERROR_H_
-#define _MSN_ERROR_H_
-
-#include "session.h"
-
-/**
- * Returns the string representation of an error type.
- *
- * @param type The error type.
- * @param debug Whether this should be treated as a debug log message or a user-visible error
- *
- * @return The string representation of the error type.
- */
-const char *msn_error_get_text(unsigned int type, gboolean *debug);
-
-/**
- * Handles an error.
- *
- * @param session The current session.
- * @param type    The error type.
- */
-void msn_error_handle(MsnSession *session, unsigned int type);
-
-#endif /* _MSN_ERROR_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/eventloop.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-/**
- * @file eventloop.h Purple Event Loop API
- * @ingroup core
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_EVENTLOOP_H_
-#define _PURPLE_EVENTLOOP_H_
-
-#include <glib.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * An input condition.
- */
-typedef enum
-{
-	PURPLE_INPUT_READ  = 1 << 0,  /**< A read condition.  */
-	PURPLE_INPUT_WRITE = 1 << 1   /**< A write condition. */
-
-} PurpleInputCondition;
-
-/** The type of callbacks to handle events on file descriptors, as passed to
- *  purple_input_add().  The callback will receive the @c user_data passed to
- *  purple_input_add(), the file descriptor on which the event occurred, and the
- *  condition that was satisfied to cause the callback to be invoked.
- */
-typedef void (*PurpleInputFunction)(gpointer, gint, PurpleInputCondition);
-
-/** @copydoc _PurpleEventLoopUiOps */
-typedef struct _PurpleEventLoopUiOps PurpleEventLoopUiOps;
-
-/** An abstraction of an application's mainloop; libpurple will use this to
- *  watch file descriptors and schedule timed callbacks.  If your application
- *  uses the glib mainloop, there is an implementation of this struct in
- *  <tt>libpurple/example/nullclient.c</tt> which you can use verbatim.
- */
-struct _PurpleEventLoopUiOps
-{
-	/**
-	 * Should create a callback timer with an interval measured in
-	 * milliseconds.  The supplied @a function should be called every @a
-	 * interval seconds until it returns @c FALSE, after which it should not
-	 * be called again.
-	 *
-	 * Analogous to g_timeout_add in glib.
-	 *
-	 * Note: On Win32, this function may be called from a thread other than
-	 * the libpurple thread.  You should make sure to detect this situation
-	 * and to only call "function" from the libpurple thread.
-	 *
-	 * @param interval the interval in <em>milliseconds</em> between calls
-	 *                 to @a function.
-	 * @param data     arbitrary data to be passed to @a function at each
-	 *                 call.
-	 * @todo Who is responsible for freeing @a data?
-	 *
-	 * @return a handle for the timeout, which can be passed to
-	 *         #timeout_remove.
-	 *
-	 * @see purple_timeout_add
-	 **/
-	guint (*timeout_add)(guint interval, GSourceFunc function, gpointer data);
-
-	/**
-	 * Should remove a callback timer.  Analogous to g_source_remove in glib.
-	 * @param handle an identifier for a timeout, as returned by
-	 *               #timeout_add.
-	 * @return       @c TRUE if the timeout identified by @a handle was
-	 *               found and removed.
-	 * @see purple_timeout_remove
-	 */
-	gboolean (*timeout_remove)(guint handle);
-
-	/**
-	 * Should add an input handler.  Analogous to g_io_add_watch_full in
-	 * glib.
-	 *
-	 * @param fd        a file descriptor to watch for events
-	 * @param cond      a bitwise OR of events on @a fd for which @a func
-	 *                  should be called.
-	 * @param func      a callback to fire whenever a relevant event on @a
-	 *                  fd occurs.
-	 * @param user_data arbitrary data to pass to @a fd.
-	 * @return          an identifier for this input handler, which can be
-	 *                  passed to #input_remove.
-	 *
-	 * @see purple_input_add
-	 */
-	guint (*input_add)(int fd, PurpleInputCondition cond,
-	                   PurpleInputFunction func, gpointer user_data);
-
-	/**
-	 * Should remove an input handler.  Analogous to g_source_remove in glib.
-	 * @param handle an identifier, as returned by #input_add.
-	 * @return       @c TRUE if the input handler was found and removed.
-	 * @see purple_input_remove
-	 */
-	gboolean (*input_remove)(guint handle);
-	
-	
-	/**
-	 * If implemented, should get the current error status for an input.
-	 *
-	 * Implementation of this UI op is optional. Implement it if the UI's
-	 * sockets or event loop needs to customize determination of socket
-	 * error status.  If unimplemented, <tt>getsockopt(2)</tt> will be used
-	 * instead.
-	 *
-	 * @see purple_input_get_error
-	 */
-	int (*input_get_error)(int fd, int *error);
-
-	/**
-	 * If implemented, should create a callback timer with an interval
-	 * measured in seconds.  Analogous to g_timeout_add_seconds in glib.
-	 *
-	 * This allows UIs to group timers for better power efficiency.  For
-	 * this reason, @a interval may be rounded by up to a second.
-	 *
-	 * Implementation of this UI op is optional.  If it's not implemented,
-	 * calls to purple_timeout_add_seconds() will be serviced by
-	 * #timeout_add.
-	 *
-	 * @see purple_timeout_add_seconds()
-	 * @since 2.1.0
-	 **/
-	guint (*timeout_add_seconds)(guint interval, GSourceFunc function,
-	                             gpointer data);
-
-	void (*_purple_reserved2)(void);
-	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
-};
-
-/**************************************************************************/
-/** @name Event Loop API                                                  */
-/**************************************************************************/
-/*@{*/
-/**
- * Creates a callback timer.
- * 
- * The timer will repeat until the function returns @c FALSE. The
- * first call will be at the end of the first interval.
- *
- * If the timer is in a multiple of seconds, use purple_timeout_add_seconds()
- * instead as it allows UIs to group timers for power efficiency.
- *
- * @param interval	The time between calls of the function, in
- *                      milliseconds.
- * @param function	The function to call.
- * @param data		data to pass to @a function.
- * @return A handle to the timer which can be passed to
- *         purple_timeout_remove() to remove the timer.
- */
-guint purple_timeout_add(guint interval, GSourceFunc function, gpointer data);
-
-/**
- * Creates a callback timer.
- *
- * The timer will repeat until the function returns @c FALSE. The
- * first call will be at the end of the first interval.
- *
- * This function allows UIs to group timers for better power efficiency.  For
- * this reason, @a interval may be rounded by up to a second.
- * 
- * @param interval	The time between calls of the function, in
- *                      seconds.
- * @param function	The function to call.
- * @param data		data to pass to @a function.
- * @return A handle to the timer which can be passed to 
- *         purple_timeout_remove() to remove the timer.
- *
- * @since 2.1.0
- */
-guint purple_timeout_add_seconds(guint interval, GSourceFunc function, gpointer data);
-
-/**
- * Removes a timeout handler.
- *
- * @param handle The handle, as returned by purple_timeout_add().
- *
- * @return @c TRUE if the handler was successfully removed.
- */
-gboolean purple_timeout_remove(guint handle);
-
-/**
- * Adds an input handler.
- *
- * @param fd        The input file descriptor.
- * @param cond      The condition type.
- * @param func      The callback function for data.
- * @param user_data User-specified data.
- *
- * @return The resulting handle (will be greater than 0).
- * @see g_io_add_watch_full
- */
-guint purple_input_add(int fd, PurpleInputCondition cond,
-                       PurpleInputFunction func, gpointer user_data);
-
-/**
- * Removes an input handler.
- *
- * @param handle The handle of the input handler. Note that this is the return
- *               value from purple_input_add(), <i>not</i> the file descriptor.
- */
-gboolean purple_input_remove(guint handle);
-
-/**
- * Get the current error status for an input.
- *
- * The return value and error follow getsockopt() with a level of SOL_SOCKET and an
- * option name of SO_ERROR, and this is how the error is determined if the UI does not
- * implement the input_get_error UI op.
- *
- * @param fd        The input file descriptor.
- * @param error     A pointer to an @c int which on return will have the error, or
- *                  @c 0 if no error.
- *
- * @return @c 0 if there is no error; @c -1 if there is an error, in which case
- *         @a errno will be set.
- */
-int
-purple_input_get_error(int fd, int *error);
-
-
-/*@}*/
-
-
-/**************************************************************************/
-/** @name UI Registration Functions                                       */
-/**************************************************************************/
-/*@{*/
-/**
- * Sets the UI operations structure to be used for accounts.
- *
- * @param ops The UI operations structure.
- */
-void purple_eventloop_set_ui_ops(PurpleEventLoopUiOps *ops);
-
-/**
- * Returns the UI operations structure used for accounts.
- *
- * @return The UI operations structure in use.
- */
-PurpleEventLoopUiOps *purple_eventloop_get_ui_ops(void);
-
-/*@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PURPLE_EVENTLOOP_H_ */
--- a/Frameworks/libpurple.framework/Versions/0.5.6/Headers/fix_purple.h	Sun Jun 21 22:04:11 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/**
- * Copyright (C) 2007-2008 Felipe Contreras
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- * 
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef FIX_PURPLE_H
-#define FIX_PURPLE_H
-
-struct _PurpleConnection;
-
-#include <glib.h>
-
-#if !GLIB_CHECK_VERSION(2,3,1)
-
-#if GLIB_SIZEOF_LONG == 8
-#define G_GSIZE_FORMAT "lu"
-#else
-#define G_GSIZE_FORMAT "u"
-#endif
-
-#endif /* !GLIB_CHECK_VERSION(2,3,1) */
-
-#if !GLIB_CHECK_VERSION(2,14,0)
-static inline guint
-g_timeout_add_seconds (guint interval,
-                       GSourceFunc function,
-                       gpointer data)
-{
-    g_return_val_if_fail (function != NULL, 0);
-
-    return g_timeout_add_full (G_PR