Adding conditional NSXMLDocument support for Mac platform
This commit is contained in:
parent
70351a51e1
commit
4c7816e716
2 changed files with 43 additions and 0 deletions
|
|
@ -23,15 +23,32 @@
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import "AFHTTPRequestOperation.h"
|
#import "AFHTTPRequestOperation.h"
|
||||||
|
|
||||||
|
#import <Availability.h>
|
||||||
|
|
||||||
@interface AFXMLRequestOperation : AFHTTPRequestOperation {
|
@interface AFXMLRequestOperation : AFHTTPRequestOperation {
|
||||||
@private
|
@private
|
||||||
NSXMLParser *_responseXMLParser;
|
NSXMLParser *_responseXMLParser;
|
||||||
|
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||||
|
NSXMLDocument *_responseXMLDocument;
|
||||||
|
#endif
|
||||||
|
NSError *_XMLError;
|
||||||
}
|
}
|
||||||
|
|
||||||
@property (readonly, nonatomic, retain) NSXMLParser *responseXMLParser;
|
@property (readonly, nonatomic, retain) NSXMLParser *responseXMLParser;
|
||||||
|
|
||||||
|
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||||
|
@property (readonly, nonatomic, retain) NSXMLDocument *responseXMLDocument;
|
||||||
|
#endif
|
||||||
|
|
||||||
+ (AFXMLRequestOperation *)XMLParserRequestOperationWithRequest:(NSURLRequest *)urlRequest
|
+ (AFXMLRequestOperation *)XMLParserRequestOperationWithRequest:(NSURLRequest *)urlRequest
|
||||||
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser))success
|
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser))success
|
||||||
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure;
|
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||||
|
+ (AFXMLRequestOperation *)XMLDocumentRequestOperationWithRequest:(NSURLRequest *)urlRequest
|
||||||
|
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLDocument *document))success
|
||||||
|
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure;
|
||||||
|
#endif
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,10 @@
|
||||||
|
|
||||||
@interface AFXMLRequestOperation ()
|
@interface AFXMLRequestOperation ()
|
||||||
@property (readwrite, nonatomic, retain) NSXMLParser *responseXMLParser;
|
@property (readwrite, nonatomic, retain) NSXMLParser *responseXMLParser;
|
||||||
|
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||||
|
@property (readwrite, nonatomic, retain) NSXMLDocument *responseXMLDocument;
|
||||||
|
#endif
|
||||||
|
@property (readwrite, nonatomic, retain) NSError *error;
|
||||||
|
|
||||||
+ (NSSet *)defaultAcceptableContentTypes;
|
+ (NSSet *)defaultAcceptableContentTypes;
|
||||||
+ (NSSet *)defaultAcceptablePathExtensions;
|
+ (NSSet *)defaultAcceptablePathExtensions;
|
||||||
|
|
@ -33,6 +37,10 @@
|
||||||
|
|
||||||
@implementation AFXMLRequestOperation
|
@implementation AFXMLRequestOperation
|
||||||
@synthesize responseXMLParser = _responseXMLParser;
|
@synthesize responseXMLParser = _responseXMLParser;
|
||||||
|
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||||
|
@synthesize responseXMLDocument = _responseXMLDocument;
|
||||||
|
#endif
|
||||||
|
@synthesize error = _XMLError;
|
||||||
|
|
||||||
+ (AFXMLRequestOperation *)XMLParserRequestOperationWithRequest:(NSURLRequest *)urlRequest
|
+ (AFXMLRequestOperation *)XMLParserRequestOperationWithRequest:(NSURLRequest *)urlRequest
|
||||||
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser))success
|
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser))success
|
||||||
|
|
@ -84,6 +92,12 @@
|
||||||
_responseXMLParser.delegate = nil;
|
_responseXMLParser.delegate = nil;
|
||||||
[_responseXMLParser release];
|
[_responseXMLParser release];
|
||||||
|
|
||||||
|
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||||
|
[_responseXMLDocument release];
|
||||||
|
#endif
|
||||||
|
|
||||||
|
[_XMLError release];
|
||||||
|
|
||||||
[super dealloc];
|
[super dealloc];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -95,6 +109,18 @@
|
||||||
return _responseXMLParser;
|
return _responseXMLParser;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||||
|
- (NSXMLDocument *)responseXMLDocument {
|
||||||
|
if (!_responseXMLDocument && [self isFinished]) {
|
||||||
|
NSError *error = nil;
|
||||||
|
self.responseXMLDocument = [[[NSXMLDocument alloc] initWithData:self.responseData options:0 error:&error] autorelease];
|
||||||
|
self.error = error;
|
||||||
|
}
|
||||||
|
|
||||||
|
return _responseXMLDocument;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#pragma mark - NSOperation
|
#pragma mark - NSOperation
|
||||||
|
|
||||||
- (void)cancel {
|
- (void)cancel {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue