GCKDeviceProvider 类

GCKDeviceProvider 类参考文档

概览

用于执行设备发现和会话构造的抽象基类。

您可以通过扩展此类来支持更多设备类型。如需查看旨在供子类使用的辅助方法列表,请参阅 GCKDeviceProvider(Protected) 类别。新设备提供商使用 registerDeviceProvider: (GCKCastContext) 在框架中注册。

辛塞
3.0

此类继承 NSObject。

实例方法摘要

(instancetype) - initWithDeviceCategory:
 指定的初始化程序。更多...
 
(void) - startDiscovery
 启动新的发现扫描。更多...
 
(void) - stopDiscovery
 停止发现扫描。更多...
 
(GCKSession *) - createSessionForDevice:sessionID:
 为给定设备构建新会话,并且可以选择构建现有的会话 ID。更多...
 
(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 

为给定设备构建新会话,并且可以选择构建现有的会话 ID。

必须替换为子类。

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
readnonatomiccopy

该字符串用于唯一标识将由此提供方发现的设备类型。

- (BOOL) passiveScan
readwritenonatomicassign

扫描是否应该是被动扫描。

被动扫描发送发现查询的频率较低,因此效率更高,但结果不会那么新。在用户未主动选择投放目标时执行被动扫描比较合适。并非所有实现都会遵循此属性。

- (NSArray<GCKDevice *>*) devices
readnonatomiccopy

发现的设备数组。