概要
デバイスの検出とセッションの構築を行うための抽象基本クラス。
このクラスを拡張することで、追加のデバイスタイプをサポートできます。サブクラスで使用することを目的としたヘルパー メソッドの一覧については、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
-
deviceCategory A 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
-
device The device to connect to. sessionID The 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
-
deviceID The unique ID identifying this device. This value must be unique among all GCKDevice objects that are created by this provider. ipAddress The IP address of the device, in numeric form (for example, @"10.0.0.10"
). May not benil
.servicePort The service port on which connections should be made to this device. May be 0 if a service port is not applicable.
カテゴリ GCKDeviceProvider(Protected) で提供されます。
プロパティの詳細
|
readnonatomiccopy |
このプロバイダによって検出されるデバイスのタイプを一意に識別する文字列。
|
readwritenonatomicassign |
スキャンをパッシブ スキャンにするかどうか。
パッシブ スキャンでは検出クエリの送信頻度が低いため、効率は高くなりますが、結果の鮮度は低くなります。ユーザーがキャスト ターゲットをアクティブに選択していない場合は、パッシブ スキャンを行うのが適切です。すべての実装でこのプロパティが尊重されるわけではありません。
|
readnonatomiccopy |
検出されたデバイスの配列。