Класс GCKDeviceProvider

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

Обзор

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

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

С
3.0

Наследует NSObject.

Сводка метода экземпляра

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

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

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

Parameters
deviceThe device to connect to.
sessionIDThe ID of the session to resume; or nil to start a new session.
sessionOptionsThe session options, if any; otherwise nil .
С
4.0
- ( GCKSession *) createSessionForDevice: ( GCKDevice *)  device
sessionID: (nullable NSString *)  sessionID  

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

Parameters
deviceThe device to connect to.
sessionIDThe ID of the session to resume; or nil to start a new session.
Deprecated:
Вместо этого подклассы должны вызывать createSessionForDevice:sessionID:sessionOptions.
- (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  
Deprecated:
Используйте createDeviceWithID:networkAddress:servicePort: для поддержки IPv4 и IPv6.

Фабричный метод для создания новых экземпляров 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 . Supports IPv4 only.
servicePortThe service port on which connections should be made to this device. May be 0 if a service port is not applicable.

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

- ( GCKDevice *) createDeviceWithID: (NSString *)  deviceID
networkAddress: ( GCKNetworkAddress *)  networkAddress
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.
networkAddressThe IP address of the device, either IPv4 or IPv6
servicePortThe service port on which connections should be made to this device. May be 0 if a service port is not applicable.
С
4.2

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

Детали недвижимости

- (NSString*) deviceCategory
read nonatomic copy

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

- (BOOL) passiveScan
read write nonatomic assign

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

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

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

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