adium 3170:c763ca8bf4b7: Added William Bowling and updated year
commits at adium.im
commits at adium.im
Sat Apr 24 16:23:11 UTC 2010
details: http://hg.adium.im/adium/rev/c763ca8bf4b7
revision: 3170:c763ca8bf4b7
author: Evan Schoenberg
date: Sat Mar 13 21:03:19 2010 -0600
Added William Bowling and updated year
(transplanted from db9349fdb4b51a9890658b4123189f6468429409)
Subject: adium 3171:d6121762c15a: Merged
details: http://hg.adium.im/adium/rev/d6121762c15a
revision: 3171:d6121762c15a
author: Evan Schoenberg
date: Sun Mar 28 20:22:25 2010 -0500
Merged
Subject: adium 3172:ac866c15ecd7: Merging
details: http://hg.adium.im/adium/rev/ac866c15ecd7
revision: 3172:ac866c15ecd7
author: Evan Schoenberg
date: Sat Apr 24 11:23:06 2010 -0500
Merging
diffs (truncated from 1481 to 1000 lines):
diff -r 8d3eb1d1acaf -r ac866c15ecd7 Copyright.txt
--- a/Copyright.txt Sat Mar 13 20:30:05 2010 -0600
+++ b/Copyright.txt Sat Apr 24 11:23:06 2010 -0500
@@ -1,5 +1,5 @@
Adium
-Copyright (C) 2001-2009 by the following:
+Copyright (C) 2001-2010 by the following:
Adam Atlas
Jackie Balzer
@@ -9,6 +9,7 @@
Max Bertrand
Adam Betts
Graham Booker
+William Bowling
Jorge Salvador Caffarena
Wesley Campaigne
Ariel Chinn
@@ -22,6 +23,7 @@
Augie Fackler
Ken Ferry
Christopher Forsythe
+Tyler Funnell
Brian Ganninger
Ryan Govostes
Asher Haig
diff -r 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/AIUtilities Framework/Source/AIAlternatingRowOutlineView.h
--- a/Frameworks/AIUtilities Framework/Source/AIAlternatingRowOutlineView.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/AIUtilities Framework/Source/AIAlternatingRowOutlineView.h Sat Apr 24 11:23:06 2010 -0500
@@ -21,7 +21,7 @@
*
* This functionality was added, with less control to the programmer, in OS X 10.3. <tt>AIAlternatingRowOutlineView</tt> also supports disabling it from drawing its background (useful if cells wish to draw their own backgrounds and potentially be transparent).
*/
- at interface AIAlternatingRowOutlineView : AIOutlineView {
+ at interface AIAlternatingRowOutlineView : AIOutlineView <AIAlternatingRowsProtocol> {
NSColor *alternatingRowColor;
BOOL drawsBackground;
diff -r 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/AIUtilities Framework/Source/AIAlternatingRowOutlineView.m
--- a/Frameworks/AIUtilities Framework/Source/AIAlternatingRowOutlineView.m Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/AIUtilities Framework/Source/AIAlternatingRowOutlineView.m Sat Apr 24 11:23:06 2010 -0500
@@ -29,7 +29,6 @@
@interface AIAlternatingRowOutlineView ()
- (void)initAlternatingRowOutlineView;
- (void)_drawGridInClipRect:(NSRect)rect;
-- (void)alternatingRowOutlineViewSelectionDidChange:(NSNotification *)notification;
@end
@interface NSOutlineView (Undocumented)
@@ -60,17 +59,11 @@
drawsBackground = YES;
drawsGradientSelection = NO;
alternatingRowColor = [[NSColor colorWithCalibratedRed:(237.0f/255.0f) green:(243.0f/255.0f) blue:(254.0f/255.0f) alpha:1.0f] retain];
-
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(alternatingRowOutlineViewSelectionDidChange:)
- name:NSOutlineViewSelectionDidChangeNotification
- object:self];
}
- (void)dealloc
{
[alternatingRowColor release];
- [[NSNotificationCenter defaultCenter] removeObserver:self];
[super dealloc];
}
@@ -147,7 +140,7 @@
if (rectNumber > 0) {
[[self alternatingRowColor] set];
- NSRectFillList(gridRects, rectNumber);
+ NSRectFillListUsingOperation(gridRects, rectNumber, NSCompositeSourceOver);
}
}
@@ -164,11 +157,10 @@
- (void)highlightSelectionInClipRect:(NSRect)clipRect
{
- [self drawAlternatingRowsInRect:clipRect];
-
- if (drawsGradientSelection && [[self window] isKeyWindow] && ([[self window] firstResponder] == self)) {
- NSIndexSet *indices = [self selectedRowIndexes];
- NSUInteger bufSize = [indices count];
+ NSIndexSet *indices = [self selectedRowIndexes];
+ NSUInteger bufSize = [indices count];
+
+ if (drawsGradientSelection && bufSize > 0 && [[self window] isKeyWindow] && ([[self window] firstResponder] == self)) {
NSUInteger *buf = malloc(bufSize * sizeof(NSUInteger));
NSUInteger i = 0, j = 0;
@@ -230,14 +222,6 @@
}
}
-- (void)alternatingRowOutlineViewSelectionDidChange:(NSNotification *)notification
-{
- if (drawsGradientSelection) {
- //We do fancy drawing, so we need a full redisplay when selection changes
- [self setNeedsDisplay:YES];
- }
-}
-
#pragma mark Grid
- (void)drawGridInClipRect:(NSRect)rect
diff -r 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/AIUtilities Framework/Source/AIOutlineView.h
--- a/Frameworks/AIUtilities Framework/Source/AIOutlineView.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/AIUtilities Framework/Source/AIOutlineView.h Sat Apr 24 11:23:06 2010 -0500
@@ -95,6 +95,23 @@
@end
/*!
+ * @protocol AIAlternatingRowsProtocol
+ * @brief Delegate protocol for <tt>AIOutlineView</tt>
+ *
+ * Implementation of all methods is optional.
+ */
+ at protocol AIAlternatingRowsProtocol
+
+/*!
+ * @brief Draws rows of the view with alternating colors
+ *
+ * @param rect The <tt>NSRect</tt> defining the background to color.
+ */
+- (void)drawAlternatingRowsInRect:(NSRect)rect;
+ at end
+
+
+/*!
* @class AIOutlineView
* @brief An NSOutlineView subclass with several improvments
*
diff -r 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/AIUtilities Framework/Source/AIVariableHeightOutlineView.m
--- a/Frameworks/AIUtilities Framework/Source/AIVariableHeightOutlineView.m Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/AIUtilities Framework/Source/AIVariableHeightOutlineView.m Sat Apr 24 11:23:06 2010 -0500
@@ -227,7 +227,7 @@
if (rectNumber > 0) {
[[self alternatingRowColor] set];
- NSRectFillList(gridRects, rectNumber);
+ NSRectFillListUsingOperation(gridRects, rectNumber, NSCompositeSourceOver);
}
}
}
@@ -444,8 +444,6 @@
free(selectionRects);
}
- } else {
- [self drawAlternatingRowsInRect:clipRect];
}
}
diff -r 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/Adium Framework/Source/AIHTMLDecoder.m
--- a/Frameworks/Adium Framework/Source/AIHTMLDecoder.m Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/Adium Framework/Source/AIHTMLDecoder.m Sat Apr 24 11:23:06 2010 -0500
@@ -310,6 +310,7 @@
//Close any existing font tags, and open a new one
if (thingsToInclude.closingFontTags && openFontTag) {
[string appendString:@"</FONT>"];
+ openFontTag = NO;
}
if (!thingsToInclude.simpleTagsOnly) {
openFontTag = YES;
@@ -320,6 +321,7 @@
//Family
if (thingsToInclude.fontTags && familyName && (![familyName isEqualToString:currentFamily] || thingsToInclude.closingFontTags)) {
if (thingsToInclude.simpleTagsOnly) {
+ openFontTag = YES;
[string appendString:[NSString stringWithFormat:@"<FONT FACE=\"%@\">",familyName]];
} else {
//(traits | NSNonStandardCharacterSetFontMask) seems to be the proper test... but it is true for all fonts!
@@ -344,6 +346,7 @@
//Color
if (color) {
if (thingsToInclude.simpleTagsOnly) {
+ openFontTag = YES;
[string appendString:[NSString stringWithFormat:@"<FONT COLOR=\"#%@\">",color]];
} else {
[string appendString:[NSString stringWithFormat:@" COLOR=\"#%@\"",color]];
@@ -673,9 +676,10 @@
oldLink = nil;
}
- if (thingsToInclude.fontTags && thingsToInclude.closingFontTags && openFontTag) {
+ if (thingsToInclude.closingFontTags && openFontTag) {
//Close any open font tag
[string appendString:@"</FONT>"];
+ openFontTag = NO;
}
if (rightToLeft) {
//Close any open div
diff -r 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/Adium Framework/Source/AIListOutlineView+Drawing.m
--- a/Frameworks/Adium Framework/Source/AIListOutlineView+Drawing.m Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/Adium Framework/Source/AIListOutlineView+Drawing.m Sat Apr 24 11:23:06 2010 -0500
@@ -43,6 +43,7 @@
NSRect visRect = [enclosingScrollView documentVisibleRect];
NSSize imageSize = [backgroundImage size];
NSRect imageRect = NSMakeRect(0.0f, 0.0f, imageSize.width, imageSize.height);
+ CGFloat imageFade = backgroundFade * backgroundOpacity;
switch (backgroundStyle) {
@@ -51,7 +52,7 @@
[backgroundImage drawInRect:NSMakeRect(visRect.origin.x, visRect.origin.y, imageSize.width, imageSize.height)
fromRect:imageRect
operation:NSCompositeSourceOver
- fraction:backgroundFade];
+ fraction:imageFade];
break;
}
case AIFillProportionatelyBackground: {
@@ -69,7 +70,7 @@
[backgroundImage drawInRect:visRect
fromRect:imageRect
operation:NSCompositeSourceOver
- fraction:backgroundFade];
+ fraction:imageFade];
break;
}
case AIFillStretchBackground: {
@@ -77,7 +78,7 @@
[backgroundImage drawInRect:visRect
fromRect:imageRect
operation:NSCompositeSourceOver
- fraction:backgroundFade];
+ fraction:imageFade];
break;
}
case AITileBackground: {
@@ -98,7 +99,7 @@
[backgroundImage drawInRect:drawingRect
fromRect:imageRect
operation:NSCompositeSourceOver
- fraction:backgroundFade];
+ fraction:imageFade];
}
//Shift right for the next iteration
@@ -118,6 +119,9 @@
[[NSColor clearColor] set];
NSRectFill(clipRect);
}
+
+ if([self conformsToProtocol:@protocol(AIAlternatingRowsProtocol)])
+ [(id<AIAlternatingRowsProtocol>)self drawAlternatingRowsInRect:clipRect];
}
#pragma mark Background
@@ -252,7 +256,8 @@
- (NSColor *)alternatingRowColor
{
if (!_rowColorWithOpacity) {
- _rowColorWithOpacity = [[rowColor colorWithAlphaComponent:backgroundOpacity] retain];
+ CGFloat rowAlpha = [rowColor alphaComponent];
+ _rowColorWithOpacity = [[rowColor colorWithAlphaComponent:(rowAlpha * backgroundOpacity)] retain];
}
return _rowColorWithOpacity;
diff -r 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m
--- a/Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m Sat Apr 24 11:23:06 2010 -0500
@@ -263,6 +263,13 @@
// main scanning loop
while([self _scanString:m_scanString upToCharactersFromSet:skipSet intoRange:&scannedRange fromIndex:&scannedLocation]) {
+
+ // back off if the last character is puncuation.
+ unichar s_char = [m_scanString characterAtIndex:(scannedRange.location + scannedRange.length - 1)];
+ if(4 < scannedRange.length && [puncSet characterIsMember:s_char]) {
+ scannedRange.length--;
+ }
+
BOOL foundUnpairedEnclosureCharacter = NO;
// Check for and filter enclosures. We can't add (, [, etc. to the skipSet as they may be in a URI
diff -r 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/AutoHyperlinks Framework/Source/AHLinkLexer.l
--- a/Frameworks/AutoHyperlinks Framework/Source/AHLinkLexer.l Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/AutoHyperlinks Framework/Source/AHLinkLexer.l Sat Apr 24 11:23:06 2010 -0500
@@ -49,7 +49,10 @@
sTLD (com|edu|gov|int|mil|net|org|biz|info|name|pro)
uTLD (aero|coop|museum|mobi|cat|jobs|travel)
+SLDs (ac|co|gov|ltd|me|mod|net|nhs|nic|org|parliament|plc|police|sch|edu|asn|id)
TLDs ({ccTLD}|{sTLD}|{uTLD}|arpa|local)
+uTLDs (({SLDs}\.{ccTLD})|{sTLD}|{uTLD}|arpa|local)
+
%{
/*The Unicode standard, version 4.1, table 3-6, says that the highest byte that will occur in a valid UTF-8 sequence is 0xF4.*/
%}
@@ -57,7 +60,7 @@
singleDomain [_[:alnum:]\x80-\xf4-]+
urlPath \/[^[:space:]]*
-urlSpec ({singleDomain}\.)+{TLDs}(:[0-9]+)?{urlPath}?
+urlSpec ({singleDomain}\.)+{uTLDs}(:[0-9]+)?{urlPath}?
urlCSpec {singleDomain}(\.{singleDomain})*(:[0-9]+)?{urlPath}?
ipv4address ([0-9]{1,3}\.){3}([0-9]{1,3})
@@ -70,7 +73,7 @@
ipv6URL \[{ipv6Address}](:[0-9]+)?{urlPath}?
userAtDomain [^:@\/[:space:]]+\@{singleDomain}(\.{singleDomain})*
-mailSpec {userAtDomain}\.{TLDs}
+mailSpec {userAtDomain}\.({ccTLD}|{sTLD}|{uTLD}|arpa|local)
jabberSpec xmpp:{mailSpec}{urlPath}?(\?[^[:space:]]+)?
aolIMSpec aim:goim\?screenname=[^\ \t\n&]+(&message=.+)?
aolChatSpec aim:gochat\?roomname=[^\ \t\n&]+
diff -r 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/LMX.framework/Versions/A/LMX
Binary file Frameworks/LMX.framework/Versions/A/LMX has changed
diff -r 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/account.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/account.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/account.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/certificate.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/certificate.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/certificate.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/connection.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/connection.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/connection.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/jabber.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/jabber.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/jabber.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/jutil.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/jutil.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/jutil.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/libymsg.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/libymsg.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/libymsg.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/namespaces.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/namespaces.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/namespaces.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/network.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/network.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/network.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/oscar.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/oscar.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/oscar.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/peer.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/peer.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/peer.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/presence.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/presence.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/presence.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/prpl.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/prpl.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/prpl.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/request.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/request.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/request.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/signals.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/signals.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/signals.h Sat Apr 24 11:23:06 2010 -0500
@@ -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 8d3eb1d1acaf -r ac866c15ecd7 Frameworks/libpurple.framework/Versions/0.7.0/Headers/slp.h
--- a/Frameworks/libpurple.framework/Versions/0.7.0/Headers/slp.h Sat Mar 13 20:30:05 2010 -0600
+++ b/Frameworks/libpurple.framework/Versions/0.7.0/Headers/slp.h Sat Apr 24 11:23:06 2010 -0500
@@ -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? */
More information about the commits
mailing list