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 GCKGameManagerChannel, GCKGenericChannel, and GCKMediaControlChannel.
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: |
Sends a text message 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... | |
(NSNumber *__nullable) | - 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... | |
Property Summary | |
NSString * | protocolNamespace |
The channel's namespace. More... | |
BOOL | isConnected |
A flag indicating whether this channel is currently connected. More... | |
GCKDeviceManager * | deviceManager |
The device manager with which this channel is registered, if any. More... | |
Method Detail
- (instancetype) initWithNamespace: | (NSString *) | protocolNamespace |
Designated initializer.
Constructs a new GCKCastChannel with the given namespace.
- Parameters
-
protocolNamespace The namespace.
Implemented in GCKGenericChannel.
- (instancetype) init |
Default initializer is not available.
Implemented in GCKMediaControlChannel, and GCKGameManagerChannel.
- (void) didReceiveTextMessage: | (NSString *) | message |
Called when a text message has been received on this channel.
The default implementation is a no-op.
- Parameters
-
message The message.
- (BOOL) sendTextMessage: | (NSString *) | message |
Sends a text message on this channel.
- Parameters
-
message The message.
- Returns
YES
on success orNO
if the message could not be sent (because the channel is not connected, or because the send buffer is too full at the moment).
- Deprecated:
- Use sendTextMessage:error: which provides detailed error information.
- (BOOL) sendTextMessage: | (NSString *) | message | |
error: | (GCKError *__nullable *__nullable) | error | |
Sends a text message on this channel.
- Parameters
-
message The message. error A pointer at which to store the error result. May be nil
.
- Returns
YES
on success orNO
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.
- (NSNumber * __nullable) 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.
Property Detail
|
readnonatomiccopy |
The channel's namespace.
|
readnonatomicassign |
A flag indicating whether this channel is currently connected.
|
readnonatomicweak |
The device manager with which this channel is registered, if any.
- Deprecated:
- If this channel was not registered with the deprecated GCKDeviceManager class, this will be
nil
.