adium-1.4 2601:b9793bdf3c9a: Rebuilt mkalias from source as a un...
commits at adium.im
commits at adium.im
Mon Aug 31 12:21:45 UTC 2009
details: http://hg.adium.im/adium-1.4/rev/b9793bdf3c9a
revision: 2601:b9793bdf3c9a
author: Evan Schoenberg
date: Mon Aug 31 07:27:47 2009 -0500
Rebuilt mkalias from source as a universal binary (was PPC only)
Subject: adium-1.4 2602:15182a1ffbca: I guess this is just a merge. I'm a bit annoyed that hg shows merged changes in a diff, though I see why it does...
details: http://hg.adium.im/adium-1.4/rev/15182a1ffbca
revision: 2602:15182a1ffbca
author: Evan Schoenberg
date: Mon Aug 31 07:30:08 2009 -0500
I guess this is just a merge. I'm a bit annoyed that hg shows merged changes in a diff, though I see why it does...
Subject: adium-1.4 2603:642e389c4035: And another merge
details: http://hg.adium.im/adium-1.4/rev/642e389c4035
revision: 2603:642e389c4035
author: Evan Schoenberg
date: Mon Aug 31 07:30:27 2009 -0500
And another merge
diffs (truncated from 84980 to 1000 lines):
diff -r d13301831855 -r 642e389c4035 Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj Tue Aug 18 14:01:14 2009 -0500
+++ b/Adium.xcodeproj/project.pbxproj Mon Aug 31 07:30:27 2009 -0500
@@ -175,6 +175,7 @@
11D9156F0FFC0FEB00B39713 /* AIImageShackImageUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = 11D915580FFC0E9C00B39713 /* AIImageShackImageUploader.m */; };
11D915720FFC100700B39713 /* AIGenericMultipartImageUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = 11D915710FFC100700B39713 /* AIGenericMultipartImageUploader.m */; };
11E786810F8860210014612E /* AIJumpControlPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 11E7867F0F8860210014612E /* AIJumpControlPlugin.m */; };
+ 11EC56FC1049E96F00C02587 /* AILeopardCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 1156F03D1049E83F002673FC /* AILeopardCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
11EE1B4D0CDCFAF40097F246 /* oscar-adium.c in Sources */ = {isa = PBXBuildFile; fileRef = 11EE1B490CDCFAF40097F246 /* oscar-adium.c */; };
11EE1B4E0CDCFAF40097F246 /* oscar-adium.h in Headers */ = {isa = PBXBuildFile; fileRef = 11EE1B4A0CDCFAF40097F246 /* oscar-adium.h */; };
11EE1B4F0CDCFAF40097F246 /* ssl-openssl.c in Sources */ = {isa = PBXBuildFile; fileRef = 11EE1B4B0CDCFAF40097F246 /* ssl-openssl.c */; };
@@ -1898,6 +1899,7 @@
1150A9AE0FBE491300E0BD31 /* tr */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = tr; path = "Plugins/Purple Service/tr.lproj/ESIRCAccountView.nib"; sourceTree = "<group>"; };
1150A9AF0FBE491500E0BD31 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = zh_CN; path = "Plugins/Purple Service/zh_CN.lproj/ESIRCAccountView.nib"; sourceTree = "<group>"; };
1150A9B00FBE491700E0BD31 /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = zh_TW; path = "Plugins/Purple Service/zh_TW.lproj/ESIRCAccountView.nib"; sourceTree = "<group>"; };
+ 1156F03D1049E83F002673FC /* AILeopardCompatibility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AILeopardCompatibility.h; path = "Frameworks/AIUtilities Framework/Source/AILeopardCompatibility.h"; sourceTree = "<group>"; };
1163F0EA0F6C7A8300F12F5D /* AIURLShortenerPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIURLShortenerPlugin.h; path = ../../Source/AIURLShortenerPlugin.h; sourceTree = "<group>"; };
1163F0EB0F6C7A8300F12F5D /* AIURLShortenerPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIURLShortenerPlugin.m; path = ../../Source/AIURLShortenerPlugin.m; sourceTree = "<group>"; };
1164A90B0F7AD4AB00110AE4 /* AIContentTopic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIContentTopic.h; path = "Frameworks/Adium Framework/Source/AIContentTopic.h"; sourceTree = "<group>"; };
@@ -7463,6 +7465,7 @@
6334FF300F9C14BF003C77A9 /* Fun New Controls */,
6334FF050F9C14BF003C77A9 /* Fun New Classes */,
6334FF020F9C14BF003C77A9 /* Functions */,
+ 1156F03D1049E83F002673FC /* AILeopardCompatibility.h */,
);
name = AIUtilities;
sourceTree = "<group>";
@@ -9159,6 +9162,7 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
+ 11EC56FC1049E96F00C02587 /* AILeopardCompatibility.h in Headers */,
6334FFFF0F9C14C2003C77A9 /* AIFunctions.h in Headers */,
633400010F9C14C2003C77A9 /* JVMarkedScroller.h in Headers */,
633400030F9C14C2003C77A9 /* AIMutableOwnerArray.h in Headers */,
diff -r d13301831855 -r 642e389c4035 Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.h
--- a/Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.h Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.h Mon Aug 31 07:30:27 2009 -0500
@@ -9,5 +9,6 @@
@interface NSApplication (AIApplicationAdditions)
- (NSString *)applicationVersion;
+- (BOOL)isOnSnowLeopardOrBetter;
@end
diff -r d13301831855 -r 642e389c4035 Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.m
--- a/Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.m Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.m Mon Aug 31 07:30:27 2009 -0500
@@ -14,4 +14,15 @@
return [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleVersionKey];
}
+//Make sure the version number defines exist; when compiling in 10.5, NSAppKitVersionNumber10_5 isn't defined
+#ifndef NSAppKitVersionNumber10_5
+#define NSAppKitVersionNumber10_5 949
+#endif
+
+- (BOOL)isOnSnowLeopardOrBetter
+{
+ return (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_5);
+}
+
+
@end
diff -r d13301831855 -r 642e389c4035 Frameworks/AIUtilities Framework/Source/AILeopardCompatibility.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AILeopardCompatibility.h Mon Aug 31 07:30:27 2009 -0500
@@ -0,0 +1,45 @@
+/*
+ * AILeopardCompatibility.h
+ * Adium
+ *
+ * Created by Zachary West on 2009-08-29.
+ * Copyright 2009 . All rights reserved.
+ *
+ */
+
+#ifndef AILeopardCompatibility
+#define AILeopardCompatibility
+
+#import <AvailabilityMacros.h>
+
+#ifndef MAC_OS_X_VERSION_10_6
+#define MAC_OS_X_VERSION_10_6 1060
+#endif //ndef MAC_OS_X_VERSION_10_6
+
+#if MAC_OS_X_VERSION_10_6 > MAC_OS_X_VERSION_MAX_ALLOWED
+
+#ifdef __OBJC__
+ at interface NSTextView(NSTextViewLeopardMethods)
+- (void)setAutomaticDataDetectionEnabled:(BOOL)flag;
+- (BOOL)isAutomaticDataDetectionEnabled;
+- (void)toggleAutomaticDataDetection:(id)sender;
+
+- (void)setAutomaticDashSubstitutionEnabled:(BOOL)flag;
+- (BOOL)isAutomaticDashSubstitutionEnabled;
+- (void)toggleAutomaticDashSubstitution:(id)sender;
+
+- (void)setAutomaticTextReplacementEnabled:(BOOL)flag;
+- (BOOL)isAutomaticTextReplacementEnabled;
+- (void)toggleAutomaticTextReplacement:(id)sender;
+
+- (void)setAutomaticSpellingCorrectionEnabled:(BOOL)flag;
+- (BOOL)isAutomaticSpellingCorrectionEnabled;
+- (void)toggleAutomaticSpellingCorrection:(id)sender;
+ at end
+#endif
+
+#else //Not compiling for 10.6
+
+#endif //MAC_OS_X_VERSION_10_6
+
+#endif //AILeopardCompatibility
diff -r d13301831855 -r 642e389c4035 Frameworks/Adium Framework/Source/AIHTMLDecoder.m
--- a/Frameworks/Adium Framework/Source/AIHTMLDecoder.m Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/Adium Framework/Source/AIHTMLDecoder.m Mon Aug 31 07:30:27 2009 -0500
@@ -432,10 +432,10 @@
linkString = fixedLinkString;
}
- [string appendString:linkString];
+ [string appendString:[linkString stringByEscapingForXMLWithEntities:nil]];
if (!thingsToInclude.simpleTagsOnly) {
[string appendString:@"\" title=\""];
- [string appendString:linkString];
+ [string appendString:[linkString stringByEscapingForXMLWithEntities:nil]];
}
NSString *classString = [attributes objectForKey:AIElementClassAttributeName];
diff -r d13301831855 -r 642e389c4035 Frameworks/Adium Framework/Source/AIMessageEntryTextView.m
--- a/Frameworks/Adium Framework/Source/AIMessageEntryTextView.m Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/Adium Framework/Source/AIMessageEntryTextView.m Mon Aug 31 07:30:27 2009 -0500
@@ -37,8 +37,9 @@
#import <AIUtilities/AIBezierPathAdditions.h>
#import <Adium/AIContactControllerProtocol.h>
+#import <FriBidi/NSString-FBAdditions.h>
-#import <FriBidi/NSString-FBAdditions.h>
+#import <AIUtilities/AILeopardCompatibility.h>
#define MAX_HISTORY 25 //Number of messages to remember in history
#define ENTRY_TEXTVIEW_PADDING 6 //Padding for auto-sizing
@@ -49,6 +50,14 @@
#define KEY_GRAMMAR_CHECKING @"Grammar Checking Enabled"
#define PREF_GROUP_DUAL_WINDOW_INTERFACE @"Dual Window Interface"
+#define KEY_SUBSTITUTION_DASH @"Smart Dash Substitutions"
+#define KEY_SUBSTITUTION_DATA_DETECTORS @"Smart Data Detectors Substitutions"
+#define KEY_SUBSTITUTION_REPLACEMENT @"Text Replacement Substitutions"
+#define KEY_SUBSTITUTION_SPELLING @"Spelling Substitutions"
+#define KEY_SUBSTITUTION_COPY_PASTE @"Smart Copy Paste Substitutions"
+#define KEY_SUBSTITUTION_QUOTE @"Smart Quote Substitutions"
+#define KEY_SUBSTITUTION_LINK @"Smart Links Substitutions"
+
#define INDICATOR_RIGHT_PADDING 2 // Padding between right side of the message view and the rightmost indicator
#define PREF_GROUP_CHARACTER_COUNTER @"Character Counter"
@@ -392,16 +401,44 @@
group:GROUP_ACCOUNT_STATUS] boolValue];
}
- if (!object &&
- [group isEqualToString:PREF_GROUP_DUAL_WINDOW_INTERFACE] &&
- (!key || [key isEqualToString:KEY_SPELL_CHECKING])) {
- [self setContinuousSpellCheckingEnabled:[[prefDict objectForKey:KEY_SPELL_CHECKING] boolValue]];
- }
+ if (!object && [group isEqualToString:PREF_GROUP_DUAL_WINDOW_INTERFACE]) {
+ if (!key || [key isEqualToString:KEY_GRAMMAR_CHECKING]) {
+ [self setGrammarCheckingEnabled:[[prefDict objectForKey:KEY_GRAMMAR_CHECKING] boolValue]];
+ }
- if (!object &&
- [group isEqualToString:PREF_GROUP_DUAL_WINDOW_INTERFACE] &&
- (!key || [key isEqualToString:KEY_GRAMMAR_CHECKING])) {
- [self setGrammarCheckingEnabled:[[prefDict objectForKey:KEY_GRAMMAR_CHECKING] boolValue]];
+ if (!key || [key isEqualToString:KEY_SPELL_CHECKING]) {
+ [self setContinuousSpellCheckingEnabled:[[prefDict objectForKey:KEY_SPELL_CHECKING] boolValue]];
+ }
+
+ if ([NSApp isOnSnowLeopardOrBetter]) {
+ if (!key || [key isEqualToString:KEY_SUBSTITUTION_DASH]) {
+ [self setAutomaticDashSubstitutionEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_DASH] boolValue]];
+ }
+
+ if (!key || [key isEqualToString:KEY_SUBSTITUTION_DATA_DETECTORS]) {
+ [self setAutomaticDataDetectionEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_DATA_DETECTORS] boolValue]];
+ }
+
+ if (!key || [key isEqualToString:KEY_SUBSTITUTION_REPLACEMENT]) {
+ [self setAutomaticTextReplacementEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_REPLACEMENT] boolValue]];
+ }
+
+ if (!key || [key isEqualToString:KEY_SUBSTITUTION_SPELLING]) {
+ [self setAutomaticSpellingCorrectionEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_SPELLING] boolValue]];
+ }
+ }
+
+ if (!key || [key isEqualToString:KEY_SUBSTITUTION_COPY_PASTE]) {
+ [self setSmartInsertDeleteEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_COPY_PASTE] boolValue]];
+ }
+
+ if (!key || [key isEqualToString:KEY_SUBSTITUTION_QUOTE]) {
+ [self setAutomaticQuoteSubstitutionEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_QUOTE] boolValue]];
+ }
+
+ if (!key || [key isEqualToString:KEY_SUBSTITUTION_LINK]) {
+ [self setAutomaticLinkDetectionEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_LINK] boolValue]];
+ }
}
}
@@ -1120,11 +1157,12 @@
- (void)positionCharacterCounter
{
NSRect visRect = [[self superview] bounds];
- NSRect counterRect = [characterCounter frame];
+ NSSize counterSize = characterCounter.string.size;
//NSMaxY([self frame]) is necessary because visRect's height changes after you start typing. No idea why.
- [characterCounter setFrameOrigin:NSMakePoint(NSMaxX(visRect) - NSWidth(counterRect) - INDICATOR_RIGHT_PADDING,
- NSMidY([self frame]) - NSHeight(counterRect)/2)];
+ [characterCounter setFrameOrigin:NSMakePoint(NSMaxX(visRect) - counterSize.width - INDICATOR_RIGHT_PADDING,
+ NSMidY([self frame]) - (counterSize.height)/2)];
+ [characterCounter setFrameSize:counterSize];
[[self enclosingScrollView] setNeedsDisplay:YES];
}
@@ -1381,6 +1419,90 @@
group:PREF_GROUP_DUAL_WINDOW_INTERFACE];
}
+#pragma mark Substitutions
+/*!
+ * @brief Dash substitution was toggled
+ */
+- (void)toggleAutomaticDashSubstitution:(id)sender
+{
+ [super toggleAutomaticDashSubstitution:sender];
+
+ [adium.preferenceController setPreference:[NSNumber numberWithBool:[self isAutomaticDashSubstitutionEnabled]]
+ forKey:KEY_SUBSTITUTION_DASH
+ group:PREF_GROUP_DUAL_WINDOW_INTERFACE];
+}
+
+/*!
+ * @brief Data Detector substitution was toggled
+ */
+- (void)toggleAutomaticDataDetection:(id)sender
+{
+ [super toggleAutomaticDataDetection:sender];
+
+ [adium.preferenceController setPreference:[NSNumber numberWithBool:[self isAutomaticDataDetectionEnabled]]
+ forKey:KEY_SUBSTITUTION_DATA_DETECTORS
+ group:PREF_GROUP_DUAL_WINDOW_INTERFACE];
+}
+
+/*!
+ * @brief Text Replacement substitution was toggled
+ */
+- (void)toggleAutomaticTextReplacement:(id)sender
+{
+ [super toggleAutomaticTextReplacement:sender];
+
+ [adium.preferenceController setPreference:[NSNumber numberWithBool:[self isAutomaticTextReplacementEnabled]]
+ forKey:KEY_SUBSTITUTION_REPLACEMENT
+ group:PREF_GROUP_DUAL_WINDOW_INTERFACE];
+}
+
+/*!
+ * @brief Spelling replacement substitution was toggled
+ */
+- (void)toggleAutomaticSpellingCorrection:(id)sender
+{
+ [super toggleAutomaticSpellingCorrection:sender];
+
+ [adium.preferenceController setPreference:[NSNumber numberWithBool:[self isAutomaticSpellingCorrectionEnabled]]
+ forKey:KEY_SUBSTITUTION_SPELLING
+ group:PREF_GROUP_DUAL_WINDOW_INTERFACE];
+}
+
+/*!
+ * @brief Smart insert delete was toggled
+ */
+- (void)toggleSmartInsertDelete:(id)sender
+{
+ [super toggleSmartInsertDelete:sender];
+
+ [adium.preferenceController setPreference:[NSNumber numberWithBool:[self smartInsertDeleteEnabled]]
+ forKey:KEY_SUBSTITUTION_COPY_PASTE
+ group:PREF_GROUP_DUAL_WINDOW_INTERFACE];
+}
+
+/*!
+ * @brief Smart quote substitution was toggled
+ */
+- (void)toggleAutomaticQuoteSubstitution:(id)sender
+{
+ [super toggleAutomaticQuoteSubstitution:sender];
+
+ [adium.preferenceController setPreference:[NSNumber numberWithBool:[self isAutomaticQuoteSubstitutionEnabled]]
+ forKey:KEY_SUBSTITUTION_QUOTE
+ group:PREF_GROUP_DUAL_WINDOW_INTERFACE];
+}
+
+/*!
+ * @brief Smart link substitution was toggled
+ */
+- (void)toggleAutomaticLinkDetection:(id)sender
+{
+ [super toggleAutomaticLinkDetection:sender];
+
+ [adium.preferenceController setPreference:[NSNumber numberWithBool:[self isAutomaticLinkDetectionEnabled]]
+ forKey:KEY_SUBSTITUTION_LINK
+ group:PREF_GROUP_DUAL_WINDOW_INTERFACE];
+}
#pragma mark Writing Direction
- (void)toggleBaseWritingDirection:(id)sender
diff -r d13301831855 -r 642e389c4035 Frameworks/Adium Framework/Source/ESFileTransfer.h
--- a/Frameworks/Adium Framework/Source/ESFileTransfer.h Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/Adium Framework/Source/ESFileTransfer.h Mon Aug 31 07:30:27 2009 -0500
@@ -72,7 +72,7 @@
@property (readwrite, nonatomic, retain) id accountData;
- at property (readwrite, nonatomic, retain) id <FileTransferDelegate> delegate;
+ at property (readwrite, nonatomic, assign) id <FileTransferDelegate> delegate;
@property (readonly, nonatomic) BOOL isStopped;
diff -r d13301831855 -r 642e389c4035 Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m
--- a/Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m Mon Aug 31 07:30:27 2009 -0500
@@ -93,7 +93,7 @@
if (!startSet) {
NSMutableCharacterSet *mutableStartSet = [[NSMutableCharacterSet alloc] init];
[mutableStartSet formUnionWithCharacterSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
- [mutableStartSet formUnionWithCharacterSet:[NSCharacterSet characterSetWithCharactersInString:@"\"'.,:;<?!-@"]];
+ [mutableStartSet formUnionWithCharacterSet:[NSCharacterSet characterSetWithCharactersInString:[NSString stringWithFormat:@"\"'.,:;<?!-@%C%C", 0x2014, 0x2013]]];
startSet = [[NSCharacterSet characterSetWithBitmapRepresentation:[mutableStartSet bitmapRepresentation]] retain];
[mutableStartSet release];
}
diff -r d13301831855 -r 642e389c4035 Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.m
--- a/Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.m Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.m Mon Aug 31 07:30:27 2009 -0500
@@ -101,18 +101,24 @@
- (void)setURLFromString:(NSString *)inString
{
- NSString *linkString;
+ NSString *linkString, *preString;
+ preString = (NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault,
+ (CFStringRef)inString,
+ CFSTR(""),
+ kCFStringEncodingUTF8);
+
linkString = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
- (CFStringRef)inString,
- (CFStringRef)@"#[]",
- NULL,
- kCFStringEncodingUTF8); // kCFStringEncodingISOLatin1 );
+ preString? (CFStringRef)preString : (CFStringRef)inString,
+ (CFStringRef)@"#[]",
+ NULL,
+ kCFStringEncodingUTF8); // kCFStringEncodingISOLatin1 );
[linkURL release];
linkURL = [[NSURL alloc] initWithString:linkString];
[linkString release];
+ if(preString) [preString release];
}
- (void)setValidationStatus:(AH_URI_VERIFICATION_STATUS)status
diff -r d13301831855 -r 642e389c4035 Frameworks/AutoHyperlinks Framework/UnitTests/HyperlinkContextTest.m
--- a/Frameworks/AutoHyperlinks Framework/UnitTests/HyperlinkContextTest.m Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/AutoHyperlinks Framework/UnitTests/HyperlinkContextTest.m Mon Aug 31 07:30:27 2009 -0500
@@ -27,6 +27,16 @@
STAssertEqualObjects([[link parentString] substringWithRange:[link range]], nil, @"in context: '%@'", testString);
}
+- (void)testURIEscaping:(NSString *)URIString
+{
+ NSString *testString = [NSString stringWithFormat:@"%@", URIString];
+ AHHyperlinkScanner *scanner = [AHHyperlinkScanner hyperlinkScannerWithString:URIString];
+ AHMarkedHyperlink *link = [scanner nextURI];
+
+ STAssertNotNil(link, @"-[SHHyperlinkScanner nextURL] found no URI in \"%@\"", URIString);
+ STAssertEqualObjects([[link URL] absoluteString], URIString, @"in context: '%@'", URIString);
+}
+
#pragma mark positive tests
- (void)testEnclosedURI:(NSString *)URIString {
[self testLaxContext:@"<%@>" withURI:URIString];
@@ -64,6 +74,8 @@
- (void)testURIBorder:(NSString *)URIString {
[self testLaxContext:@":%@" withURI:URIString];
+ [self testLaxContext:@"—%@" withURI:URIString];
+ [self testLaxContext:@"–%@" withURI:URIString];
[self testLaxContext:@"check it out:%@" withURI:URIString];
[self testLaxContext:@"%@:" withURI:URIString];
[self testLaxContext:@"%@." withURI:URIString];
@@ -216,6 +228,8 @@
[self testLaxContext:@"foo (bar) %@" withURI:@"http://example.com/path/to/url.html"];
[self testLaxContext:@"%@" withURI:[NSString stringWithFormat:@"%@",@"http://example.com/hi%uthere"]]; //#11160
+
+ [self testURIEscaping:[NSString stringWithFormat:@"%@",@"http://www.google.com/search?q=foo%20bar"]]; //#12850
}
- (void)testCompositeContext {
diff -r d13301831855 -r 642e389c4035 Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-enum-types.h
--- a/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-enum-types.h Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-enum-types.h Mon Aug 31 07:30:27 2009 -0500
@@ -1,6 +1,10 @@
/* Generated data (by glib-mkenums) */
+#if !defined(__JSON_GLIB_INSIDE__) && !defined(JSON_COMPILATION)
+#error "Only <json-glib/json-glib.h> can be included directly."
+#endif
+
#ifndef __JSON_ENUM_TYPES_H__
#define __JSON_ENUM_TYPES_H__
@@ -8,11 +12,11 @@
G_BEGIN_DECLS
-/* enumerations from "../json-glib/json-parser.h" */
+/* enumerations from "/Sources/adium-1.4/Utilities/dep-build-scripts/source/json-glib-0.7.6/json-glib/json-parser.h" */
GType json_parser_error_get_type (void) G_GNUC_CONST;
#define JSON_TYPE_PARSER_ERROR (json_parser_error_get_type())
-/* enumerations from "../json-glib/json-types.h" */
+/* enumerations from "/Sources/adium-1.4/Utilities/dep-build-scripts/source/json-glib-0.7.6/json-glib/json-types.h" */
GType json_node_type_get_type (void) G_GNUC_CONST;
#define JSON_TYPE_NODE_TYPE (json_node_type_get_type())
diff -r d13301831855 -r 642e389c4035 Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-generator.h
--- a/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-generator.h Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-generator.h Mon Aug 31 07:30:27 2009 -0500
@@ -2,21 +2,29 @@
*
* This file is part of JSON-GLib
* Copyright (C) 2007 OpenedHand Ltd.
+ * Copyright (C) 2009 Intel Corp.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
*
* This 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
* Lesser General Public License for more details.
*
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
* Author:
- * Emmanuele Bassi <ebassi at openedhand.com>
+ * Emmanuele Bassi <ebassi at linux.intel.com>
*/
+#if !defined(__JSON_GLIB_INSIDE__) && !defined(JSON_COMPILATION)
+#error "Only <json-glib/json-glib.h> can be included directly."
+#endif
+
#ifndef __JSON_GENERATOR_H__
#define __JSON_GENERATOR_H__
diff -r d13301831855 -r 642e389c4035 Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-glib.h
--- a/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-glib.h Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-glib.h Mon Aug 31 07:30:27 2009 -0500
@@ -1,10 +1,39 @@
+/* json-glib.h: Main header
+ *
+ * This file is part of JSON-GLib
+ * Copyright (C) 2007 OpenedHand Ltd.
+ * Copyright (C) 2009 Intel Corp.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author:
+ * Emmanuele Bassi <ebassi at linux.intel.com>
+ */
+
#ifndef __JSON_GLIB_H__
#define __JSON_GLIB_H__
+#define __JSON_GLIB_INSIDE__
+
#include <json-glib/json-types.h>
#include <json-glib/json-generator.h>
#include <json-glib/json-parser.h>
#include <json-glib/json-version.h>
#include <json-glib/json-enum-types.h>
+#include <json-glib/json-gobject.h>
+
+#undef __JSON_GLIB_INSIDE__
+
#endif /* __JSON_GLIB_H__ */
diff -r d13301831855 -r 642e389c4035 Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-gobject.h
--- a/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-gobject.h Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-gobject.h Mon Aug 31 07:30:27 2009 -0500
@@ -2,19 +2,23 @@
*
* This file is part of JSON-GLib
* Copyright (C) 2007 OpenedHand Ltd.
+ * Copyright (C) 2009 Intel Corp.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
*
* This 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
* Lesser General Public License for more details.
*
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
* Author:
- * Emmanuele Bassi <ebassi at openedhand.com>
+ * Emmanuele Bassi <ebassi at linux.intel.com>
*/
#ifndef __JSON_GOBJECT_H__
diff -r d13301831855 -r 642e389c4035 Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-parser.h
--- a/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-parser.h Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-parser.h Mon Aug 31 07:30:27 2009 -0500
@@ -2,21 +2,29 @@
*
* This file is part of JSON-GLib
* Copyright (C) 2007 OpenedHand Ltd.
+ * Copyright (C) 2009 Intel Corp.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
*
* This 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
* Lesser General Public License for more details.
*
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
* Author:
- * Emmanuele Bassi <ebassi at openedhand.com>
+ * Emmanuele Bassi <ebassi at linux.intel.com>
*/
+#if !defined(__JSON_GLIB_INSIDE__) && !defined(JSON_COMPILATION)
+#error "Only <json-glib/json-glib.h> can be included directly."
+#endif
+
#ifndef __JSON_PARSER_H__
#define __JSON_PARSER_H__
diff -r d13301831855 -r 642e389c4035 Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-types.h
--- a/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-types.h Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-types.h Mon Aug 31 07:30:27 2009 -0500
@@ -2,21 +2,29 @@
*
* This file is part of JSON-GLib
* Copyright (C) 2007 OpenedHand Ltd.
+ * Copyright (C) 2009 Intel Corp.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
*
* This 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
* Lesser General Public License for more details.
*
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
* Author:
- * Emmanuele Bassi <ebassi at openedhand.com>
+ * Emmanuele Bassi <ebassi at linux.intel.com>
*/
+#if !defined(__JSON_GLIB_INSIDE__) && !defined(JSON_COMPILATION)
+#error "Only <json-glib/json-glib.h> can be included directly."
+#endif
+
#ifndef __JSON_TYPES_H__
#define __JSON_TYPES_H__
@@ -30,13 +38,23 @@
*
* Evaluates to the #JsonNodeType contained by @node
*/
-#define JSON_NODE_TYPE(node) (((JsonNode *) (node))->type)
+#define JSON_NODE_TYPE(node) (json_node_get_node_type ((node)))
#define JSON_TYPE_NODE (json_node_get_type ())
#define JSON_TYPE_OBJECT (json_object_get_type ())
#define JSON_TYPE_ARRAY (json_array_get_type ())
/**
+ * JsonNode:
+ * @type: the type of node
+ *
+ * A generic container of JSON data types. The contents of the #JsonNode
+ * structure are private and should only be accessed via the provided
+ * functions and never directly.
+ */
+typedef struct _JsonNode JsonNode;
+
+/**
* JsonObject:
*
* A JSON object type. The contents of the #JsonObject structure are private
@@ -52,8 +70,6 @@
*/
typedef struct _JsonArray JsonArray;
-typedef struct _JsonNode JsonNode;
-
/**
* JsonNodeType:
* @JSON_NODE_OBJECT: The node contains a #JsonObject
@@ -71,32 +87,52 @@
} JsonNodeType;
/**
- * JsonNode:
- * @type: the type of node
+ * JsonObjectForeach:
+ * @object: the iterated #JsonObject
+ * @member_name: the name of the member
+ * @member_node: a #JsonNode containing the @member_name value
+ * @user_data: data passed to the function
*
- * A generic container of JSON data types. The contents of the #JsonNode
- * structure are private and should only be accessed via the provided
- * functions and never directly.
+ * The function to be passed to json_object_foreach_member(). You
+ * should not add or remove members to and from @object within
+ * this function. It is safe to change the value of @member_node.
+ *
+ * Since: 0.8
*/
-struct _JsonNode
-{
- /*< private >*/
- JsonNodeType type;
+typedef void (* JsonObjectForeach) (JsonObject *object,
+ const gchar *member_name,
+ JsonNode *member_node,
+ gpointer user_data);
- union {
- JsonObject *object;
- JsonArray *array;
- GValue value;
- } data;
+/**
+ * JsonArrayForeach:
+ * @array: the iterated #JsonArray
+ * @index_: the index of the element
+ * @element_node: a #JsonNode containing the value at @index_
+ * @user_data: data passed to the function
+ *
+ * The function to be passed to json_array_foreach_element(). You
+ * should not add or remove elements to and from @array within
+ * this function. It is safe to change the value of @element_node.
+ *
+ * Since: 0.8
+ */
+typedef void (* JsonArrayForeach) (JsonArray *array,
+ guint index_,
+ JsonNode *element_node,
+ gpointer user_data);
- JsonNode *parent;
-};
-
+/*
+ * JsonNode
+ */
GType json_node_get_type (void) G_GNUC_CONST;
JsonNode * json_node_new (JsonNodeType type);
JsonNode * json_node_copy (JsonNode *node);
void json_node_free (JsonNode *node);
+JsonNodeType json_node_get_node_type (JsonNode *node);
GType json_node_get_value_type (JsonNode *node);
+JsonNode * json_node_get_parent (JsonNode *node);
+G_CONST_RETURN gchar *json_node_type_name (JsonNode *node);
void json_node_set_object (JsonNode *node,
JsonObject *object);
@@ -119,51 +155,127 @@
G_CONST_RETURN gchar *json_node_get_string (JsonNode *node);
gchar * json_node_dup_string (JsonNode *node);
void json_node_set_int (JsonNode *node,
- gint value);
-gint json_node_get_int (JsonNode *node);
+ gint64 value);
+gint64 json_node_get_int (JsonNode *node);
void json_node_set_double (JsonNode *node,
gdouble value);
gdouble json_node_get_double (JsonNode *node);
void json_node_set_boolean (JsonNode *node,
gboolean value);
gboolean json_node_get_boolean (JsonNode *node);
-JsonNode * json_node_get_parent (JsonNode *node);
-G_CONST_RETURN gchar *json_node_type_name (JsonNode *node);
+gboolean json_node_is_null (JsonNode *node);
-GType json_object_get_type (void) G_GNUC_CONST;
-JsonObject * json_object_new (void);
-JsonObject * json_object_ref (JsonObject *object);
-void json_object_unref (JsonObject *object);
-void json_object_add_member (JsonObject *object,
- const gchar *member_name,
- JsonNode *node);
-GList * json_object_get_members (JsonObject *object);
-JsonNode * json_object_get_member (JsonObject *object,
- const gchar *member_name);
-JsonNode * json_object_dup_member (JsonObject *object,
- const gchar *member_name);
-gboolean json_object_has_member (JsonObject *object,
- const gchar *member_name);
-void json_object_remove_member (JsonObject *object,
- const gchar *member_name);
-GList * json_object_get_values (JsonObject *object);
-guint json_object_get_size (JsonObject *object);
+/*
+ * JsonObject
+ */
+GType json_object_get_type (void) G_GNUC_CONST;
+JsonObject * json_object_new (void);
+JsonObject * json_object_ref (JsonObject *object);
+void json_object_unref (JsonObject *object);
-GType json_array_get_type (void) G_GNUC_CONST;
-JsonArray * json_array_new (void);
-JsonArray * json_array_sized_new (guint n_elements);
-JsonArray * json_array_ref (JsonArray *array);
-void json_array_unref (JsonArray *array);
-void json_array_add_element (JsonArray *array,
- JsonNode *node);
-GList * json_array_get_elements (JsonArray *array);
-JsonNode * json_array_get_element (JsonArray *array,
- guint index_);
-JsonNode * json_array_dup_element (JsonArray *array,
- guint index_);
-void json_array_remove_element (JsonArray *array,
- guint index_);
-guint json_array_get_length (JsonArray *array);
+#ifndef JSON_DISABLE_DEPRECATED
+void json_object_add_member (JsonObject *object,
+ const gchar *member_name,
+ JsonNode *node) G_GNUC_DEPRECATED;
+#endif /* JSON_DISABLE_DEPRECATED */
+
+void json_object_set_member (JsonObject *object,
+ const gchar *member_name,
+ JsonNode *node);
+void json_object_set_int_member (JsonObject *object,
+ const gchar *member_name,
+ gint64 value);
+void json_object_set_double_member (JsonObject *object,
+ const gchar *member_name,
+ gdouble value);
+void json_object_set_boolean_member (JsonObject *object,
+ const gchar *member_name,
+ gboolean value);
+void json_object_set_string_member (JsonObject *object,
+ const gchar *member_name,
+ const gchar *value);
+void json_object_set_null_member (JsonObject *object,
+ const gchar *member_name);
+void json_object_set_array_member (JsonObject *object,
+ const gchar *member_name,
+ JsonArray *value);
+void json_object_set_object_member (JsonObject *object,
+ const gchar *member_name,
+ JsonObject *value);
+GList * json_object_get_members (JsonObject *object);
+JsonNode * json_object_get_member (JsonObject *object,
+ const gchar *member_name);
+JsonNode * json_object_dup_member (JsonObject *object,
+ const gchar *member_name);
+gint64 json_object_get_int_member (JsonObject *object,
+ const gchar *member_name);
+gdouble json_object_get_double_member (JsonObject *object,
+ const gchar *member_name);
+gboolean json_object_get_boolean_member (JsonObject *object,
+ const gchar *member_name);
+G_CONST_RETURN gchar *json_object_get_string_member (JsonObject *object,
+ const gchar *member_name);
+gboolean json_object_get_null_member (JsonObject *object,
+ const gchar *member_name);
+JsonArray * json_object_get_array_member (JsonObject *object,
+ const gchar *member_name);
+JsonObject * json_object_get_object_member (JsonObject *object,
+ const gchar *member_name);
+gboolean json_object_has_member (JsonObject *object,
+ const gchar *member_name);
+void json_object_remove_member (JsonObject *object,
+ const gchar *member_name);
+GList * json_object_get_values (JsonObject *object);
+guint json_object_get_size (JsonObject *object);
+void json_object_foreach_member (JsonObject *object,
+ JsonObjectForeach func,
+ gpointer data);
+
+GType json_array_get_type (void) G_GNUC_CONST;
+JsonArray * json_array_new (void);
+JsonArray * json_array_sized_new (guint n_elements);
+JsonArray * json_array_ref (JsonArray *array);
+void json_array_unref (JsonArray *array);
+void json_array_add_element (JsonArray *array,
+ JsonNode *node);
+void json_array_add_int_element (JsonArray *array,
+ gint64 value);
+void json_array_add_double_element (JsonArray *array,
+ gdouble value);
+void json_array_add_boolean_element (JsonArray *array,
+ gboolean value);
+void json_array_add_string_element (JsonArray *array,
+ const gchar *value);
+void json_array_add_null_element (JsonArray *array);
+void json_array_add_array_element (JsonArray *array,
+ JsonArray *value);
+void json_array_add_object_element (JsonArray *array,
+ JsonObject *value);
+GList * json_array_get_elements (JsonArray *array);
+JsonNode * json_array_get_element (JsonArray *array,
+ guint index_);
+gint64 json_array_get_int_element (JsonArray *array,
+ guint index_);
+gdouble json_array_get_double_element (JsonArray *array,
+ guint index_);
+gboolean json_array_get_boolean_element (JsonArray *array,
+ guint index_);
+G_CONST_RETURN gchar *json_array_get_string_element (JsonArray *array,
+ guint index_);
+gboolean json_array_get_null_element (JsonArray *array,
+ guint index_);
+JsonArray * json_array_get_array_element (JsonArray *array,
+ guint index_);
+JsonObject * json_array_get_object_element (JsonArray *array,
+ guint index_);
+JsonNode * json_array_dup_element (JsonArray *array,
+ guint index_);
+void json_array_remove_element (JsonArray *array,
+ guint index_);
+guint json_array_get_length (JsonArray *array);
+void json_array_foreach_element (JsonArray *array,
+ JsonArrayForeach func,
+ gpointer data);
G_END_DECLS
diff -r d13301831855 -r 642e389c4035 Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-version.h
--- a/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-version.h Tue Aug 18 14:01:14 2009 -0500
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-version.h Mon Aug 31 07:30:27 2009 -0500
@@ -2,21 +2,29 @@
*
* This file is part of JSON-GLib
* Copyright (C) 2007 OpenedHand Ltd.
+ * Copyright (C) 2009 Intel Corp.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
*
* This 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
* Lesser General Public License for more details.
*
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
* Author:
- * Emmanuele Bassi <ebassi at openedhand.com>
+ * Emmanuele Bassi <ebassi at linux.intel.com>
*/
+#if !defined(__JSON_GLIB_INSIDE__) && !defined(JSON_COMPILATION)
+#error "Only <json-glib/json-glib.h> can be included directly."
+#endif
+
#ifndef __JSON_VERSION_H__
#define __JSON_VERSION_H__
@@ -40,21 +48,21 @@
*
* Json minor version component (e.g. 2 if %JSON_VERSION is 1.2.3)
*/
-#define JSON_MINOR_VERSION (6)
+#define JSON_MINOR_VERSION (7)
/**
* JSON_MICRO_VERSION:
*
* Json micro version component (e.g. 3 if %JSON_VERSION is 1.2.3)
*/
-#define JSON_MICRO_VERSION (2)
+#define JSON_MICRO_VERSION (6)
/**
* JSON_VERSION
*
* Json version.
*/
-#define JSON_VERSION (0.6.2)
+#define JSON_VERSION (0.7.6)
/**
* JSON_VERSION_S:
@@ -62,7 +70,7 @@
* Json version, encoded as a string, useful for printing and
* concatenation.
*/
-#define JSON_VERSION_S "0.6.2"
+#define JSON_VERSION_S "0.7.6"
/**
* JSON_VERSION_HEX:
diff -r d13301831855 -r 642e389c4035 Frameworks/libjson-glib.framework/Versions/1.0.0/libjson-glib
Binary file Frameworks/libjson-glib.framework/Versions/1.0.0/libjson-glib has changed
diff -r d13301831855 -r 642e389c4035 Frameworks/libpurple.framework/Versions/0.6.0/Headers/account.h
--- a/Frameworks/libpurple.framework/Versions/0.6.0/Headers/account.h Tue Aug 18 14:01:14 2009 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1065 +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;
-
More information about the commits
mailing list