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:: |
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()