AGSRequestOperation Class Reference


Description

This is a concurrent operation.

The request will be asynchronously kicked off from the thread that the operation was created on. The request will execute in the background. If the response size is above a certain threshold, then the operation may decide to parse the response in a child operation that it kicks off. Once the response has been parsed the action selectors will called from the thread that the operation was created on.

Since:
1.0
Inheritance diagram for AGSRequestOperation:
AGSRunLoopOperation AGSImageRequestOperation AGSJSONRequestOperation AGSTileRequestOperation AGSDynamicLayerImageRequestOperation

List of all members.

Public Member Functions

(AGSRequestOperation *) - copyOperation
(void) - finishWithResult:
(id) - initWithRequest:
(id) - initWithURL:
(id) - initWithURL:queryParameters:
(id) - initWithURL:resource:queryParameters:
(id) - initWithURL:resource:queryParameters:doPOST:
(void) - operationDidStart
(void) - operationWillFinish
(NSError *) - processError:
(id) - processResultData:
(BOOL) - shouldProcessResultDataInBackground:

Static Public Member Functions

(NSOperationQueue *) + sharedOperationQueue

Properties

SEL action
AGSCredentialcredential
SEL errorAction
BOOL post
NSDictionary * query
NSURLRequest * request
NSString * resource
id result
NSThread * runLoopThread
NSMutableDictionary * state
id target
NSURL * URL
BOOL waitUntilActionSelectorIsDone

Member Function Documentation

- (AGSRequestOperation*) copyOperation  

Creates a copy of the current operation to be re-added to the operation queue for resubmission. This is useful if a token expires and the operation needs to be resubmitted with a new token or set of credentials.

Since:
1.0
- (void) finishWithResult: (id)  result  

A subclass should call finishWithError: when the operation is complete, passing the desired result. If an error ocurred, pass an NSError object and the errorAction selector will be called. Any other type of result will cause the action selector to be fired.

Note that this will call -operationWillFinish before returning.

Since:
2.1
- (id) initWithRequest: (NSURLRequest *)  req  

Initialize an AGSRequestOperation with the specified request.

Parameters:
req Request to initialize the operation with.
Returns:
Initialized AGSRequestOperation.
Since:
1.0
- (id) initWithURL: (NSURL *)  url  

Initialize an AGSRequestOperation with the specified url.

Parameters:
url URL to initialize the request operation.
Returns:
Initialized AGSRequestOperation.
Since:
1.0
- (id) initWithURL: (NSURL *)  url
queryParameters: (NSDictionary *)  query 

Initialize an AGSRequestOperation with the specified url and query parameters.

Parameters:
url URL to initialize the request operation.
query Query parameters to submit along with the request.
Returns:
Initialized AGSRequestOperation.
Since:
1.0
- (id) initWithURL: (NSURL *)  url
resource: (NSString *)  resource
queryParameters: (NSDictionary *)  query 

Initialize an AGSRequestOperation with the specified url, resource, and query parameters.

Parameters:
url URL to initialize the request operation.
resource Resource to access off of the url.
query Query parameters to submit along with the request to the resource.
Returns:
Initialized AGSRequestOperation
Since:
1.0
- (id) initWithURL: (NSURL *)  url
resource: (NSString *)  resource
queryParameters: (NSDictionary *)  query
doPOST: (BOOL)  post 

Designated initializer. Initialize an AGSRequestOperation with the specified url, resource, query parameters, and post flag.

Parameters:
url URL to initialize the request operation.
resource Resource to access off of the url.
query Query parameters to submit along with the request to the resource.
post Post flag to determine whether or not to use a GET or POST,
Returns:
Initialized AGSRequestOperation
Since:
1.0
- (void) operationDidStart  

A function that can be overridden by subclasses to start actual operation work.

Since:
2.1
- (void) operationWillFinish  

A function that can be overridden by subclasses to know when the operation was finished. This may get called even if operationDidStart was never called.

Since:
2.1
- (NSError *) processError: (NSError *)  error  

Method to override to process the error that results, if any, from a request

Since:
1.0
- (id) processResultData: (NSData *)  data  

Methods to override to process results and errors before sending them to the callbacks

Parameters:
data to be processed from the request
Since:
1.0
+ (NSOperationQueue *) sharedOperationQueue  

Class method to retrieve the shared operation queue that is handling all operations. This is where all AGSRequestOperations will be queued.

Since:
1.0
- (BOOL) shouldProcessResultDataInBackground: (NSData *)  data  

Subclasses can override this if processing the data will take a long time and the superclass should call the process method on a bg thread.

Parameters:
data to be processed in the background
Since:
1.0

Property Documentation

- (SEL) action [read, write, assign, inherited]

Selector to be called if the operation succeeds.

Since:
2.1
- (AGSCredential*) credential [read, write, retain]

Credentials to access a secured resource.

Since:
1.0
- (SEL) errorAction [read, write, assign, inherited]

Selector to be called if the operation fails.

Since:
2.1
- (BOOL) post [read, assign]

Flag to determine whether or not the request is a GET or POST.

Since:
1.0
- (NSDictionary*) query [read, copy]

Query parameters to be used in the request to URL.

Since:
1.0
- (NSURLRequest*) request [read, retain]

Request object to be used instead of generating one on the fly.

Since:
1.0
- (NSString*) resource [read, copy]

String to append to the end of a url to access a specific resource, such as when exporting an image.

Since:
1.0
- (id) result [read, retain, inherited]

The results of an operation.

Since:
2.1
- (NSThread*) runLoopThread [read, assign, inherited]

The thread that this concurrent operation should start it's work on.

Since:
2.1
- (NSMutableDictionary*) state [read, retain]

A dictionary that can be filled with objects that need to be retrieved upon completion of an operation and are not passed back as results.

Since:
1.0
- (id) target [read, write, assign, inherited]

Target class to perform the operation from.

Since:
2.1
- (NSURL*) URL [read, copy]

URL of the resource to make a request from.

Since:
1.0
- (BOOL) waitUntilActionSelectorIsDone [read, write, assign, inherited]

Defaults to NO, but it is helpful if this operation is a dependency for another operation and the action selector processes some results that the dependent operation needs before it can start.

Since:
2.1