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


 

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. If NO, 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. If NO, 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. If NO, 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. If NO, 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: