ConnectableDeviceDelegate¶
ConnectableDeviceDelegate allows for a class to receive messages about ConnectableDevice connection, disconnect, and update events.
It also serves as a delegate proxy for message handling when connecting and pairing with each of a ConnectableDevice’s DeviceServices. Each of the DeviceService proxy methods are optional and would only be useful in a few use cases.
- providing your own UI for the pairing process.
- interacting directly and exclusively with a single type of
- DeviceService
Methods¶
- - (void) connectableDeviceReady:(ConnectableDevice *)device
A ConnectableDevice sends out a ready message when all of its connectable DeviceServices have been connected and are ready to receive commands.
Parameters:
- device – ConnectableDevice that is ready for commands.
- - (void) connectableDeviceDisconnected:(ConnectableDevice *)device withError:(NSError *)error
When all of a ConnectableDevice’s DeviceServices have become disconnected, the disconnected message is sent.
Parameters:
- device – ConnectableDevice that has been disconnected.
- withError: error
- - (void) connectableDevice:(ConnectableDevice *)device capabilitiesAdded:(NSArray *)added removed:(NSArray *)removed
When a ConnectableDevice finds & loses DeviceServices, that ConnectableDevice will experience a change in its collective capabilities list. When such a change occurs, this message will be sent with arrays of capabilities that were added & removed.
This message will allow you to decide when to stop/start interacting with a ConnectableDevice, based off of its supported capabilities.
Parameters:
- device – ConnectableDevice that has experienced a change in capabilities
- capabilitiesAdded: added – NSArray of capabilities that are new to the ConnectableDevice
- removed: removed – NSArray of capabilities that the ConnectableDevice has lost
- - (void) connectableDevice:(ConnectableDevice *)device connectionFailedWithError:(NSError *)error
This method is called when the connection to the ConnectableDevice has failed.
Parameters:
- device – ConnectableDevice that has failed to connect
- connectionFailedWithError: error – NSError with a description of the failure
- - (void) connectableDeviceConnectionRequired:(ConnectableDevice *)device forService:(DeviceService *)service
DeviceService delegate proxy method.
This method is called when a DeviceService requires an active connection. This will be the case for DeviceServices that send messages over websockets (webOS, etc) and DeviceServices that require pairing to send messages (Netcast, etc).
Parameters:
- device – ConnectableDevice containing the DeviceService
- forService: service – DeviceService which requires a connection
- - (void) connectableDeviceConnectionSuccess:(ConnectableDevice *)device forService:(DeviceService *)service
DeviceService delegate proxy method.
This method is called when a DeviceService has successfully connected.
Parameters:
- device – ConnectableDevice containing the DeviceService
- forService: service – DeviceService which has connected
- - (void) connectableDevice:(ConnectableDevice *)device service:(DeviceService *)service disconnectedWithError:(NSError *)error
DeviceService delegate proxy method.
This method is called when a DeviceService becomes disconnected.
Parameters:
- device – ConnectableDevice containing the DeviceService
- service: service – DeviceService which has disconnected
- disconnectedWithError: error – NSError with a description of any errors causing the disconnect. If this value is nil, then the disconnect was clean/expected.
- - (void) connectableDevice:(ConnectableDevice *)device service:(DeviceService *)service didFailConnectWithError:(NSError *)error
DeviceService delegate proxy method.
This method is called when a DeviceService fails to connect.
Parameters:
- device – ConnectableDevice containing the DeviceService
- service: service – DeviceService which has failed to connect
- didFailConnectWithError: error – NSError with a description of the failure
- - (void) connectableDevice:(ConnectableDevice *)device service:(DeviceService *)service pairingRequiredOfType:(int)pairingType withData:(id)pairingData
DeviceService delegate proxy method.
This method is called when a DeviceService tries to connect and finds out that it requires pairing information from the user.
Parameters:
- device – ConnectableDevice containing the DeviceService
- service: service – DeviceService that requires pairing
- pairingRequiredOfType: pairingType – DeviceServicePairingType that the DeviceService requires
- withData: pairingData – Any data that might be required for the pairing process, will usually be nil
- - (void) connectableDevicePairingSuccess:(ConnectableDevice *)device service:(DeviceService *)service
DeviceService delegate proxy method.
This method is called when a DeviceService completes the pairing process.
Parameters:
- device – ConnectableDevice containing the DeviceService
- service: service – DeviceService that has successfully completed pairing
- - (void) connectableDevice:(ConnectableDevice *)device service:(DeviceService *)service pairingFailedWithError:(NSError *)error
DeviceService delegate proxy method.
This method is called when a DeviceService fails to complete the pairing process.
Parameters:
- device – ConnectableDevice containing the DeviceService
- service: service – DeviceService that has failed to complete pairing
- pairingFailedWithError: error – NSError with a description of the failure