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:
 以前に公開されたデバイスの表示属性(フレンドリ名やアイコンなど)が 1 つ以上変更されたことをディスカバリ マネージャーに通知します。詳細...
 
(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

以前に公開されたデバイスの表示属性(フレンドリ名やアイコンなど)が 1 つ以上変更されたことをディスカバリ マネージャーに通知します。

カテゴリ 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

検出されたデバイスの配列。