Classe GCKDeviceProvider

GCKDeviceProvider Class Reference

Panoramica

Una classe base astratta per eseguire l'individuazione dei dispositivi e la creazione delle sessioni.

Il supporto per altri tipi di dispositivi può essere aggiunto estendendo questa classe. Consulta la categoria GCKDeviceProvider(Protected) per un elenco di metodi helper destinati all'uso da parte delle sottoclassi. I nuovi fornitori di dispositivi vengono registrati con il framework utilizzando registerDeviceProvider: (GCKCastContext).

Dal
3.0

Eredita NSObject.

Riepilogo del metodo dell'istanza

(instancetype) - initWithDeviceCategory:
 Inizializzatore designato. Altro…
 
(void) - startDiscovery
 Avvia una nuova scansione di rilevamento. Altro…
 
(void) - stopDiscovery
 Interrompe la scansione di rilevamento. Altro…
 
(GCKSession *) - createSessionForDevice:sessionID:
 Crea una nuova sessione per il dispositivo specificato e, facoltativamente, un ID sessione esistente. Altro…
 
(void) - notifyDidStartDiscovery
 Notifica al gestore della scoperta che la scoperta è iniziata. Altro…
 
(void) - notifyDidPublishDevice:
 Notifica al gestore delle scoperte che è stato pubblicato un nuovo dispositivo. Altro…
 
(void) - notifyDidUnpublishDevice:
 Notifica al gestore della scoperta che un dispositivo pubblicato in precedenza è stato annullato perché non è più disponibile. Altro…
 
(void) - notifyDidUpdateDevice:
 Notifica al gestore della scoperta che uno o più attributi di visualizzazione (ad esempio nome intuitivo o icone) di un dispositivo pubblicato in precedenza sono stati modificati. Altro…
 
(GCKDevice *) - createDeviceWithID:ipAddress:servicePort:
 Metodo di fabbrica per la creazione di nuove istanze GCKDevice. Altro…
 

Riepilogo della proprietà

NSString * deviceCategory
 Una stringa che identifica in modo univoco il tipo di dispositivo che verrà rilevato da questo fornitore. Altro…
 
BOOL passiveScan
 Indica se la scansione deve essere passiva. Altro…
 
NSArray< GCKDevice * > * devices
 L'array di dispositivi rilevati. Altro…
 

Dettagli metodo

- (instancetype) initWithDeviceCategory: (NSString *)  deviceCategory

Inizializzatore designato.

Crea un nuovo GCKDeviceProvider per i dispositivi del tipo specificato.

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

Avvia una nuova scansione di rilevamento.

Si tratta (comunemente) di un'operazione asincrona. Se uno dei dispositivi rilevati dalla scansione precedente non è più valido, il fornitore deve annullarne la pubblicazione. Deve essere sostituito dalle sottoclassi.

Il fornitore deve comunicare al gestore del rilevamento l'avvio della scansione (e l'annullamento della pubblicazione di eventuali dispositivi obsoleti) chiamando notifyDidStartDiscovery (GCKDeviceProvider(Protected)). Se una particolare implementazione di questo metodo non deve eseguire operazioni asincrone all'avvio di una scansione, può chiamare direttamente il metodo di notifica prima di restituire il controllo.

- (void) stopDiscovery

Interrompe la scansione di rilevamento.

Deve essere sostituito dalle sottoclassi.

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

Crea una nuova sessione per il dispositivo specificato e, facoltativamente, un ID sessione esistente.

Deve essere sostituito dalle sottoclassi.

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

Notifica al gestore della scoperta che la scoperta è iniziata.

Fornito dalla categoria GCKDeviceProvider(Protected).

- (void) notifyDidPublishDevice: (GCKDevice *)  device

Notifica al gestore delle scoperte che è stato pubblicato un nuovo dispositivo.

Fornito dalla categoria GCKDeviceProvider(Protected).

- (void) notifyDidUnpublishDevice: (GCKDevice *)  device

Notifica al gestore della scoperta che un dispositivo pubblicato in precedenza è stato annullato perché non è più disponibile.

Fornito dalla categoria GCKDeviceProvider(Protected).

- (void) notifyDidUpdateDevice: (GCKDevice *)  device

Notifica al gestore della scoperta che uno o più attributi di visualizzazione (ad esempio nome intuitivo o icone) di un dispositivo pubblicato in precedenza sono stati modificati.

Fornito dalla categoria GCKDeviceProvider(Protected).

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

Metodo di fabbrica per la creazione di nuove istanze GCKDevice.

I parametri corrispondono a proprietà immutabili di un 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.

Fornito dalla categoria GCKDeviceProvider(Protected).

Dettaglio proprietà

- (NSString*) deviceCategory
readnonatomiccopy

Una stringa che identifica in modo univoco il tipo di dispositivo che verrà rilevato da questo fornitore.

- (BOOL) passiveScan
readwritenonatomicassign

Indica se la scansione deve essere passiva.

Una scansione passiva invia query di rilevamento con minore frequenza, quindi è più efficiente, ma i risultati non saranno aggiornati. È opportuno eseguire una scansione passiva quando l'utente non seleziona attivamente una destinazione di trasmissione. Non tutte le implementazioni rispettano questa proprietà.

- (NSArray<GCKDevice *>*) devices
readnonatomiccopy

L'array di dispositivi rilevati.