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

發現的裝置陣列。