ROClientChannel
Overview
ROClientChannel is the abstract base class for Client Channel implementations in Remoting SDK for Xcode.
You will usually not instantiate instances of this class itself, but use the descendant classes, such as ROHTTPClientChannel.
Location
- Reference: ROClientChannel.h
- Namespace: RemObjectsSDK
- Ancestry: NSObject | ROChannel | ROClientChannel
asyncDispatch: protected deprecated
For internal use
Dispatches the given message asynchronously and returns an ROAsyncRequest reference.
This method relies on the internal method intAsyncDispatch:responseMessage:
which implemenation depends on concrete client channel.
This method is deprecated. If you will need to dispatch some mesages manually, then please use asyncDispatch:withProxy:start
or asyncDispatch:withProxy:startWithBlock:
instead
- (ROAsyncRequest *) asyncDispatch:(id)aMessage
Parameters:
- aMessage: instance of ROMessage that need to be dispatched
asyncDispatch:start: protected deprecated
For internal use
Prepares and return asynchronous request for dispatching the given message.
This method relies on the internal method intAsyncDispatch:responseMessage:
which implemenation depends on concrete client channel.
This method is deprecated. If you will need to dispatch some mesages manually, then please use asyncDispatch:withProxy:start
or asyncDispatch:withProxy:startWithBlock:
instead
- (ROAsyncRequest *) asyncDispatch:(id)aMessage start:(BOOL)start
Parameters:
- aMessage: instance of ROMessage that need to be dispatched
- start: Boolean flag, If
YES
then it start dispatching request immediately. IfNO
, then request will start automatically. You will need to start it manually. Deffered starting asynchronous dispatching can be useful for additional configuring asynchronous request before running it.
asyncDispatch:withProxy:start: protected
For internal use
Prepares and return asynchronous request for dispatching the given message for given proxy.
This method relies on the internal method intAsyncDispatch:responseMessage:
which implemenation depends on concrete client channel.
- (ROAsyncRequest *) asyncDispatch:(id)aMessage withProxy:(ROAsyncProxy *)proxy start:(BOOL)start
Parameters:
- aMessage: instance of ROMessage that need to be dispatched
- proxy: reference to the ROAsyncProxy which is stored in the result asynchronous request.
Later when asynchronous request completes, proxy can be used for obtaining request results. For example:
- (void) asyncRequestDidComplete:(ROAsyncRequest *)aRequest {
...
if (aRequest.type == artGetDataTable) {
NSData *data = [[request proxy] endGetData:aRequest];
...
}
...
}
- start: Boolean flag, If
YES
then it start dispatching request immediately. IfNO
, then request will start automatically. You will need to start it manually. Deffered starting asynchronous dispatching can be useful for additional configuring asynchronous request before running it.
asyncDispatch:withProxy:startWithBlock: protected
For internal use
Prepares and start asynchronous request with given completion block for dispatching the message for given proxy.
This method relies on the internal method intAsyncDispatch:responseMessage:
which implemenation depends on concrete client channel.
- (ROAsyncRequest *) asyncDispatch:(id)aMessage withProxy:(ROAsyncProxy *)proxy startWithBlock:(void(^)(ROAsyncRequest *))block
Parameters:
- aMessage: instance of ROMessage that need to be dispatched
- proxy: reference to the ROAsyncProxy which is stored in the result asynchronous request.
Later when asynchronous request completes, proxy can be used for obtaining request results. For example:
- (void) asyncRequestDidComplete:(ROAsyncRequest *)aRequest {
...
if (aRequest.type == artGetDataTable) {
NSData *data = [[request proxy] endGetData:aRequest];
...
}
...
}
- block: completion block, will be called after asynchronous dispatching ends
channel protected
Returns a created channel
+ (id) channel
channelWithTargetUrl: protected deprecated
returns a new channel instance initialized with given NSURL
Deprecated. Please use channelWithTargetURL
instead
+ (id) channelWithTargetUrl:(NSString *)targetUrl
Parameters:
- targetUrl: Target URL as String
channelWithTargetURL: protected
returns a new channel instance initialized with given NSURL
+ (id) channelWithTargetURL:(NSURL *)targetUrl
Parameters:
- targetUrl: Target URL
decreaseNetworkActivityIndicator
+ (void) decreaseNetworkActivityIndicator
delegate protected assign
Delegate object to receive events through the ROClientChannelDelegate protocol.
@property (assign) id delegate
dispatch: protected
for internal use
Dispatches the given message synchronously.
This method relies on the intDispatch:
method provided by concrete client channel implementations for the actual dispatching.
- (void) dispatch:(id)aMessage
Parameters:
- aMessage: instance of ROMessage that need to be dispatched
handleAuthenticationChallenge:forHost:callback:
+ (void) handleAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge forHost:(NSString *)host callback:(BOOL(^)(ROCertificateInfo *))block
Parameters:
- challenge:
- host:
- block:
increaseNetworkActivityIndicator
+ (void) increaseNetworkActivityIndicator
initWithTargetUrl: protected deprecated
- (InstanceType) initWithTargetUrl:(NSString *)aTargetUrl
Parameters:
- aTargetUrl:
initWithTargetURL: protected
- (InstanceType) initWithTargetURL:(NSURL *)aTargetURL
Parameters:
- aTargetURL:
isBusy protected
Property that shows is channel busy or not.
Actual implementation differs for different channels. For example syhchronous channels like HTTP channel can process only one request per moment. So using this property you can know does channel do something or its free for dispatching new messages.
@property (readonly) BOOL isBusy
performLoginNeeded:forAsyncRequest:
- (void) performLoginNeeded:(ROServerException *)exception forAsyncRequest:(ROAsyncRequest *)request
Parameters:
- exception:
- request:
runLoop
@property (readonly) NSRunLoop *runLoop
scheduleAsyncRequest:
- (void) scheduleAsyncRequest:(ROAsyncRequest *)request
Parameters:
- request:
targetUrl protected copy deprecated
This property keeps target URL as the string, for the channel. Since any things with URL in String format are deprecated, please use targetURL property instead.
@property (copy, deprecated) NSString *targetUrl
targetURL protected copy
Property keeps target URL, for the channel.
@property (copy) NSURL *targetURL
triggerOnLoginNeeded:
- (BOOL) triggerOnLoginNeeded:(ROServerException *)exception
Parameters:
- exception:
delegate protected assign
Delegate object to receive events through the ROClientChannelDelegate protocol.
@property (assign) id delegate
isBusy protected
Property that shows is channel busy or not.
Actual implementation differs for different channels. For example syhchronous channels like HTTP channel can process only one request per moment. So using this property you can know does channel do something or its free for dispatching new messages.
@property (readonly) BOOL isBusy
runLoop
@property (readonly) NSRunLoop *runLoop
targetUrl protected copy deprecated
This property keeps target URL as the string, for the channel. Since any things with URL in String format are deprecated, please use targetURL property instead.
@property (copy, deprecated) NSString *targetUrl
targetURL protected copy
Property keeps target URL, for the channel.
@property (copy) NSURL *targetURL
channel protected
Returns a created channel
+ (id) channel
channelWithTargetUrl: protected deprecated
returns a new channel instance initialized with given NSURL
Deprecated. Please use channelWithTargetURL
instead
+ (id) channelWithTargetUrl:(NSString *)targetUrl
Parameters:
- targetUrl: Target URL as String
channelWithTargetURL: protected
returns a new channel instance initialized with given NSURL
+ (id) channelWithTargetURL:(NSURL *)targetUrl
Parameters:
- targetUrl: Target URL
decreaseNetworkActivityIndicator
+ (void) decreaseNetworkActivityIndicator
handleAuthenticationChallenge:forHost:callback:
+ (void) handleAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge forHost:(NSString *)host callback:(BOOL(^)(ROCertificateInfo *))block
Parameters:
- challenge:
- host:
- block:
increaseNetworkActivityIndicator
+ (void) increaseNetworkActivityIndicator
asyncDispatch: protected deprecated
For internal use
Dispatches the given message asynchronously and returns an ROAsyncRequest reference.
This method relies on the internal method intAsyncDispatch:responseMessage:
which implemenation depends on concrete client channel.
This method is deprecated. If you will need to dispatch some mesages manually, then please use asyncDispatch:withProxy:start
or asyncDispatch:withProxy:startWithBlock:
instead
- (ROAsyncRequest *) asyncDispatch:(id)aMessage
Parameters:
- aMessage: instance of ROMessage that need to be dispatched
asyncDispatch:start: protected deprecated
For internal use
Prepares and return asynchronous request for dispatching the given message.
This method relies on the internal method intAsyncDispatch:responseMessage:
which implemenation depends on concrete client channel.
This method is deprecated. If you will need to dispatch some mesages manually, then please use asyncDispatch:withProxy:start
or asyncDispatch:withProxy:startWithBlock:
instead
- (ROAsyncRequest *) asyncDispatch:(id)aMessage start:(BOOL)start
Parameters:
- aMessage: instance of ROMessage that need to be dispatched
- start: Boolean flag, If
YES
then it start dispatching request immediately. IfNO
, then request will start automatically. You will need to start it manually. Deffered starting asynchronous dispatching can be useful for additional configuring asynchronous request before running it.
asyncDispatch:withProxy:start: protected
For internal use
Prepares and return asynchronous request for dispatching the given message for given proxy.
This method relies on the internal method intAsyncDispatch:responseMessage:
which implemenation depends on concrete client channel.
- (ROAsyncRequest *) asyncDispatch:(id)aMessage withProxy:(ROAsyncProxy *)proxy start:(BOOL)start
Parameters:
- aMessage: instance of ROMessage that need to be dispatched
- proxy: reference to the ROAsyncProxy which is stored in the result asynchronous request.
Later when asynchronous request completes, proxy can be used for obtaining request results. For example:
- (void) asyncRequestDidComplete:(ROAsyncRequest *)aRequest {
...
if (aRequest.type == artGetDataTable) {
NSData *data = [[request proxy] endGetData:aRequest];
...
}
...
}
- start: Boolean flag, If
YES
then it start dispatching request immediately. IfNO
, then request will start automatically. You will need to start it manually. Deffered starting asynchronous dispatching can be useful for additional configuring asynchronous request before running it.
asyncDispatch:withProxy:startWithBlock: protected
For internal use
Prepares and start asynchronous request with given completion block for dispatching the message for given proxy.
This method relies on the internal method intAsyncDispatch:responseMessage:
which implemenation depends on concrete client channel.
- (ROAsyncRequest *) asyncDispatch:(id)aMessage withProxy:(ROAsyncProxy *)proxy startWithBlock:(void(^)(ROAsyncRequest *))block
Parameters:
- aMessage: instance of ROMessage that need to be dispatched
- proxy: reference to the ROAsyncProxy which is stored in the result asynchronous request.
Later when asynchronous request completes, proxy can be used for obtaining request results. For example:
- (void) asyncRequestDidComplete:(ROAsyncRequest *)aRequest {
...
if (aRequest.type == artGetDataTable) {
NSData *data = [[request proxy] endGetData:aRequest];
...
}
...
}
- block: completion block, will be called after asynchronous dispatching ends
dispatch: protected
for internal use
Dispatches the given message synchronously.
This method relies on the intDispatch:
method provided by concrete client channel implementations for the actual dispatching.
- (void) dispatch:(id)aMessage
Parameters:
- aMessage: instance of ROMessage that need to be dispatched
initWithTargetUrl: protected deprecated
- (InstanceType) initWithTargetUrl:(NSString *)aTargetUrl
Parameters:
- aTargetUrl:
initWithTargetURL: protected
- (InstanceType) initWithTargetURL:(NSURL *)aTargetURL
Parameters:
- aTargetURL:
performLoginNeeded:forAsyncRequest:
- (void) performLoginNeeded:(ROServerException *)exception forAsyncRequest:(ROAsyncRequest *)request
Parameters:
- exception:
- request:
scheduleAsyncRequest:
- (void) scheduleAsyncRequest:(ROAsyncRequest *)request
Parameters:
- request:
triggerOnLoginNeeded:
- (BOOL) triggerOnLoginNeeded:(ROServerException *)exception
Parameters:
- exception: