adium 3169:a43a13856a83: im.pidgin.adium at 6411a85f8ee18611b1c84cf...
commits at adium.im
commits at adium.im
Fri Apr 23 00:54:52 UTC 2010
details: http://hg.adium.im/adium/rev/a43a13856a83
revision: 3169:a43a13856a83
author: Stephen Holt <sholt at adium.im>
date: Thu Apr 22 17:53:56 2010 -0700
im.pidgin.adium at 6411a85f8ee18611b1c84cf24346c12bacebcecf
diffs (818 lines):
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/account.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/account.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/account.h Thu Apr 22 17:53:56 2010 -0700
@@ -414,6 +414,14 @@
void purple_account_set_proxy_info(PurpleAccount *account, PurpleProxyInfo *info);
/**
+ * Sets the account's privacy type.
+ *
+ * @param account The account.
+ * @param privacy_type The privacy type.
+ */
+void purple_account_set_privacy_type(PurpleAccount *account, PurplePrivacyType privacy_type);
+
+/**
* Sets the account's status types.
*
* @param account The account.
@@ -683,6 +691,15 @@
PurpleProxyInfo *purple_account_get_proxy_info(const PurpleAccount *account);
/**
+ * Returns the account's privacy type.
+ *
+ * @param account The account.
+ *
+ * @return The privacy type.
+ */
+PurplePrivacyType purple_account_get_privacy_type(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
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/certificate.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/certificate.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/certificate.h Thu Apr 22 17:53:56 2010 -0700
@@ -250,10 +250,17 @@
/** Retrieve the certificate activation/expiration times */
gboolean (* get_times)(PurpleCertificate *crt, time_t *activation, time_t *expiration);
+ /** Imports certificates from a file
+ *
+ * @param filename File to import the certificates from
+ * @return GSList of pointers to the newly allocated Certificate structs
+ * or NULL on failure.
+ */
+ GSList * (* import_certificates)(const gchar * filename);
+
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
@@ -492,6 +499,16 @@
purple_certificate_import(PurpleCertificateScheme *scheme, const gchar *filename);
/**
+ * Imports a list of PurpleCertificates from a file
+ *
+ * @param scheme Scheme to import under
+ * @param filename File path to import from
+ * @return Pointer to a GSList of new PurpleCertificates, or NULL on failure
+ */
+GSList *
+purple_certificates_import(PurpleCertificateScheme *scheme, const gchar *filename);
+
+/**
* Exports a PurpleCertificate to a file
*
* @param filename File to export the certificate to
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/connection.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/connection.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/connection.h Thu Apr 22 17:53:56 2010 -0700
@@ -44,8 +44,9 @@
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 */
-
+ PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY = 0x0100, /**< Connection supports sending and receiving custom smileys */
+ PURPLE_CONNECTION_SUPPORT_MOODS = 0x0200, /**< Connection supports setting moods */
+ PURPLE_CONNECTION_SUPPORT_MOOD_MESSAGES = 0x0400 /**< Connection supports setting a message on moods */
} PurpleConnectionFlags;
typedef enum
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/jabber.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/jabber.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/jabber.h Thu Apr 22 17:53:56 2010 -0700
@@ -105,13 +105,20 @@
xmlParserCtxt *context;
xmlnode *current;
- enum {
- JABBER_PROTO_0_9,
- JABBER_PROTO_1_0
+ struct {
+ guint8 major;
+ guint8 minor;
} protocol_version;
JabberSaslMech *auth_mech;
gpointer auth_mech_data;
+
+ /**
+ * The header from the opening <stream/> tag. This being NULL is treated
+ * as a special condition in the parsing code (signifying the next
+ * stanza started is an opening stream tag), and its being missing on
+ * the stream header is treated as a fatal error.
+ */
char *stream_id;
JabberStreamState state;
@@ -166,6 +173,11 @@
time_t idle;
time_t old_idle;
+ /** When we last pinged the server, so we don't ping more
+ * often than once every minute.
+ */
+ time_t last_ping;
+
JabberID *user;
JabberBuddy *user_jb;
@@ -371,10 +383,7 @@
PurpleMediaCaps jabber_get_media_caps(PurpleAccount *account, const char *who);
gboolean jabber_can_receive_file(PurpleConnection *gc, const gchar *who);
-void jabber_register_commands(void);
-void jabber_unregister_commands(void);
-
-void jabber_init_plugin(PurplePlugin *plugin);
-void jabber_uninit_plugin(PurplePlugin *plugin);
+void jabber_plugin_init(PurplePlugin *plugin);
+void jabber_plugin_uninit(PurplePlugin *plugin);
#endif /* PURPLE_JABBER_H_ */
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/jutil.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/jutil.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/jutil.h Thu Apr 22 17:53:56 2010 -0700
@@ -85,5 +85,6 @@
/* show attr (presence stanza) -> state */
JabberBuddyState jabber_buddy_show_get_state(const char *id);
-char *jabber_calculate_data_sha1sum(gconstpointer data, size_t len);
+char *jabber_calculate_data_hash(gconstpointer data, size_t len,
+ const gchar *hash_algo);
#endif /* PURPLE_JABBER_JUTIL_H_ */
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/libymsg.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/libymsg.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/libymsg.h Thu Apr 22 17:53:56 2010 -0700
@@ -29,7 +29,7 @@
#include "cmds.h"
#include "prpl.h"
-#define YAHOO_PAGER_HOST "scsa.msg.yahoo.com"
+#define YAHOO_PAGER_HOST_REQ_URL "http://vcs1.msg.yahoo.com/capacity"
#define YAHOO_PAGER_PORT 5050
#define YAHOO_PAGER_PORT_P2P 5101
#define YAHOO_LOGIN_URL "https://login.yahoo.com/config/pwtoken_login?src=ymsgr&ts=&token=%s"
@@ -44,9 +44,9 @@
#define YAHOO_XFER_RELAY_PORT 80
#define YAHOO_ROOMLIST_URL "http://insider.msg.yahoo.com/ycontent/"
#define YAHOO_ROOMLIST_LOCALE "us"
-/* really we should get the list of servers from
- http://update.messenger.yahoo.co.jp/servers.html */
-#define YAHOOJP_PAGER_HOST "cs.yahoo.co.jp"
+
+/* Yahoo! JAPAN stuff */
+#define YAHOOJP_PAGER_HOST_REQ_URL "http://cs1.msg.vip.ogk.yahoo.co.jp/capacity"
#define YAHOOJP_TOKEN_URL "https://login.yahoo.co.jp/config/pwtoken_get?src=ymsgr&ts=&login=%s&passwd=%s&chal=%s"
#define YAHOOJP_LOGIN_URL "https://login.yahoo.co.jp/config/pwtoken_login?src=ymsgr&ts=&token=%s"
#define YAHOOJP_PROFILE_URL "http://profiles.yahoo.co.jp/"
@@ -90,8 +90,8 @@
#define YAHOO_CLIENT_VERSION_ID "4194239"
#define YAHOO_CLIENT_VERSION "9.0.0.2162"
-#define YAHOOJP_CLIENT_VERSION_ID "4194239"
-#define YAHOOJP_CLIENT_VERSION "9.0.0.2162"
+#define YAHOOJP_CLIENT_VERSION_ID "4186047"
+#define YAHOOJP_CLIENT_VERSION "9.0.0.1727"
#define YAHOO_CLIENT_USERAGENT "Mozilla/5.0"
@@ -119,6 +119,7 @@
YAHOO_STATUS_ONVACATION,
YAHOO_STATUS_OUTTOLUNCH,
YAHOO_STATUS_STEPPEDOUT,
+ YAHOO_STATUS_P2P = 11,
YAHOO_STATUS_INVISIBLE = 12,
YAHOO_STATUS_CUSTOM = 99,
YAHOO_STATUS_IDLE = 999,
@@ -219,6 +220,7 @@
gsize auth_written;
char *cookie_y;
char *cookie_t;
+ char *cookie_b;
int session_id;
gboolean jp;
gboolean wm; /* connected w/ web messenger method */
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/namespaces.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/namespaces.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/namespaces.h Thu Apr 22 17:53:56 2010 -0700
@@ -30,6 +30,7 @@
#define NS_XMPP_SESSION "urn:ietf:params:xml:ns:xmpp-session"
#define NS_XMPP_STANZAS "urn:ietf:params:xml:ns:xmpp-stanzas"
#define NS_XMPP_STREAMS "http://etherx.jabber.org/streams"
+#define NS_XMPP_TLS "urn:ietf:params:xml:ns:xmpp-tls"
/* XEP-0012 Last Activity (and XEP-0256 Last Activity in Presence) */
#define NS_LAST_ACTIVITY "jabber:iq:last"
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/network.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/network.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/network.h Thu Apr 22 17:53:56 2010 -0700
@@ -123,8 +123,8 @@
* The default value is TRUE
*
* @param map_external Should the open port be mapped externally?
- * @deprecated In 3.0.0 a boolean will be added to the above functions to
- * perform the same function.
+ * @deprecated In 3.0.0 a boolean will be added to the functions mentioned
+ * above to perform the same function.
* @since 2.3.0
*/
void purple_network_listen_map_external(gboolean map_external);
@@ -236,15 +236,15 @@
*/
void *purple_network_get_handle(void);
-/**
+/**
* Update the STUN server IP given the host name
* Will result in a DNS query being executed asynchronous
- *
+ *
* @param stun_server The host name of the STUN server to set
* @since 2.6.0
*/
void purple_network_set_stun_server(const gchar *stun_server);
-
+
/**
* Get the IP address of the STUN server as a string representation
*
@@ -252,16 +252,16 @@
* @since 2.6.0
*/
const gchar *purple_network_get_stun_ip(void);
-
-/**
+
+/**
* Update the TURN server IP given the host name
* Will result in a DNS query being executed asynchronous
- *
+ *
* @param turn_server The host name of the TURN server to set
* @since 2.6.0
*/
void purple_network_set_turn_server(const gchar *turn_server);
-
+
/**
* Get the IP address of the TURN server as a string representation
*
@@ -269,14 +269,14 @@
* @since 2.6.0
*/
const gchar *purple_network_get_turn_ip(void);
-
+
/**
* Remove a port mapping (UPnP or NAT-PMP) associated with listening socket
*
* @param fd Socket to remove the port mapping for
* @since 2.6.0
*/
-void purple_network_remove_port_mapping(gint fd);
+void purple_network_remove_port_mapping(gint fd);
/**
* Convert a UTF-8 domain name to ASCII in accordance with the IDNA
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/oscar.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/oscar.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/oscar.h Thu Apr 22 17:53:56 2010 -0700
@@ -344,40 +344,39 @@
OSCAR_DISCONNECT_RETRYING /* peer connections only */
} OscarDisconnectReason;
-typedef enum
-{
- OSCAR_CAPABILITY_BUDDYICON = 0x00000001,
- OSCAR_CAPABILITY_TALK = 0x00000002,
- OSCAR_CAPABILITY_DIRECTIM = 0x00000004,
- OSCAR_CAPABILITY_CHAT = 0x00000008,
- OSCAR_CAPABILITY_GETFILE = 0x00000010,
- OSCAR_CAPABILITY_SENDFILE = 0x00000020,
- OSCAR_CAPABILITY_GAMES = 0x00000040,
- OSCAR_CAPABILITY_ADDINS = 0x00000080,
- OSCAR_CAPABILITY_SENDBUDDYLIST = 0x00000100,
- OSCAR_CAPABILITY_GAMES2 = 0x00000200,
- OSCAR_CAPABILITY_ICQ_DIRECT = 0x00000400,
- OSCAR_CAPABILITY_APINFO = 0x00000800,
- OSCAR_CAPABILITY_ICQRTF = 0x00001000,
- OSCAR_CAPABILITY_EMPTY = 0x00002000,
- OSCAR_CAPABILITY_ICQSERVERRELAY = 0x00004000,
- OSCAR_CAPABILITY_UNICODEOLD = 0x00008000,
- OSCAR_CAPABILITY_TRILLIANCRYPT = 0x00010000,
- OSCAR_CAPABILITY_UNICODE = 0x00020000,
- OSCAR_CAPABILITY_INTEROPERATE = 0x00040000,
- OSCAR_CAPABILITY_SHORTCAPS = 0x00080000,
- OSCAR_CAPABILITY_HIPTOP = 0x00100000,
- OSCAR_CAPABILITY_SECUREIM = 0x00200000,
- OSCAR_CAPABILITY_SMS = 0x00400000,
- OSCAR_CAPABILITY_VIDEO = 0x00800000,
- OSCAR_CAPABILITY_ICHATAV = 0x01000000,
- OSCAR_CAPABILITY_LIVEVIDEO = 0x02000000,
- OSCAR_CAPABILITY_CAMERA = 0x04000000,
- OSCAR_CAPABILITY_ICHAT_SCREENSHARE = 0x08000000,
- OSCAR_CAPABILITY_TYPING = 0x10000000,
- OSCAR_CAPABILITY_GENERICUNKNOWN = 0x20000000,
- OSCAR_CAPABILITY_LAST = 0x40000000
-} OscarCapability;
+#define OSCAR_CAPABILITY_BUDDYICON 0x0000000000000001LL
+#define OSCAR_CAPABILITY_TALK 0x0000000000000002LL
+#define OSCAR_CAPABILITY_DIRECTIM 0x0000000000000004LL
+#define OSCAR_CAPABILITY_CHAT 0x0000000000000008LL
+#define OSCAR_CAPABILITY_GETFILE 0x0000000000000010LL
+#define OSCAR_CAPABILITY_SENDFILE 0x0000000000000020LL
+#define OSCAR_CAPABILITY_GAMES 0x0000000000000040LL
+#define OSCAR_CAPABILITY_ADDINS 0x0000000000000080LL
+#define OSCAR_CAPABILITY_SENDBUDDYLIST 0x0000000000000100LL
+#define OSCAR_CAPABILITY_GAMES2 0x0000000000000200LL
+#define OSCAR_CAPABILITY_ICQ_DIRECT 0x0000000000000400LL
+#define OSCAR_CAPABILITY_APINFO 0x0000000000000800LL
+#define OSCAR_CAPABILITY_ICQRTF 0x0000000000001000LL
+#define OSCAR_CAPABILITY_EMPTY 0x0000000000002000LL
+#define OSCAR_CAPABILITY_ICQSERVERRELAY 0x0000000000004000LL
+#define OSCAR_CAPABILITY_UNICODEOLD 0x0000000000008000LL
+#define OSCAR_CAPABILITY_TRILLIANCRYPT 0x0000000000010000LL
+#define OSCAR_CAPABILITY_UNICODE 0x0000000000020000LL
+#define OSCAR_CAPABILITY_INTEROPERATE 0x0000000000040000LL
+#define OSCAR_CAPABILITY_SHORTCAPS 0x0000000000080000LL
+#define OSCAR_CAPABILITY_HIPTOP 0x0000000000100000LL
+#define OSCAR_CAPABILITY_SECUREIM 0x0000000000200000LL
+#define OSCAR_CAPABILITY_SMS 0x0000000000400000LL
+#define OSCAR_CAPABILITY_VIDEO 0x0000000000800000LL
+#define OSCAR_CAPABILITY_ICHATAV 0x0000000001000000LL
+#define OSCAR_CAPABILITY_LIVEVIDEO 0x0000000002000000LL
+#define OSCAR_CAPABILITY_CAMERA 0x0000000004000000LL
+#define OSCAR_CAPABILITY_ICHAT_SCREENSHARE 0x0000000008000000LL
+#define OSCAR_CAPABILITY_TYPING 0x0000000010000000LL
+#define OSCAR_CAPABILITY_NEWCAPS 0x0000000020000000LL
+#define OSCAR_CAPABILITY_XTRAZ 0x0000000040000000LL
+#define OSCAR_CAPABILITY_GENERICUNKNOWN 0x0000000080000000LL
+#define OSCAR_CAPABILITY_LAST 0x0000000100000000LL
/*
* Byte Stream type. Sort of.
@@ -572,6 +571,12 @@
#define AIM_ICQ_STATE_BUSY 0x00000010
#define AIM_ICQ_STATE_CHAT 0x00000020
#define AIM_ICQ_STATE_INVISIBLE 0x00000100
+#define AIM_ICQ_STATE_EVIL 0x00003000
+#define AIM_ICQ_STATE_DEPRESSION 0x00004000
+#define AIM_ICQ_STATE_ATHOME 0x00005000
+#define AIM_ICQ_STATE_ATWORK 0x00006000
+#define AIM_ICQ_STATE_LUNCH 0x00002001
+#define AIM_ICQ_STATE_EVIL 0x00003000
#define AIM_ICQ_STATE_WEBAWARE 0x00010000
#define AIM_ICQ_STATE_HIDEIP 0x00020000
#define AIM_ICQ_STATE_BIRTHDAY 0x00080000
@@ -742,6 +747,21 @@
#define AIM_IMPARAM_FLAG_SMS_SUPPORTED 0x00000010
#define AIM_IMPARAM_FLAG_OFFLINE_MSGS_ALLOWED 0x00000100
+/**
+ * This flag tells the server that we always send HTML in messages
+ * sent from an ICQ account to an ICQ account. (If this flag is
+ * not sent then plaintext is sent ICQ<-->ICQ (HTML is sent in all
+ * other cases)).
+ *
+ * If we send an HTML message to an old client that doesn't support
+ * HTML messages, then the oscar servers will merrily strip the HTML
+ * for us.
+ *
+ * When we receive an IM we look at the features on the ICBM to
+ * determine if the message is HTML or plaintext.
+ */
+#define AIM_IMPARAM_FLAG_USE_HTML_FOR_ICQ 0x00000400
+
/* This is what the server will give you if you don't set them yourself. */
/* This is probably out of date. */
#define AIM_IMPARAM_DEFAULTS { \
@@ -939,7 +959,7 @@
{
guint16 status;
guchar cookie[8];
- int type; /* One of the OSCAR_CAPABILITY_ constants */
+ guint64 type; /* One of the OSCAR_CAPABILITY_ constants */
const char *proxyip;
const char *clientip;
const char *verifiedip;
@@ -1012,7 +1032,8 @@
/* 0x0008 */ int aim_im_warn(OscarData *od, FlapConnection *conn, const char *destbn, guint32 flags);
/* 0x000b */ int aim_im_denytransfer(OscarData *od, const char *bn, const guchar *cookie, guint16 code);
/* 0x0010 */ int aim_im_reqofflinemsgs(OscarData *od);
-/* 0x0014 */ int aim_im_sendmtn(OscarData *od, guint16 channel, const char *bn, guint16 event);
+/* 0x0014 */ int aim_im_sendmtn(OscarData *od, guint16 type1, const char *bn, guint16 type2);
+/* 0x000b */ int icq_relay_xstatus (OscarData *od, const char *sn, const guchar* cookie);
void aim_icbm_makecookie(guchar* cookie);
gchar *oscar_encoding_extract(const char *encoding);
gchar *oscar_encoding_to_utf8(PurpleAccount *account, const char *encoding, const char *text, int textlen);
@@ -1066,7 +1087,7 @@
guint32 membersince; /* time_t */
guint32 onlinesince; /* time_t */
guint32 sessionlen; /* in seconds */
- guint32 capabilities;
+ guint64 capabilities;
struct {
guint32 status;
guint32 ipaddr;
@@ -1131,7 +1152,7 @@
void aim_locate_dorequest(OscarData *od);
/* 0x0002 */ int aim_locate_reqrights(OscarData *od);
-/* 0x0004 */ int aim_locate_setcaps(OscarData *od, guint32 caps);
+/* 0x0004 */ int aim_locate_setcaps(OscarData *od, guint64 caps);
/* 0x0004 */ int aim_locate_setprofile(OscarData *od, const char *profile_encoding, const gchar *profile, const int profile_len, const char *awaymsg_encoding, const gchar *awaymsg, const int awaymsg_len);
/* 0x0005 */ int aim_locate_getinfo(OscarData *od, const char *, guint16);
/* 0x0009 */ int aim_locate_setdirinfo(OscarData *od, const char *first, const char *middle, const char *last, const char *maiden, const char *nickname, const char *street, const char *city, const char *state, const char *zip, int country, guint16 privacy);
@@ -1139,13 +1160,15 @@
/* 0x000f */ int aim_locate_setinterests(OscarData *od, const char *interest1, const char *interest2, const char *interest3, const char *interest4, const char *interest5, guint16 privacy);
/* 0x0015 */ int aim_locate_getinfoshort(OscarData *od, const char *bn, guint32 flags);
-guint32 aim_locate_getcaps(OscarData *od, ByteStream *bs, int len);
-guint32 aim_locate_getcaps_short(OscarData *od, ByteStream *bs, int len);
+guint64 aim_locate_getcaps(OscarData *od, ByteStream *bs, int len);
+guint64 aim_locate_getcaps_short(OscarData *od, ByteStream *bs, int len);
void aim_info_free(aim_userinfo_t *);
int aim_info_extract(OscarData *od, ByteStream *bs, aim_userinfo_t *);
int aim_putuserinfo(ByteStream *bs, aim_userinfo_t *info);
-
-
+PurpleMood* icq_get_purple_moods(PurpleAccount *account);
+const char* icq_get_custom_icon_description(const char *mood);
+guint8* icq_get_custom_icon_data(const char *mood);
+int icq_im_xstatus_request(OscarData *od, const char *sn);
/* 0x0003 - family_buddy.c */
/* 0x0002 */ void aim_buddylist_reqrights(OscarData *, FlapConnection *);
@@ -1474,7 +1497,7 @@
int aim_tlvlist_add_16(GSList **list, const guint16 type, const guint16 value);
int aim_tlvlist_add_32(GSList **list, const guint16 type, const guint32 value);
int aim_tlvlist_add_str(GSList **list, const guint16 type, const char *value);
-int aim_tlvlist_add_caps(GSList **list, const guint16 type, const guint32 caps);
+int aim_tlvlist_add_caps(GSList **list, const guint16 type, const guint64 caps, const char *mood);
int aim_tlvlist_add_userinfo(GSList **list, guint16 type, aim_userinfo_t *userinfo);
int aim_tlvlist_add_chatroom(GSList **list, guint16 type, guint16 exchange, const char *roomname, guint16 instance);
int aim_tlvlist_add_frozentlvlist(GSList **list, guint16 type, GSList **tl);
@@ -1637,7 +1660,7 @@
int byte_stream_putstr(ByteStream *bs, const char *str);
int byte_stream_putbs(ByteStream *bs, ByteStream *srcbs, int len);
int byte_stream_putuid(ByteStream *bs, OscarData *od);
-int byte_stream_putcaps(ByteStream *bs, guint32 caps);
+int byte_stream_putcaps(ByteStream *bs, guint64 caps);
/**
* Inserts a BART asset block into the given byte stream. The flags
@@ -1697,7 +1720,7 @@
IcbmCookie *aim_mkcookie(guint8 *, int, void *);
IcbmCookie *aim_checkcookie(OscarData *, const unsigned char *, const int);
int aim_freecookie(OscarData *od, IcbmCookie *cookie);
-int aim_msgcookie_gettype(int type);
+int aim_msgcookie_gettype(guint64 type);
int aim_cookie_free(OscarData *od, IcbmCookie *cookie);
int aim_chat_readroominfo(ByteStream *bs, struct aim_chat_roominfo *outinfo);
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/peer.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/peer.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/peer.h Thu Apr 22 17:53:56 2010 -0700
@@ -45,7 +45,7 @@
#define PEER_TYPE_PROMPT 0x0101 /* "I am going to send you this file, is that ok?" */
#define PEER_TYPE_RESUMEACCEPT 0x0106 /* We are accepting the resume */
#define PEER_TYPE_ACK 0x0202 /* "Yes, it is ok for you to send me that file" */
-#define PEER_TYPE_DONE 0x0204 /* "I received that file with no problems, thanks a bunch" */
+#define PEER_TYPE_DONE 0x0204 /* "I received that file with no problems" or "I already have that file, great!" */
#define PEER_TYPE_RESUME 0x0205 /* Resume transferring, sent by whoever receives */
#define PEER_TYPE_RESUMEACK 0x0207 /* Our resume accept was ACKed */
@@ -136,7 +136,7 @@
struct _PeerConnection
{
OscarData *od;
- OscarCapability type;
+ guint64 type;
char *bn;
guchar magic[4];
guchar cookie[8];
@@ -228,11 +228,11 @@
* @param type The type of the peer connection. One of
* OSCAR_CAPABILITY_DIRECTIM or OSCAR_CAPABILITY_SENDFILE.
*/
-PeerConnection *peer_connection_new(OscarData *od, OscarCapability type, const char *bn);
+PeerConnection *peer_connection_new(OscarData *od, guint64 type, const char *bn);
void peer_connection_destroy(PeerConnection *conn, OscarDisconnectReason reason, const gchar *error_message);
void peer_connection_schedule_destroy(PeerConnection *conn, OscarDisconnectReason reason, const gchar *error_message);
-PeerConnection *peer_connection_find_by_type(OscarData *od, const char *bn, OscarCapability type);
+PeerConnection *peer_connection_find_by_type(OscarData *od, const char *bn, guint64 type);
PeerConnection *peer_connection_find_by_cookie(OscarData *od, const char *bn, const guchar *cookie);
void peer_connection_listen_cb(gpointer data, gint source, PurpleInputCondition cond);
@@ -241,7 +241,7 @@
void peer_connection_trynext(PeerConnection *conn);
void peer_connection_finalize_connection(PeerConnection *conn);
-void peer_connection_propose(OscarData *od, OscarCapability type, const char *bn);
+void peer_connection_propose(OscarData *od, guint64 type, const char *bn);
void peer_connection_got_proposition(OscarData *od, const gchar *bn, const gchar *message, IcbmArgsCh2 *args);
/*
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/presence.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/presence.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/presence.h Thu Apr 22 17:53:56 2010 -0700
@@ -24,10 +24,63 @@
#ifndef PURPLE_JABBER_PRESENCE_H_
#define PURPLE_JABBER_PRESENCE_H_
+typedef enum {
+ JABBER_PRESENCE_ERROR = -2,
+ JABBER_PRESENCE_PROBE = -1,
+ JABBER_PRESENCE_AVAILABLE,
+ JABBER_PRESENCE_UNAVAILABLE,
+ JABBER_PRESENCE_SUBSCRIBE,
+ JABBER_PRESENCE_SUBSCRIBED,
+ JABBER_PRESENCE_UNSUBSCRIBE,
+ JABBER_PRESENCE_UNSUBSCRIBED
+} JabberPresenceType;
+
+typedef struct _JabberPresenceChatInfo JabberPresenceChatInfo;
+typedef struct _JabberPresence JabberPresence;
+
#include "buddy.h"
+#include "chat.h"
#include "jabber.h"
+#include "jutil.h"
#include "xmlnode.h"
+struct _JabberPresenceChatInfo {
+ GSList *codes;
+ xmlnode *item;
+};
+
+struct _JabberPresence {
+ JabberPresenceType type;
+ JabberID *jid_from;
+ const char *from;
+ const char *to;
+ const char *id;
+
+ JabberBuddy *jb;
+ JabberChat *chat;
+ JabberPresenceChatInfo chat_info;
+ xmlnode *caps; /* TODO: Temporary, see presence.c:parse_caps */
+
+ JabberBuddyState state;
+ gchar *status;
+ int priority;
+
+ char *vcard_avatar_hash;
+ char *nickname;
+
+ gboolean delayed;
+ time_t sent;
+ int idle;
+};
+
+typedef void (JabberPresenceHandler)(JabberStream *js, JabberPresence *presence,
+ xmlnode *child);
+void jabber_presence_register_handler(const char *node, const char *xmlns,
+ JabberPresenceHandler *handler);
+
+void jabber_presence_init(void);
+void jabber_presence_uninit(void);
+
void jabber_set_status(PurpleAccount *account, PurpleStatus *status);
/**
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/prpl.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/prpl.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/prpl.h Thu Apr 22 17:53:56 2010 -0700
@@ -569,6 +569,12 @@
*/
PurpleMediaCaps (*get_media_caps)(PurpleAccount *account,
const char *who);
+
+ /**
+ * Returns an array of "PurpleMood"s, with the last one having
+ * "mood" set to @c NULL.
+ */
+ PurpleMood *(*get_moods)(PurpleAccount *account);
};
#define PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, member) \
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/request.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/request.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/request.h Thu Apr 22 17:53:56 2010 -0700
@@ -150,6 +150,7 @@
struct
{
GList *items;
+ GList *icons;
GHashTable *item_data;
GList *selected;
GHashTable *selected_table;
@@ -953,11 +954,24 @@
* @param field The list field.
* @param item The list item.
* @param data The associated data.
+ *
+ * @deprecated Use purple_request_field_list_add_icon() instead.
*/
void purple_request_field_list_add(PurpleRequestField *field,
const char *item, void *data);
/**
+ * Adds an item to a list field.
+ *
+ * @param field The list field.
+ * @param item The list item.
+ * @param icon_path The path to icon file, or @c NULL for no icon.
+ * @param data The associated data.
+ */
+void purple_request_field_list_add_icon(PurpleRequestField *field,
+ const char *item, const char* icon_path, void* data);
+
+/**
* Adds a selected item to the list field.
*
* @param field The field.
@@ -1015,6 +1029,18 @@
*/
GList *purple_request_field_list_get_items(const PurpleRequestField *field);
+/**
+ * Returns a list of icons in a list field.
+ *
+ * The icons will correspond with the items, in order.
+ *
+ * @param field The field.
+ *
+ * @constreturn The list of icons or @c NULL (i.e. the empty GList) if no
+ * items have icons.
+ */
+GList *purple_request_field_list_get_icons(const PurpleRequestField *field);
+
/*@}*/
/**************************************************************************/
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/signals.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/signals.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/signals.h Thu Apr 22 17:53:56 2010 -0700
@@ -355,6 +355,8 @@
void purple_marshal_BOOLEAN__INT_POINTER(
PurpleCallback cb, va_list args, void *data, void **return_val);
+void purple_marshal_POINTER__POINTER(
+ PurpleCallback cb, va_list args, void *data, void **return_val);
void purple_marshal_POINTER__POINTER_INT(
PurpleCallback cb, va_list args, void *data, void **return_val);
void purple_marshal_POINTER__POINTER_INT64(
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/slp.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/slp.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/slp.h Thu Apr 22 17:53:56 2010 -0700
@@ -30,6 +30,25 @@
#include "session.h"
#include "slpcall.h"
+#define MAX_FILE_NAME_LEN 260 /* MAX_PATH in Windows */
+
+/**
+ * The context data for a file transfer request
+ */
+#pragma pack(push,1) /* Couldn't they have made it the right size? */
+typedef struct
+{
+ guint32 length; /*< Length of header */
+ guint32 version; /*< MSN version */
+ guint64 file_size; /*< Size of file */
+ guint32 type; /*< Transfer type */
+ gunichar2 file_name[MAX_FILE_NAME_LEN]; /*< Self-explanatory */
+ gchar unknown1[30]; /*< Used somehow for background sharing */
+ guint32 unknown2; /*< Possibly for background sharing as well */
+ gchar preview[1]; /*< File preview data, 96x96 PNG */
+} MsnFileContext;
+#pragma pack(pop)
+
MsnSlpCall * msn_slp_sip_recv(MsnSlpLink *slplink,
const char *body);
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/status.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/status.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/status.h Thu Apr 22 17:53:56 2010 -0700
@@ -87,6 +87,12 @@
typedef struct _PurplePresence PurplePresence;
typedef struct _PurpleStatus PurpleStatus;
+typedef struct _PurpleMood {
+ const char *mood;
+ const char *description;
+ gpointer *padding;
+} PurpleMood;
+
/**
* A context for a presence.
*
@@ -106,8 +112,7 @@
*/
/*
* If you add a value to this enum, make sure you update
- * the status_primitive_map array in status.c and the special-cases for idle
- * and offline-messagable just below it.
+ * the status_primitive_map and primitive_scores arrays in status.c.
*/
typedef enum
{
@@ -120,6 +125,7 @@
PURPLE_STATUS_EXTENDED_AWAY,
PURPLE_STATUS_MOBILE,
PURPLE_STATUS_TUNE,
+ PURPLE_STATUS_MOOD,
PURPLE_STATUS_NUM_PRIMITIVES
} PurpleStatusPrimitive;
@@ -139,6 +145,9 @@
#define PURPLE_TUNE_URL "tune_url"
#define PURPLE_TUNE_FULL "tune_full"
+#define PURPLE_MOOD_NAME "mood"
+#define PURPLE_MOOD_COMMENT "moodtext"
+
#ifdef __cplusplus
extern "C" {
#endif
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Headers/util.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/util.h Thu Apr 15 19:05:21 2010 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/util.h Thu Apr 22 17:53:56 2010 -0700
@@ -1429,6 +1429,10 @@
/**
* This is added temporarily to assist the split of oscar into aim and icq.
* This should not be used by plugins.
+ *
+ * @deprecated This function should not be used in new code and should be
+ * removed in 3.0.0. The aim/icq prpl split happened a long
+ * time ago, and we don't need to keep migrating old data.
*/
const char *_purple_oscar_convert(const char *act, const char *protocol);
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/ca/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/ca/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/cs/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/cs/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/da/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/da/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/de/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/de/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/el/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/el/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/en_AU/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/en_AU/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/en_CA/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/en_CA/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/en_GB/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/en_GB/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/es/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/es/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/fi/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/fi/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/fr/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/fr/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/hu/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/hu/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/it/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/it/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/ja/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/ja/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/mr/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/mr/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/nb/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/nb/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/nl/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/nl/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/pl/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/pl/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/pt/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/pt/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/pt_BR/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/pt_BR/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/ru/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/ru/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/sl/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/sl/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/sv/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/sv/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/tr/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/tr/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/uk/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/uk/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/zh_CN/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/zh_CN/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/Resources/zh_TW/LC_MESSAGES/pidgin.mo
Binary file Frameworks/libpurple.framework/Versions/0.7.0/Resources/zh_TW/LC_MESSAGES/pidgin.mo has changed
diff -r 1da1744bf7a1 -r a43a13856a83 Frameworks/libpurple.framework/Versions/0.7.0/libpurple
Binary file Frameworks/libpurple.framework/Versions/0.7.0/libpurple has changed
More information about the commits
mailing list