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

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