Класс GCKDeviceProvider

Справочник по классу GCKDeviceProvider

Обзор

Абстрактный базовый класс для обнаружения устройств и создания сеансов.

Поддержка дополнительных типов устройств может быть добавлена ​​путем расширения этого класса. См. категорию GCKDeviceProvider(Protected) для списка вспомогательных методов, предназначенных для использования подклассами. Новые поставщики устройств регистрируются в платформе с помощью registerDeviceProvider: (GCKCastContext) .

С
3.0

Наследует NSObject.

Резюме метода экземпляра

(instancetype) - initWithDeviceCategory:
Назначенный инициализатор. Более...
(void) - startDiscovery
Запускает новое сканирование обнаружения. Более...
(void) - stopDiscovery
Останавливает сканирование обнаружения. Более...
( GCKSession *) - createSessionForDevice:sessionID:
Создает новый сеанс для данного устройства и, возможно, идентификатор существующего сеанса. Более...
(void) - notifyDidStartDiscovery
Уведомляет диспетчера обнаружения о начале обнаружения. Более...
(void) - notifyDidPublishDevice:
Уведомляет диспетчера обнаружения о публикации нового устройства. Более...
(void) - notifyDidUnpublishDevice:
Уведомляет диспетчера обнаружения о том, что ранее опубликованное устройство было отменено, так как оно больше недоступно. Более...
(void) - notifyDidUpdateDevice:
Уведомляет диспетчера обнаружения об изменении одного или нескольких атрибутов отображения ранее опубликованного устройства (таких как понятное имя или значки). Более...
( GCKDevice *) - createDeviceWithID:ipAddress:servicePort:
Фабричный метод для создания новых экземпляров GCKDevice . Более...

Сводка свойств

NSString *  deviceCategory
Строка, однозначно идентифицирующая тип устройства, которое будет обнаружено этим провайдером. Более...
BOOL  passiveScan
Должна ли проверка быть пассивной. Более...
NSArray< GCKDevice * > *  devices
Массив обнаруженных устройств. Более...

Сведения о методе

- (instancetype) initWithDeviceCategory: (NSString *)  deviceCategory

Назначенный инициализатор.

Создает новый GCKDeviceProvider для устройств указанного типа.

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

Запускает новое сканирование обнаружения.

Это (обычно) асинхронная операция. Если какое-либо из устройств, обнаруженных при предыдущем сканировании, больше недействительно, провайдер должен немедленно отменить их публикацию. Должен быть переопределен подклассами.

Поставщик должен уведомить диспетчер обнаружения после запуска сканирования (и отмены публикации любых устаревших устройств), вызвав notifyDidStartDiscovery (GCKDeviceProvider(Protected)) . Если конкретная реализация этого метода не выполняет асинхронную работу при запуске сканирования, она может вызвать метод уведомления непосредственно перед возвратом.

- (void) stopDiscovery

Останавливает сканирование обнаружения.

Должен быть переопределен подклассами.

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

Создает новый сеанс для данного устройства и, возможно, идентификатор существующего сеанса.

Должен быть переопределен подклассами.

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

Уведомляет диспетчера обнаружения о начале обнаружения.

Предоставляется категорией GCKDeviceProvider(Protected) .

- (void) notifyDidPublishDevice: ( GCKDevice *)  device

Уведомляет диспетчера обнаружения о публикации нового устройства.

Предоставляется категорией GCKDeviceProvider(Protected) .

- (void) notifyDidUnpublishDevice: ( GCKDevice *)  device

Уведомляет диспетчера обнаружения о том, что ранее опубликованное устройство было отменено, так как оно больше недоступно.

Предоставляется категорией GCKDeviceProvider(Protected) .

- (void) notifyDidUpdateDevice: ( GCKDevice *)  device

Уведомляет диспетчера обнаружения об изменении одного или нескольких атрибутов отображения ранее опубликованного устройства (таких как понятное имя или значки).

Предоставляется категорией GCKDeviceProvider(Protected) .

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

Фабричный метод для создания новых экземпляров GCKDevice .

Параметры соответствуют неизменяемым свойствам 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.

Предоставляется категорией GCKDeviceProvider(Protected) .

Сведения о собственности

- (NSString*) deviceCategory
read nonatomic copy

Строка, однозначно идентифицирующая тип устройства, которое будет обнаружено этим провайдером.

- (BOOL) passiveScan
read write nonatomic assign

Должна ли проверка быть пассивной.

При пассивном сканировании запросы на обнаружение отправляются реже, поэтому оно более эффективно, но результаты будут не такими свежими. Уместно выполнять пассивное сканирование, когда пользователь активно не выбирает цель Cast. Не все реализации будут учитывать это свойство.

- (NSArray< GCKDevice *>*) devices
read nonatomic copy

Массив обнаруженных устройств.