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
Richiede che venga stabilita 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
Richiede 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 non affidabile 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 non affidabile 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 man mano che l'app trova e perde endpoint.
StartDiscovery(const std::string & service_id, Duration duration, EndpointDiscoveryListenerHelper helper)
void
Trova gli endpoint remoti con l'ID servizio specificato.
Stop()
void
Disconnette da tutti gli endpoint remoti e interrompe qualsiasi pubblicità o scoperta in corso.
StopAdvertising()
void
Smette di pubblicizzare l'endpoint locale.
StopDiscovery(const std::string & service_id)
void
Smette di trovare endpoint remoti per un ID servizio specificato in precedenza.

Corsi

gpg::NearbyConnections::Builder

Classe Builder utilizzata per creare gli 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 potrà inviare e ricevere messaggi all'endpoint specificato. Può farlo utilizzando listener, finché l'app non 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 che deve ricevere una notifica degli eventi per 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 solo da AcceptConnectionRequest perché utilizza MessageListenerHelper invece di 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
)

Richiede che venga stabilita 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 l'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 riesce, produce una risposta "Connessione accettata" o "Connessione rifiutata". In caso contrario, genera un messaggio di errore. Nel caso di una connessione accettata, l'app può inviare messaggi all'endpoint remoto e 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
)

Richiede una connessione a un endpoint remoto.

Differenza da SendConnectionRequest solo per il fatto che utilizza MessageListenerHelper invece di 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 non affidabile 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 non affidabile 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 l'app su diverse piattaforme. duration specifica la durata (in millisecondi) della pubblicazione dell'annuncio, a meno che l'app non richiami StopAdvertising() o Stop() prima della scadenza di questo periodo. 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à inizia o non va a buon fine; 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 fino a quando l'app non chiama StopAdvertising o non scade il periodo di tempo in questione. Se è già stato pubblicizzato un endpoint, la chiamata non andrà a buon fine.

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 man mano che l'app trova e perde 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 fai 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 di endpoint per l'ID servizio specificato, questa chiamata non va a buon fine.

StartDiscovery

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

Trova gli endpoint remoti con l'ID servizio specificato.

Questa funzione differisce da StartDiscovery solo perché utilizza EndpointDiscoveryListenerHelper invece di IEndpointDiscoveryListener.

Interrompi

void Stop()

Disconnette da tutti gli endpoint remoti e interrompe qualsiasi pubblicità o scoperta in corso.

Consente di cancellare lo stato interno.

StopAdvertising

void StopAdvertising()

Smette di pubblicizzare l'endpoint locale.

Ciò NON causerà l'interruzione delle connessioni esistenti.

StopDiscovery

void StopDiscovery(
  const std::string & service_id
)

Smette di trovare endpoint remoti per un ID servizio specificato in precedenza.

~Connessioni nelle vicinanze

 ~NearbyConnections()