gpg:: SnapshotManager
#include <snapshot_manager.h>
Consente di acquisire e impostare vari dati relativi agli snapshot.
Riepilogo
Se l'app non abilita gli snapshot al momento dell'autenticazione (vedi GameServices::Builder::EnableSnapshots), la maggior parte dei metodi su SnapshotManager
avrà esito negativo.
Tipi pubblici |
|
---|---|
CommitCallback
|
typedefstd::function< void(const CommitResponse &)>
Definisce un tipo di callback che riceve un CommitResponse . |
FetchAllCallback
|
typedefstd::function< void(const FetchAllResponse &)>
Definisce un tipo di callback che riceve un FetchAllResponse . |
MaxSizeCallback
|
typedefstd::function< void(const MaxSizeResponse &)>
Definisce un tipo di callback che riceve un MaxSizeResponse . |
OpenCallback
|
typedefstd::function< void(const OpenResponse &)>
Definisce un tipo di callback che riceve un OpenResponse . |
ReadCallback
|
typedefstd::function< void(const ReadResponse &)>
Definisce un tipo di callback che riceve un ReadResponse . |
SnapshotSelectUICallback
|
typedefstd::function< void(const SnapshotSelectUIResponse &)>
Definisce un callback che può ricevere un SnapshotSelectUIResponse da ShowSelectUIOperation . |
Funzioni pubbliche |
|
---|---|
Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
|
void
Esegue il commit dei dati forniti nello snapshot in modo asincrono e aggiorna i metadati dello snapshot utilizzando l'oggetto metadati fornito.
|
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Esegue il commit sincrono dei dati forniti nello snapshot e aggiorna i metadati dello snapshot utilizzando l'oggetto metadati fornito.
|
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Esegue il commit dei dati forniti nello snapshot in modo sincrono e ne aggiorna i metadati utilizzando l'oggetto metadati fornito.
|
Delete(const SnapshotMetadata & snapshot_metadata)
|
void
Elimina lo snapshot specificato.
|
FetchAll(FetchAllCallback callback)
|
void
Carica in modo asincrono tutti i dati degli snapshot relativi al player attualmente connesso.
|
FetchAll(DataSource data_source, FetchAllCallback callback)
|
void
Carica in modo asincrono tutti i dati degli snapshot relativi al player attualmente connesso.
|
FetchAllBlocking()
|
Carica in modo sincrono tutti i dati relativi agli snapshot del player attualmente collegato, restituendo direttamente
FetchAllResponse . |
FetchAllBlocking(DataSource data_source)
|
Carica in modo sincrono tutti i dati relativi agli snapshot del player attualmente collegato, restituendo direttamente
FetchAllResponse . |
FetchAllBlocking(Timeout timeout)
|
Carica in modo sincrono tutti i dati relativi agli snapshot del player attualmente collegato, restituendo direttamente
FetchAllResponse . |
FetchAllBlocking(DataSource data_source, Timeout timeout)
|
Carica in modo sincrono tutti i dati relativi agli snapshot del player attualmente collegato, restituendo direttamente
FetchAllResponse . |
GetMaxSize(MaxSizeCallback callback) const
|
void
Visualizza in modo asincrono le dimensioni massime dei dati e dell'immagine di copertina per snapshot, in byte.
|
GetMaxSizeBlocking() const
|
Riceve in modo sincrono le dimensioni massime dei dati e dell'immagine di copertina per istantanea in byte, restituendo direttamente il valore
MaxSizeResponse . |
GetMaxSizeBlocking(Timeout timeout) const
|
Riceve in modo sincrono le dimensioni massime dei dati e dell'immagine di copertina per istantanea in byte, restituendo direttamente il valore
MaxSizeResponse . |
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
Apre in modo asincrono uno snapshot con il nome specificato.
|
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
data_source viene ignorato. Usa invece il criterio Open(file_name, conflict_policy, callback) . Apre in modo asincrono uno snapshot con il nome specificato. |
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Apre in modo sincrono uno snapshot con il nome specificato.
|
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Apre in modo sincrono uno snapshot con il nome specificato.
|
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Deprecato.
data_source viene ignorato. Usa invece il criterio OpenBlocking(file_name, conflict_policy) . Apre in modo sincrono uno snapshot con il nome specificato. |
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Deprecato.
data_source viene ignorato. Usa invece il criterio OpenBlocking(timeout, file_name, conflict_policy) . Apre in modo sincrono uno snapshot con il nome specificato. |
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
|
void
Legge in modo asincrono uno snapshot dal disco e lo copia in memoria.
|
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
|
Legge in modo sincrono uno snapshot dal disco e lo copia in memoria.
|
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
|
Legge in modo sincrono uno snapshot dal disco e lo copia in memoria.
|
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
|
void
Risolve in modo asincrono un conflitto utilizzando i dati dello snapshot fornito.
|
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
|
void
Risolve in modo asincrono un conflitto utilizzando i dati forniti.
|
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
|
Risolve in modo sincrono un conflitto utilizzando i dati dello snapshot fornito.
|
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Risolve in modo sincrono un conflitto utilizzando i dati forniti.
|
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
|
Risolve in modo sincrono un conflitto utilizzando i dati dello snapshot fornito.
|
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Risolve in modo sincrono un conflitto utilizzando i dati forniti.
|
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
|
void
Mostra in modo asincrono l'UI dell'istantanea, consentendo al player di selezionare uno snapshot o di richiederne una nuova.
|
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
|
Versione di blocco di ShowSelectUIOperation.
|
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
|
Sovraccarico di ShowSelectUIOperationBlocking, che utilizza un timeout predefinito di 10 anni.
|
Strutture |
|
---|---|
gpg:: |
Contiene i dati per uno snapshot aggiornato, insieme allo stato della risposta. |
gpg:: |
Contiene tutti i dati per tutti gli snapshot, insieme allo stato della risposta. |
gpg:: |
Mantiene la dimensione massima per i dati dello snapshot e per l'immagine di copertina dell'istantanea. |
gpg:: |
Contiene i dati per un determinato snapshot richiesto insieme a uno stato della risposta. |
gpg:: |
Legge lo stato della risposta e i dati degli snapshot restituiti da un'operazione di lettura degli snapshot. |
gpg:: |
|
Tipi pubblici
CommitCallback
std::function< void(const CommitResponse &)> CommitCallback
Definisce un tipo di callback che riceve un CommitResponse
.
Questo tipo di callback viene fornito alle funzioni Commit(*)
e ResolveConflict(*)
riportate di seguito.
FetchAllCallback
std::function< void(const FetchAllResponse &)> FetchAllCallback
Definisce un tipo di callback che riceve un FetchAllResponse
.
Questo tipo di callback viene fornito alle funzioni FetchAll(*)
riportate di seguito.
MaxSizeCallback
std::function< void(const MaxSizeResponse &)> MaxSizeCallback
Definisce un tipo di callback che riceve un MaxSizeResponse
.
Questo tipo di callback viene fornito a GetMaxSize.
OpenCallback
std::function< void(const OpenResponse &)> OpenCallback
Definisce un tipo di callback che riceve un OpenResponse
.
Questo tipo di callback viene fornito alle funzioni Open(*)
riportate di seguito.
ReadCallback
std::function< void(const ReadResponse &)> ReadCallback
Definisce un tipo di callback che riceve un ReadResponse
.
Questo tipo di callback viene fornito alle funzioni Read(*)
riportate di seguito.
SnapshotSelectUICallback
std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback
Definisce un callback che può ricevere un SnapshotSelectUIResponse
da ShowSelectUIOperation
.
Funzioni pubbliche
Esegui il commit
void Commit( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback )
Esegue il commit dei dati forniti nello snapshot in modo asincrono e aggiorna i metadati dello snapshot utilizzando l'oggetto metadati fornito.
Chiama l'elemento CommitCallback
fornito al completamento dell'operazione.
CommitBlocking
CommitResponse CommitBlocking( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Esegue il commit sincrono dei dati forniti nello snapshot e aggiorna i metadati dello snapshot utilizzando l'oggetto metadati fornito.
CommitBlocking
CommitResponse CommitBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Esegue il commit dei dati forniti nello snapshot in modo sincrono e ne aggiorna i metadati utilizzando l'oggetto metadati fornito.
Specifica timeout
in millisecondi.
Elimina
void Delete( const SnapshotMetadata & snapshot_metadata )
Elimina lo snapshot specificato.
I dati dello snapshot verranno eliminati a livello locale e sul server.
FetchAll
void FetchAll( FetchAllCallback callback )
Carica in modo asincrono tutti i dati degli snapshot relativi al player attualmente connesso.
Chiama l'elemento FetchAllCallback
fornito al completamento dell'operazione. Se non specifichi data_source
, questa chiamata di funzione equivale a chiamare FetchAll(DataSource data_source, FetchAllCallback callback)
, con data_source
specificato come CACHE_OR_NETWORK.
FetchAll
void FetchAll( DataSource data_source, FetchAllCallback callback )
Carica in modo asincrono tutti i dati degli snapshot relativi al player attualmente connesso.
Chiama l'elemento FetchAllCallback
fornito al completamento dell'operazione. Specifica data_source
come CACHE_OR_NETWORK
o NETWORK_ONLY
.
FetchAllBlocking
FetchAllResponse FetchAllBlocking()
Carica in modo sincrono tutti i dati relativi agli snapshot del player attualmente collegato, restituendo direttamente FetchAllResponse
.
Se specifichi né data_source
né timeout
, questa chiamata di funzione equivale a chiamare FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, con data_source
specificato come CACHE_OR_NETWORK
e timeout
come 10 anni.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source )
Carica in modo sincrono tutti i dati relativi agli snapshot del player attualmente collegato, restituendo direttamente FetchAllResponse
.
Specifica data_source
come CACHE_OR_NETWORK
o NETWORK_ONLY
. Se non specifichi timeout
, questa chiamata di funzione equivale a chiamare FetchAllBlocking FetchAllResponse(DataSource data_source,
Timeout timeout)
, con il valore data_source
specificato e con timeout
specificato come 10 anni.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( Timeout timeout )
Carica in modo sincrono tutti i dati relativi agli snapshot del player attualmente collegato, restituendo direttamente FetchAllResponse
.
Specifica timeout
in millisecondi. Se non specifichi data_source
, questa chiamata di funzione equivale a chiamare FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, in cui data_source
specificato come CACHE_OR_NETWORK
e timeout
contenente il valore specificato.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source, Timeout timeout )
Carica in modo sincrono tutti i dati relativi agli snapshot del player attualmente collegato, restituendo direttamente FetchAllResponse
.
Specifica data_source
come CACHE_OR_NETWORK
o NETWORK_ONLY
. Specifica timeout
in millisecondi.
GetMaxSize
void GetMaxSize( MaxSizeCallback callback ) const
Visualizza in modo asincrono le dimensioni massime dei dati e dell'immagine di copertina per snapshot, in byte.
Chiama l'elemento MaxSizeCallback
fornito al completamento dell'operazione.
La dimensione massima dei dati per snapshot è di almeno 3 MB. Potrebbe aumentare in futuro.
La dimensione massima dei dati per immagine di copertina di snapshot deve essere di almeno 800 kB. Potrebbe aumentare in futuro.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
Riceve in modo sincrono le dimensioni massime dei dati e dell'immagine di copertina per istantanea in byte, restituendo direttamente il valore MaxSizeResponse
.
La dimensione massima dei dati per snapshot è di almeno 3 MB. Potrebbe aumentare in futuro.
La dimensione massima dei dati per immagine di copertina di snapshot deve essere di almeno 800 kB. Potrebbe aumentare in futuro.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
Riceve in modo sincrono le dimensioni massime dei dati e dell'immagine di copertina per istantanea in byte, restituendo direttamente il valore MaxSizeResponse
.
La dimensione massima dei dati per snapshot è di almeno 3 MB. Potrebbe aumentare in futuro.
La dimensione massima dei dati per immagine di copertina di snapshot deve essere di almeno 800 kB. Potrebbe aumentare in futuro.
Specifica timeout
in millisecondi.
Apri
void Open( const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
Apre in modo asincrono uno snapshot con il nome specificato.
Lo snapshot specificato verrà creato se non esiste già. Chiama l'elemento OpenCallback
fornito al completamento dell'operazione.
I nomi degli snapshot devono contenere da 1 a 100 caratteri non riservati agli URL (a-z, A-Z, 0-9 o i simboli "-", ".", "_" o "~").
Possono verificarsi conflitti se un altro dispositivo esegue il commit di uno snapshot tra il caricamento e il commit di uno snapshot sul dispositivo attuale. Devi risolvere questi conflitti. Per ulteriori dettagli sui conflitti, consulta la sezione OpenResponse riportata sopra.
conflict_policy
può essere uno dei seguenti valori:
SnapshotConflictPolicy::MANUAL
. In caso di conflitto, lo stato della risposta è OpenResponse::VALID_WITH_CONFLICT
. Devi risolvere il conflitto utilizzando SnapshotManager::ResolveConflict
. È possibile vedere più conflitti di seguito, quindi controlla ogni volta che chiami Open
. Questa è l'unica norma in cui vedrai il conflitto. Gli altri si occupano della risoluzione per te. Questo criterio garantisce che le modifiche degli utenti allo stato del gioco salvato non andranno mai perse.
SnapshotConflictPolicy::LONGEST_PLAYTIME
: in caso di conflitto, verrà utilizzata l'istantanea con il valore di riproduzione più elevato. Questa norma è una buona scelta se la durata del tempo di gioco è un ragionevole proxy per la "migliore" partita salvata. Tieni presente che devi usare SnapshotMetadataChange::Builder::SetPlayedTime()
quando salvi i giochi perché questo criterio sia significativo.
SnapshotConflictPolicy::LAST_KNOWN_GOOD
: in caso di conflitto, verrà utilizzato lo snapshot di base. Questa norma è una scelta ragionevole se il gioco richiede stabilità dai dati degli snapshot. Questa norma fa sì che il player visualizzi solo le scritture che non sono contestate, garantendo così la convergenza di tutti i clienti. Nota: in precedenza: SnapshotManager::BASE_WINS
SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED
: in caso di conflitto, verrà utilizzato il telecomando. Questa norma è una scelta ragionevole se il tuo gioco può tollerare che i giocatori su più dispositivi tollerano le proprie modifiche. Poiché questa norma sceglie alla cieca i dati più recenti, è possibile che le modifiche apportate da un giocatore vadano perse. Nota: in precedenza: SnapshotManager::REMOTE_WINS
SnapshotConflictPolicy::HIGHEST_PROGRESS
In caso di conflitto, verrà utilizzato lo snapshot con il valore di avanzamento più elevato. In caso di parità, verrà scelta l'ultima istantanea nota. Questa norma è ideale se il gioco utilizza il valore dei progressi dell'istantanea per stabilire il miglior gioco salvato. Tieni presente che devi usare SnapshotMetadataChange::Builder::SetPlayedTime()
quando salvi i giochi perché questo criterio sia significativo.
Apri
void Open( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
Apre in modo asincrono uno snapshot con il nome specificato.
Deprecato.
data_source
viene ignorato. Usa invece il criterio Open(file_name, conflict_policy, callback)
.
OpenBlocking
OpenResponse OpenBlocking( const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Apre in modo sincrono uno snapshot con il nome specificato.
Lo snapshot specificato verrà creato se non esiste già.
Vedi Apri per ulteriori dettagli.
OpenBlocking
OpenResponse OpenBlocking( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Apre in modo sincrono uno snapshot con il nome specificato.
Lo snapshot specificato verrà creato se non esiste già.
Specifica timeout
in millisecondi.
Vedi Apri per ulteriori dettagli.
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Apre in modo sincrono uno snapshot con il nome specificato.
Deprecato.
data_source
viene ignorato. Usa invece il criterio OpenBlocking(file_name, conflict_policy)
.
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Apre in modo sincrono uno snapshot con il nome specificato.
Deprecato.
data_source
viene ignorato. Usa invece il criterio OpenBlocking(timeout, file_name, conflict_policy)
.
Letto
void Read( const SnapshotMetadata & snapshot_metadata, ReadCallback callback )
Legge in modo asincrono uno snapshot dal disco e lo copia in memoria.
I dati vengono trasmessi per valore per facilitarne la modifica. Ogni chiamata a questa funzione comporta una lettura completa. Ciò significa che in genere è preferibile leggere l'istantanea una sola volta. Chiama l'elemento ReadCallback
fornito al completamento dell'operazione.
ReadBlocking
ReadResponse ReadBlocking( const SnapshotMetadata & snapshot_metadata )
Legge in modo sincrono uno snapshot dal disco e lo copia in memoria.
I dati vengono trasmessi per valore per facilitarne la modifica. Ogni chiamata a questa funzione comporta una lettura completa. Ciò significa che in genere è preferibile leggere l'istantanea una sola volta. Se non specifichi timeout
, questa chiamata di funzione equivale a chiamare ReadBlocking ReadBlocking(Timeout timeout,
const SnapshotMetadata& snapshot_metadata)
, con timeout
specificato come 10 anni.
ReadBlocking
ReadResponse ReadBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata )
Legge in modo sincrono uno snapshot dal disco e lo copia in memoria.
I dati vengono trasmessi per valore per facilitarne la modifica. Ogni chiamata esegue una lettura completa, quindi in genere legge uno snapshot solo una volta. Specifica timeout
in millisecondi.
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback )
Risolve in modo asincrono un conflitto utilizzando i dati dello snapshot fornito.
I dati sul server verranno sostituiti con lo snapshot specificato. Tieni presente che questa operazione potrebbe causare un conflitto, nel qual caso deve essere ripetuta la risoluzione.
La chiamata di questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open avrà esito negativo con stato BaseStatus::ERROR_INTERNAL.
Chiama l'elemento OpenCallback
fornito al completamento dell'operazione.
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback )
Risolve in modo asincrono un conflitto utilizzando i dati forniti.
I dati sul server verranno sostituiti con le modifiche ai metadati specificate e contents
. Tieni presente che questa operazione potrebbe causare un conflitto, nel qual caso deve essere ripetuta la risoluzione.
I valori che non sono inclusi nella modifica dei metadati verranno risolti nella versione attualmente sul server.
Tieni presente che la dimensione totale di contents
non può superare la dimensione maxDataSize
fornita da GetMaxSize.
La chiamata di questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open avrà esito negativo con stato BaseStatus::ERROR_INTERNAL.
Chiama l'elemento OpenCallback
fornito al completamento dell'operazione.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
Risolve in modo sincrono un conflitto utilizzando i dati dello snapshot fornito.
I dati sul server verranno sostituiti con lo snapshot specificato. Tieni presente che questa operazione potrebbe causare un conflitto, nel qual caso deve essere ripetuta la risoluzione.
La chiamata di questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open avrà esito negativo con stato BaseStatus::ERROR_INTERNAL.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Risolve in modo sincrono un conflitto utilizzando i dati forniti.
I dati sul server verranno sostituiti con le modifiche ai metadati specificate e contents
. Tieni presente che questa operazione potrebbe causare un conflitto, nel qual caso deve essere ripetuta la risoluzione.
I valori che non sono inclusi nella modifica dei metadati verranno risolti nella versione attualmente sul server.
Tieni presente che la dimensione totale di contents
non può superare la dimensione maxDataSize
fornita da GetMaxSize.
La chiamata di questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open avrà esito negativo con stato BaseStatus::ERROR_INTERNAL.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
Risolve in modo sincrono un conflitto utilizzando i dati dello snapshot fornito.
I dati sul server verranno sostituiti con lo snapshot specificato. Tieni presente che questa operazione potrebbe causare un conflitto, nel qual caso deve essere ripetuta la risoluzione.
La chiamata di questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open avrà esito negativo con stato BaseStatus::ERROR_INTERNAL.
Specifica timeout
in millisecondi.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Risolve in modo sincrono un conflitto utilizzando i dati forniti.
I dati sul server verranno sostituiti con le modifiche ai metadati specificate e contents
. Tieni presente che questa operazione potrebbe causare un conflitto, nel qual caso deve essere ripetuta la risoluzione.
I valori che non sono inclusi nella modifica dei metadati verranno risolti nella versione attualmente sul server.
Tieni presente che la dimensione totale di contents
non può superare la dimensione maxDataSize
fornita da GetMaxSize.
La chiamata di questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open avrà esito negativo con stato BaseStatus::ERROR_INTERNAL.
Specifica timeout
in millisecondi.
ShowSelectUIOperation
void ShowSelectUIOperation( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback )
Mostra in modo asincrono l'UI dell'istantanea, consentendo al player di selezionare uno snapshot o di richiederne una nuova.
Al termine, lo snapshot selezionato o la nuova richiesta di snapshot vengono restituiti tramite SnapshotSelectUICallback
.
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
Versione di blocco di ShowSelectUIOperation.
Consente al chiamante di specificare un timeout in ms. Una volta trascorso il tempo specificato, la funzione restituisce ERROR_TIMEOUT
.
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
Sovraccarico di ShowSelectUIOperationBlocking, che utilizza un timeout predefinito di 10 anni.