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」または「Connection Rejected」のレスポンスが生成されます。一致しなかった場合は、失敗メッセージが生成されます。接続が承認された場合、アプリはリモート エンドポイントにメッセージを送信できます。また、アプリは、リモート エンドポイントからのメッセージの受信時や切断時に、指定されたリスナーを呼び出します。

SendConnectionRequest

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

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

IMessageListener ではなく MessageListenerHelper を使用するという点のみが SendConnectionRequest と異なります。

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 を持つリモート エンドポイントを検索します。

この関数は、IEndpointDiscoveryListener ではなく EndpointDiscoveryListenerHelper を使用するという点のみが StartDiscovery と異なります。

停止

void Stop()

すべてのリモート エンドポイントとの接続を切断し、進行中の広告掲載や検出を停止します。

内部状態を消去します。

StopAdvertising

void StopAdvertising()

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

これにより、既存の接続が破棄されることはありません。

StopDiscovery

void StopDiscovery(
  const std::string & service_id
)

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

~NearbyConnections

 ~NearbyConnections()