Clase GCKDeviceProvider

Referencia de la clase GCKDeviceProvider

Descripción general

Es una clase base abstracta para realizar el descubrimiento de dispositivos y la construcción de sesiones.

Se puede agregar compatibilidad con tipos de dispositivos adicionales extendiendo esta clase. Consulta la categoría GCKDeviceProvider(Protected) para obtener una lista de métodos de ayuda diseñados para que los usen las subclases. Los nuevos proveedores de dispositivos se registran en el framework con registerDeviceProvider: (GCKCastContext).

Desde
3.0

Hereda de NSObject.

Resumen de métodos de instancia

(instancetype) - initWithDeviceCategory:
 Es el inicializador designado. Más…
 
(void) - startDiscovery
 Inicia un nuevo análisis de descubrimiento. Más…
 
(void) - stopDiscovery
 Detiene el análisis de descubrimiento. Más…
 
(GCKSession *) - createSessionForDevice:sessionID:
 Crea una sesión nueva para el dispositivo determinado y, de manera opcional, un ID de sesión existente. Más…
 
(void) - notifyDidStartDiscovery
 Notifica al administrador de descubrimiento que se inició el descubrimiento. Más…
 
(void) - notifyDidPublishDevice:
 Notifica al administrador de detección que se publicó un dispositivo nuevo. Más…
 
(void) - notifyDidUnpublishDevice:
 Notifica al administrador de descubrimiento que se ha anulado la publicación de un dispositivo publicado anteriormente porque ya no está disponible. Más…
 
(void) - notifyDidUpdateDevice:
 Notifica al administrador de detección que cambiaron uno o más atributos de visualización (como el nombre descriptivo o los íconos) de un dispositivo publicado anteriormente. Más…
 
(GCKDevice *) - createDeviceWithID:ipAddress:servicePort:
 Es un método de fábrica para construir instancias de GCKDevice nuevas. Más…
 

Resumen de la propiedad

NSString * deviceCategory
 Es una cadena que identifica de forma única el tipo de dispositivo que descubrirá este proveedor. Más…
 
BOOL passiveScan
 Indica si el análisis debe ser pasivo. Más…
 
NSArray< GCKDevice * > * devices
 Es el array de dispositivos descubiertos. Más…
 

Detalle del método

- (instancetype) initWithDeviceCategory: (NSString *)  deviceCategory

Es el inicializador designado.

Crea un nuevo GCKDeviceProvider para dispositivos del tipo especificado.

Parameters
deviceCategoryA string that uniquely identifies the type of device that is managed by by this provider.
- (void) startDiscovery

Inicia un nuevo análisis de descubrimiento.

Esta es (comúnmente) una operación asíncrona. Si alguno de los dispositivos que se descubrieron en la exploración anterior ya no es válido, el proveedor debe dejar de publicarlo en este momento. Las subclases deben anular este método.

El proveedor debe notificar al administrador de detección una vez que se haya iniciado el análisis (y se hayan anulado las publicaciones de los dispositivos inactivos) llamando a notifyDidStartDiscovery (GCKDeviceProvider(Protected)). Si una implementación particular de este método no tiene trabajo asíncrono que hacer cuando se inicia un análisis, puede llamar al método de notificación directamente antes de regresar.

- (void) stopDiscovery

Detiene el análisis de descubrimiento.

Las subclases deben anular este método.

- (GCKSession *) createSessionForDevice: (GCKDevice *)  device
sessionID: (NSString *__nullable)  sessionID 

Crea una sesión nueva para el dispositivo determinado y, de manera opcional, un ID de sesión existente.

Las subclases deben anular este método.

Parameters
deviceThe device to connect to.
sessionIDThe ID of the session to resume; or nil to start a new session.
- (void) notifyDidStartDiscovery

Notifica al administrador de descubrimiento que se inició el descubrimiento.

Proporcionado por la categoría GCKDeviceProvider(Protected).

- (void) notifyDidPublishDevice: (GCKDevice *)  device

Notifica al administrador de detección que se publicó un dispositivo nuevo.

Proporcionado por la categoría GCKDeviceProvider(Protected).

- (void) notifyDidUnpublishDevice: (GCKDevice *)  device

Notifica al administrador de descubrimiento que se ha anulado la publicación de un dispositivo publicado anteriormente porque ya no está disponible.

Proporcionado por la categoría GCKDeviceProvider(Protected).

- (void) notifyDidUpdateDevice: (GCKDevice *)  device

Notifica al administrador de detección que cambiaron uno o más atributos de visualización (como el nombre descriptivo o los íconos) de un dispositivo publicado anteriormente.

Proporcionado por la categoría GCKDeviceProvider(Protected).

- (GCKDevice *) createDeviceWithID: (NSString *)  deviceID
ipAddress: (NSString *)  ipAddress
servicePort: (uint16_t)  servicePort 

Es un método de fábrica para construir instancias de GCKDevice nuevas.

Los parámetros corresponden a propiedades inmutables de un objeto GCKDevice.

Parameters
deviceIDThe unique ID identifying this device. This value must be unique among all GCKDevice objects that are created by this provider.
ipAddressThe IP address of the device, in numeric form (for example, @"10.0.0.10"). May not be nil.
servicePortThe service port on which connections should be made to this device. May be 0 if a service port is not applicable.

Proporcionado por la categoría GCKDeviceProvider(Protected).

Detalles de la propiedad

- (NSString*) deviceCategory
readnonatomiccopy

Es una cadena que identifica de forma única el tipo de dispositivo que descubrirá este proveedor.

- (BOOL) passiveScan
readwritenonatomicassign

Indica si el análisis debe ser pasivo.

Un análisis pasivo envía consultas de descubrimiento con menor frecuencia, por lo que es más eficiente, pero los resultados no serán tan recientes. Es adecuado realizar un análisis pasivo cuando el usuario no selecciona de forma activa un dispositivo de destino de Cast. No todas las implementaciones respetarán esta propiedad.

- (NSArray<GCKDevice *>*) devices
readnonatomiccopy

Es el array de dispositivos descubiertos.