gpg::NearbyConnections

#include <nearby_connections.h>

Un'API utilizzata per creare connessioni e comunicare tra app sulla stessa rete locale.

Riepilogo

Costruttori e distruttori

NearbyConnections()
~NearbyConnections()

Funzioni pubbliche

AcceptConnectionRequest(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, IMessageListener *listener)
void
Accetta una richiesta di connessione.
AcceptConnectionRequest(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, MessageListenerHelper helper)
void
Accetta una richiesta di connessione.
Disconnect(const std::string & remote_endpoint_id)
void
Si disconnette dall'endpoint remoto con l'ID specificato.
RejectConnectionRequest(const std::string & remote_endpoint_id)
void
Rifiuta una richiesta di connessione.
SendConnectionRequest(const std::string & name, const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, ConnectionResponseCallback callback, IMessageListener *listener)
void
Richiesta di stabilire una connessione con un endpoint remoto.
SendConnectionRequest(const std::string & name, const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload, ConnectionResponseCallback callback, MessageListenerHelper helper)
void
Richiedi una connessione a un endpoint remoto.
SendReliableMessage(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
Invia un messaggio affidabile all'endpoint remoto con l'ID specificato.
SendReliableMessage(const std::vector< std::string > & remote_endpoint_ids, const std::vector< uint8_t > & payload)
void
Invia un messaggio affidabile agli endpoint remoti con gli ID specificati.
SendUnreliableMessage(const std::string & remote_endpoint_id, const std::vector< uint8_t > & payload)
void
Invia un messaggio inaffidabile all'endpoint remoto con l'ID specificato.
SendUnreliableMessage(const std::vector< std::string > & remote_endpoint_ids, const std::vector< uint8_t > & payload)
void
Invia un messaggio inaffidabile agli endpoint remoti con gli ID specificati.
StartAdvertising(const std::string & name, const std::vector< AppIdentifier > & app_identifiers, Duration duration, StartAdvertisingCallback start_advertising_callback, ConnectionRequestCallback request_callback)
void
Inizia a pubblicizzare un endpoint per un'app locale.
StartDiscovery(const std::string & service_id, Duration duration, IEndpointDiscoveryListener *listener)
void
Trova gli endpoint remoti con l'ID servizio specificato e richiama ripetutamente il listener quando l'app trova e perde gli endpoint.
StartDiscovery(const std::string & service_id, Duration duration, EndpointDiscoveryListenerHelper helper)
void
Trova gli endpoint remoti con l'ID servizio specificato.
Stop()
void
Si disconnette da tutti gli endpoint remoti; interrompe la pubblicità o la scoperta.
StopAdvertising()
void
Interrompe la pubblicità dell'endpoint locale.
StopDiscovery(const std::string & service_id)
void
Arresta la ricerca di endpoint remoti per un ID servizio specificato in precedenza.

Corsi

gpg::NearbyConnections::Builder

Classe Builder utilizzata per creare oggetti NearbyConnections.

Funzioni pubbliche

AcceptConnectionRequest

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

Accetta una richiesta di connessione.

Successivamente, l'app può inviare messaggi e riceverli dall'endpoint specificato. Può farlo, utilizzando listener, finché l'app si disconnette dall'altro endpoint. remote_endpoint_id deve corrispondere all'ID dell'endpoint remoto che ha richiesto la connessione. ConnectionRequestCallback fornisce questo ID. payload può trattenere un messaggio da inviare insieme alla risposta di connessione. listener specifica un listener a cui inviare notifiche sugli eventi relativi a questa connessione.

AcceptConnectionRequest

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

Accetta una richiesta di connessione.

Questa funzione differisce da AcceptConnectionRequest solo per il fatto che utilizza MessageListenerHelper, anziché IMessageListener.

Disconnetti

void Disconnect(
  const std::string & remote_endpoint_id
)

Si disconnette dall'endpoint remoto con l'ID specificato.

NearbyConnections

 NearbyConnections()

RejectConnectionRequest

void RejectConnectionRequest(
  const std::string & remote_endpoint_id
)

Rifiuta una richiesta di connessione.

remote_endpoint_id deve corrispondere all'ID dell'endpoint remoto che ha richiesto la connessione. ConnectionRequestCallback fornisce questo ID.

SendConnectionRequest

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

Richiesta di stabilire una connessione con un endpoint remoto.

name è un nome che l'app può mostrare agli utenti sull'altro dispositivo per identificare questo endpoint. Se specifichi una stringa vuota, viene utilizzato il nome del dispositivo. remote_endpoint_id è l'ID dell'endpoint remoto a cui questa app invia una richiesta di connessione. payload può contenere un messaggio personalizzato da inviare insieme alla richiesta di connessione. In alternativa, invece di un payload, la tua app può passare un vettore di byte vuoto. Questa funzione richiama il callback specificato in risposta alla richiesta. Se l'operazione ha esito positivo, produce una "Connessione accettata" o "Connessione rifiutata" risposta. In caso contrario, viene generato un messaggio di errore. Nel caso di una connessione accettata, l'app può inviare messaggi all'endpoint remoto e l'app richiama il listener specificato alla ricezione di un messaggio o alla disconnessione dall'endpoint remoto.

SendConnectionRequest

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

Richiedi una connessione a un endpoint remoto.

Si differenzia da SendConnectionRequest solo per il fatto che utilizza MessageListenerHelper anziché IMessageListener.

SendReliableMessage

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

Invia un messaggio affidabile all'endpoint remoto con l'ID specificato.

SendReliableMessage

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

Invia un messaggio affidabile agli endpoint remoti con gli ID specificati.

SendUnreliableMessage

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

Invia un messaggio inaffidabile all'endpoint remoto con l'ID specificato.

SendUnreliableMessage

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

Invia un messaggio inaffidabile agli endpoint remoti con gli ID specificati.

StartAdvertising

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

Inizia a pubblicizzare un endpoint per un'app locale.

name può essere un nome che l'app mostra agli utenti per identificare l'endpoint. Se specifichi una stringa vuota, viene utilizzato il nome del dispositivo. Se specificato, app_identifiers specifica come installare o avviare questa app su piattaforme diverse. duration specifica la durata (in millisecondi) di pubblicazione dell'annuncio, a meno che l'app non richiami StopAdvertising() o Stop() prima della scadenza della durata. Se il valore di duration è uguale a gpg::Duration::zero(), la pubblicità continua a tempo indeterminato finché l'app non chiama StopAdvertising(). Questa funzione richiama start_advertising_callback quando la pubblicità viene avviata o non riesce. questo callback riceve le informazioni sull'endpoint in caso di esito positivo o un codice di errore in caso di errore. Questa funzione richiama request_callback quando un endpoint remoto richiede una connessione con l'endpoint dell'app. Questa funzione continua a pubblicizzare la presenza di questo endpoint finché l'app non chiama StopAdvertising, oppure non scade la durata. Se è già stato pubblicizzato un endpoint, questa chiamata non riesce.

StartDiscovery

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

Trova gli endpoint remoti con l'ID servizio specificato e richiama ripetutamente il listener quando l'app trova e perde gli endpoint.

Continua a farlo finché l'app non richiama StopDiscovery con l'ID servizio specificato. service_id deve corrispondere al valore fornito dalle app quando fanno pubblicità tramite StartAdvertising. duration specifica la durata massima (in millisecondi) dell'esecuzione del rilevamento (potrebbe interrompersi prima se l'app richiama StopDiscovery()). Se il valore di Duration è uguale a gpg::Duration::zero(), il rilevamento continua a tempo indeterminato finché l'app non chiama StopDiscovery() o Stop(). Se esiste già un listener registrato per la ricerca degli endpoint per l'ID servizio specificato, questa chiamata non riesce.

StartDiscovery

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

Trova gli endpoint remoti con l'ID servizio specificato.

Questa funzione si differenzia da StartDiscovery solo per il fatto che utilizza EndpointDiscoveryListenerHelper anziché IEndpointDiscoveryListener.

Interrompi

void Stop()

Si disconnette da tutti gli endpoint remoti; interrompe la pubblicità o la scoperta.

Cancella lo stato interno.

StopAdvertising

void StopAdvertising()

Interrompe la pubblicità dell'endpoint locale.

Questa operazione NON causa l'interruzione delle connessioni esistenti.

StopDiscovery

void StopDiscovery(
  const std::string & service_id
)

Arresta la ricerca di endpoint remoti per un ID servizio specificato in precedenza.

~NearbyConnections

 ~NearbyConnections()