GCKCastChannel Class

GCKCastChannel Class Reference

Overview

A virtual communication channel for exchanging messages between a Cast sender and a Cast receiver.

Each channel is tagged with a unique namespace, so multiple channels may be multiplexed over a single network connection between a sender and a receiver.

A channel must be registered with a GCKCastSession before it can be used. When the associated session is established, the channel will be connected automatically and can then send and receive messages.

Subclasses should implement the didReceiveTextMessage: (GCKCastChannel) method to process incoming messages, and will typically provide additional methods for sending messages that are specific to a given namespace.

Inherits NSObject.

Inherited by GCKGenericChannel.

Instance Method Summary

(instancetype) - initWithNamespace:
 Designated initializer. More...
 
(instancetype) - init
 Default initializer is not available. More...
 
(void) - didReceiveTextMessage:
 Called when a text message has been received on this channel. More...
 
(BOOL) - sendTextMessage:error:
 Sends a text message on this channel. More...
 
(NSInteger) - generateRequestID
 Generates a request ID for a new message. More...
 
(nullable NSNumber *) - generateRequestNumber
 A convenience method which wraps the result of generateRequestID in an NSNumber. More...
 
(void) - didConnect
 Called when this channel has been connected, indicating that messages can now be exchanged with the Cast device over this channel. More...
 
(void) - didDisconnect
 Called when this channel has been disconnected, indicating that messages can no longer be exchanged with the Cast device over this channel. More...
 
(void) - didChangeWritableState:
 Called when the writable state of this channel has changed. More...
 

Property Summary

NSString * protocolNamespace
 The channel's namespace. More...
 
BOOL isConnected
 A flag indicating whether this channel is currently connected. More...
 
BOOL isWritable
 A flag indicating whether this channel is currently writable. More...
 

Method Detail

- (instancetype) initWithNamespace: (NSString *)  protocolNamespace

Designated initializer.

Constructs a new GCKCastChannel with the given namespace.

Parameters
protocolNamespaceThe namespace.

Implemented in GCKGenericChannel.

- (instancetype) init

Default initializer is not available.

- (void) didReceiveTextMessage: (NSString *)  message

Called when a text message has been received on this channel.

The default implementation is a no-op.

Parameters
messageThe message.
- (BOOL) sendTextMessage: (NSString *)  message
error: (GCKError *_Nullable *_Nullable)  error 

Sends a text message on this channel.

Parameters
messageThe message.
errorA pointer at which to store the error result. May be nil.
Returns
YES on success or NO if the message could not be sent.
- (NSInteger) generateRequestID

Generates a request ID for a new message.

Returns
The generated ID, or kGCKInvalidRequestID if the channel is not currently connected.
- (nullable NSNumber *) generateRequestNumber

A convenience method which wraps the result of generateRequestID in an NSNumber.

Returns
The generated ID, or nil if the channel is not currently connected.
- (void) didConnect

Called when this channel has been connected, indicating that messages can now be exchanged with the Cast device over this channel.

The default implementation is a no-op.

- (void) didDisconnect

Called when this channel has been disconnected, indicating that messages can no longer be exchanged with the Cast device over this channel.

The default implementation is a no-op.

- (void) didChangeWritableState: (BOOL)  isWritable

Called when the writable state of this channel has changed.

The default implementation is a no-op.

Parameters
isWritableWhether the channel is now writable.
Since
4.0

Property Detail

- (NSString*) protocolNamespace
readnonatomiccopy

The channel's namespace.

- (BOOL) isConnected
readnonatomicassign

A flag indicating whether this channel is currently connected.

- (BOOL) isWritable
readnonatomicassign

A flag indicating whether this channel is currently writable.

Since
4.0