gpg::NearbyConnections

#include <nearby_connections.h>

同じローカル ネットワーク上のアプリ間の接続と通信を行うための API。

概要

コンストラクタとデストラクタ

NearbyConnections()
~NearbyConnections()

パブリック関数

AcceptConnectionRequest(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, IMessageListener *listener)
void
接続リクエストを受け入れます。
AcceptConnectionRequest(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, MessageListenerHelper helper)
void
接続リクエストを受け入れます。
Disconnect(const std::string & remote_endpoint_id)
void
指定された ID のリモート エンドポイントから切断します。
RejectConnectionRequest(const std::string & remote_endpoint_id)
void
接続リクエストを拒否します。
SendConnectionRequest(const std::string & name, const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, ConnectionResponseCallback callback, IMessageListener *listener)
void
リモート エンドポイントとの接続を確立をリクエストします。
SendConnectionRequest(const std::string & name, const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, ConnectionResponseCallback callback, MessageListenerHelper helper)
void
リモート エンドポイントへの接続をリクエストします。
SendReliableMessage(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
指定された ID で、信頼性の高いメッセージをリモート エンドポイントに送信します。
SendReliableMessage(const std::vector< std::string > & remote_endpoint_ids, const std::vector< uint8_t > & payload)
void
指定された ID で信頼性の高いメッセージをリモート エンドポイントに送信します。
SendUnreliableMessage(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
指定された ID を持つリモート エンドポイントに信頼性の低いメッセージを送信します。
SendUnreliableMessage(const std::vector< std::string > & remote_endpoint_ids, const std::vector< uint8_t > & payload)
void
指定された ID を持つリモート エンドポイントに信頼できないメッセージを送信します。
StartAdvertising(const std::string & name, const std::vector< AppIdentifier > & app_identifiers, Duration duration, StartAdvertisingCallback start_advertising_callback, ConnectionRequestCallback request_callback)
void
ローカルアプリのエンドポイントのアドバタイズを開始します。
StartDiscovery(const std::string & service_id, Duration duration, IEndpointDiscoveryListener *listener)
void
指定されたサービス ID を持つリモート エンドポイントを見つけ、アプリがエンドポイントを見つけて失うたびにリスナーを繰り返し呼び出します。
StartDiscovery(const std::string & service_id, Duration duration, EndpointDiscoveryListenerHelper helper)
void
指定されたサービス ID を持つリモート エンドポイントを検索します。
Stop()
void
すべてのリモート・エンドポイントからの切断発生する広告や発見が停止されます。
StopAdvertising()
void
ローカル エンドポイントのアドバタイズを停止します。
StopDiscovery(const std::string & service_id)
void
以前に指定されたサービス ID のリモート エンドポイントの検出を停止します。

クラス

gpg::NearbyConnections::Builder

NearbyConnections オブジェクトの作成に使用する Builder クラス。

パブリック関数

AcceptConnectionRequest

void AcceptConnectionRequest(
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload,
  IMessageListener *listener
)

接続リクエストを受け入れます。

その後、アプリは指定されたエンドポイントとの間でメッセージを送受信できます。アプリは他のエンドポイントから接続解除されるまで、listener を使用してこの状態を維持できます。remote_endpoint_id は、接続をリクエストしたリモート エンドポイントの ID と一致する必要があります。ConnectionRequestCallback がその ID を提供します。payload は、接続レスポンスとともに送信するメッセージを保持できます。listener には、この接続のイベントの通知を受け取るリスナーを指定します。

AcceptConnectionRequest

void AcceptConnectionRequest(
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload,
  MessageListenerHelper helper
)

接続リクエストを受け入れます。

この関数は、IMessageListener ではなく MessageListenerHelper を使用する点で AcceptConnectionRequest とのみ異なります。

接続解除

void Disconnect(
  const std::string & remote_endpoint_id
)

指定された ID のリモート エンドポイントから切断します。

NearbyConnections

 NearbyConnections()

RejectConnectionRequest

void RejectConnectionRequest(
  const std::string & remote_endpoint_id
)

接続リクエストを拒否します。

remote_endpoint_id は、接続をリクエストしたリモート エンドポイントの ID と一致する必要があります。ConnectionRequestCallback がその ID を提供します。

SendConnectionRequest

void SendConnectionRequest(
  const std::string & name,
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload,
  ConnectionResponseCallback callback,
  IMessageListener *listener
)

リモート エンドポイントとの接続を確立をリクエストします。

name は、アプリがこのエンドポイントを識別するために他のデバイスのユーザーに表示する名前です。空の文字列を指定すると、デバイス名が使用されます。remote_endpoint_id は、このアプリが接続リクエストを送信するリモート エンドポイントの ID です。payload では、接続リクエストと一緒に送信するカスタム メッセージを保持できます。または、ペイロードの代わりに、空のバイトベクトルをアプリで渡すことができます。この関数は、リクエストに応じて、指定されたコールバックを呼び出します。オペレーションが成功すると、「Connection Accepted」というメッセージが表示されます。または「接続が拒否されました」レスポンスが返されます。それ以外の場合は、失敗メッセージが生成されます。接続が承認された場合、アプリはリモート エンドポイントにメッセージを送信できます。アプリは、メッセージを受け取ったとき、またはリモート エンドポイントから切断されたときに、指定されたリスナーを呼び出します。

SendConnectionRequest

void SendConnectionRequest(
  const std::string & name,
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload,
  ConnectionResponseCallback callback,
  MessageListenerHelper helper
)

リモート エンドポイントへの接続をリクエストします。

SendConnectionRequest との相違点は、IMessageListener ではなく MessageListenerHelper を使用する点です。

SendReliableMessage

void SendReliableMessage(
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload
)

指定された ID で、信頼性の高いメッセージをリモート エンドポイントに送信します。

SendReliableMessage

void SendReliableMessage(
  const std::vector< std::string > & remote_endpoint_ids,
  const std::vector< uint8_t > & payload
)

指定された ID で信頼性の高いメッセージをリモート エンドポイントに送信します。

SendUnreliableMessage

void SendUnreliableMessage(
  const std::string & remote_endpoint_id,
  const std::vector< uint8_t > & payload
)

指定された ID を持つリモート エンドポイントに信頼性の低いメッセージを送信します。

SendUnreliableMessage

void SendUnreliableMessage(
  const std::vector< std::string > & remote_endpoint_ids,
  const std::vector< uint8_t > & payload
)

指定された ID を持つリモート エンドポイントに信頼できないメッセージを送信します。

StartAdvertising

void StartAdvertising(
  const std::string & name,
  const std::vector< AppIdentifier > & app_identifiers,
  Duration duration,
  StartAdvertisingCallback start_advertising_callback,
  ConnectionRequestCallback request_callback
)

ローカルアプリのエンドポイントのアドバタイズを開始します。

name は、エンドポイントを識別するためにアプリがユーザーに表示する名前です。空の文字列を指定すると、デバイス名が使用されます。指定すると、app_identifiers はさまざまなプラットフォームでこのアプリをインストールまたは起動する方法を指定します。duration は、広告の実行時間(ミリ秒単位)を指定します。ただし、時間が経過する前にアプリが StopAdvertising() または Stop() を呼び出す場合を除きます。duration の値が gpg::Duration::zero() と等しい場合は、アプリが StopAdvertising() を呼び出すまでアドバタイジングが無期限に継続されます。この関数は、アドバタイジングの開始時または失敗時に start_advertising_callback を呼び出します。このコールバックは、成功した場合はエンドポイント情報を受け取り、失敗した場合はエラーコードを受け取ります。この関数は、リモート エンドポイントがアプリのエンドポイントとの接続をリクエストすると、request_callback を呼び出します。この関数は、アプリが StopAdvertising を呼び出すか、この期間が経過するまで、このエンドポイントの存在をアドバタイズし続けます。アドバタイズされているエンドポイントがすでにある場合、この呼び出しは失敗します。

StartDiscovery

void StartDiscovery(
  const std::string & service_id,
  Duration duration,
  IEndpointDiscoveryListener *listener
)

指定されたサービス ID を持つリモート エンドポイントを見つけ、アプリがエンドポイントを見つけて失うたびにリスナーを繰り返し呼び出します。

アプリが指定されたサービス ID で StopDiscovery を呼び出すまで、この操作を続行します。service_id は、StartAdvertising で広告を配信するときにアプリが指定する値と一致する必要があります。duration は、検出を実行する最大時間(ミリ秒単位)を指定します(アプリが StopDiscovery() を呼び出すと、検出の実行が早く停止する場合があります)。Duration の値が gpg::Duration::zero() の場合、アプリが StopDiscovery() または Stop() を呼び出すまで、検出が無期限に継続されます。指定されたサービス ID のエンドポイントを見つけるためのリスナーがすでに登録されている場合、この呼び出しは失敗します。

StartDiscovery

void StartDiscovery(
  const std::string & service_id,
  Duration duration,
  EndpointDiscoveryListenerHelper helper
)

指定されたサービス ID を持つリモート エンドポイントを検索します。

この関数は StartDiscovery と異なり、IEndpointDiscoveryListener ではなく EndpointDiscoveryListenerHelper を使用します。

停止

void Stop()

すべてのリモート・エンドポイントからの切断発生する広告や発見が停止されます。

内部状態を消去します。

StopAdvertising

void StopAdvertising()

ローカル エンドポイントのアドバタイズを停止します。

この操作を行っても、既存の接続が切断されることはありません。

StopDiscovery

void StopDiscovery(
  const std::string & service_id
)

以前に指定されたサービス ID のリモート エンドポイントの検出を停止します。

~NearbyConnections

 ~NearbyConnections()