gpg:: SnapshotManager
#include <snapshot_manager.h>
Recupera e imposta vari dati relativi agli snapshot.
Riepilogo
Se l'app non attiva gli snapshot al momento dell'autenticazione (vedi GameServices::Builder::EnableSnapshots), la maggior parte dei metodi su SnapshotManager
non riuscirà.
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 dei dati forniti nello snapshot in modo sincrono 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 aggiorna i metadati dello snapshot 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 su cui è stato eseguito l'accesso.
|
FetchAll(DataSource data_source, FetchAllCallback callback)
|
void
Carica in modo asincrono tutti i dati degli snapshot relativi al player su cui è stato eseguito l'accesso.
|
FetchAllBlocking()
|
Carica in modo sincrono tutti i dati degli snapshot relativi al player attualmente a cui è stato eseguito l'accesso, restituendo direttamente
FetchAllResponse . |
FetchAllBlocking(DataSource data_source)
|
Carica in modo sincrono tutti i dati degli snapshot relativi al player attualmente a cui è stato eseguito l'accesso, restituendo direttamente
FetchAllResponse . |
FetchAllBlocking(Timeout timeout)
|
Carica in modo sincrono tutti i dati degli snapshot relativi al player attualmente a cui è stato eseguito l'accesso, restituendo direttamente
FetchAllResponse . |
FetchAllBlocking(DataSource data_source, Timeout timeout)
|
Carica in modo sincrono tutti i dati degli snapshot relativi al player attualmente a cui è stato eseguito l'accesso, restituendo direttamente
FetchAllResponse . |
GetMaxSize(MaxSizeCallback callback) const
|
void
In modo asincrono ottiene le dimensioni massime dei dati e dell'immagine di copertina per snapshot in byte.
|
GetMaxSizeBlocking() const
|
In modo sincrono ottiene la dimensione massima dei dati e la dimensione massima dell'immagine di copertina per snapshot in byte, restituendo direttamente
MaxSizeResponse . |
GetMaxSizeBlocking(Timeout timeout) const
|
In modo sincrono ottiene la dimensione massima dei dati e la dimensione massima dell'immagine di copertina per snapshot in byte, restituendo direttamente
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)
|
Obsoleta. di Gemini Advanced.
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)
|
Obsoleta. di Gemini Advanced.
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 richiedere una nuova istantanea.
|
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.
|
Structs |
|
---|---|
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:: |
Contiene la dimensione massima per i dati dello snapshot e per l'immagine di copertina dello snapshot. |
gpg:: |
Contiene i dati per uno specifico snapshot richiesto insieme a uno stato della risposta. |
gpg:: |
Legge lo stato della risposta e i dati dello snapshot restituiti da un'operazione di lettura dello snapshot. |
gpg:: |
|
Tipi pubblici
CommitCallback
std::function< void(const CommitResponse &)> CommitCallback
Definisce un tipo di callback che riceve un CommitResponse
.
Questo tipo di callback è fornito alle funzioni Commit(*)
e ResolveConflict(*)
seguenti.
FetchAllCallback
std::function< void(const FetchAllResponse &)> FetchAllCallback
Definisce un tipo di callback che riceve un FetchAllResponse
.
Questo tipo di callback è fornito alle funzioni FetchAll(*)
seguenti.
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 è fornito alle funzioni Open(*)
seguenti.
ReadCallback
std::function< void(const ReadResponse &)> ReadCallback
Definisce un tipo di callback che riceve un ReadResponse
.
Questo tipo di callback è fornito alle funzioni Read(*)
seguenti.
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.
Richiama il CommitCallback
fornito al termine dell'operazione.
CommitBlocking
CommitResponse CommitBlocking( 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 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 aggiorna i metadati dello snapshot 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 localmente e sul server.
FetchAll
void FetchAll( FetchAllCallback callback )
Carica in modo asincrono tutti i dati degli snapshot relativi al player su cui è stato eseguito l'accesso.
Richiama il FetchAllCallback
fornito al termine dell'operazione. Se non specifichi data_source
, questa chiamata di funzione diventa equivalente alla chiamata di 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 su cui è stato eseguito l'accesso.
Richiama il FetchAllCallback
fornito al termine dell'operazione. Specifica data_source
come CACHE_OR_NETWORK
o NETWORK_ONLY
.
FetchAllBlocking
FetchAllResponse FetchAllBlocking()
Carica in modo sincrono tutti i dati degli snapshot relativi al player attualmente a cui è stato eseguito l'accesso, restituendo direttamente FetchAllResponse
.
Se non 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 degli snapshot relativi al player attualmente a cui è stato eseguito l'accesso, restituendo direttamente FetchAllResponse
.
Specifica data_source
come CACHE_OR_NETWORK
o NETWORK_ONLY
. Se non specifichi timeout
, la chiamata di funzione equivale a chiamare FetchAllBlocking FetchAllResponse(DataSource data_source,
Timeout timeout)
, con il valore data_source
specificato e il valore timeout
specificato su 10 anni.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( Timeout timeout )
Carica in modo sincrono tutti i dati degli snapshot relativi al player attualmente a cui è stato eseguito l'accesso, restituendo direttamente FetchAllResponse
.
Specifica timeout
in millisecondi. Se non specifichi data_source
, la chiamata di funzione equivale a chiamare FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, con 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 degli snapshot relativi al player attualmente a cui è stato eseguito l'accesso, restituendo direttamente FetchAllResponse
.
Specifica data_source
come CACHE_OR_NETWORK
o NETWORK_ONLY
. Specifica timeout
in millisecondi.
GetMaxSize
void GetMaxSize( MaxSizeCallback callback ) const
In modo asincrono ottiene le dimensioni massime dei dati e dell'immagine di copertina per snapshot in byte.
Richiama il MaxSizeCallback
fornito al termine dell'operazione.
La dimensione massima dei dati per snapshot garantito è di almeno 3 MB. Può aumentare in futuro.
È garantito che la dimensione massima dei dati per immagine di copertina dello snapshot sia di almeno 800 kB. Può aumentare in futuro.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
In modo sincrono ottiene la dimensione massima dei dati e la dimensione massima dell'immagine di copertina per snapshot in byte, restituendo direttamente MaxSizeResponse
.
La dimensione massima dei dati per snapshot garantito è di almeno 3 MB. Può aumentare in futuro.
È garantito che la dimensione massima dei dati per immagine di copertina dello snapshot sia di almeno 800 kB. Può aumentare in futuro.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
In modo sincrono ottiene la dimensione massima dei dati e la dimensione massima dell'immagine di copertina per snapshot in byte, restituendo direttamente MaxSizeResponse
.
La dimensione massima dei dati per snapshot garantito è di almeno 3 MB. Può aumentare in futuro.
È garantito che la dimensione massima dei dati per immagine di copertina dello snapshot sia di almeno 800 kB. Può 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.
Se non esiste già, verrà creato lo snapshot specificato. Richiama il OpenCallback
fornito al termine dell'operazione.
I nomi degli snapshot devono essere compresi tra 1 e 100 caratteri non riservati all'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 corrente. È necessario risolvere questi conflitti. Per ulteriori dettagli sui conflitti, vedi OpenResponse sopra.
conflict_policy
può essere uno dei seguenti valori:
SnapshotConflictPolicy::MANUAL
: in caso di conflitto, la risposta avrà lo stato 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. Il resto è la soluzione giusta per te. Questo criterio garantisce che le modifiche apportate dall'utente allo stato della partita salvata non vadano mai perse.
SnapshotConflictPolicy::LONGEST_PLAYTIME
: in caso di conflitto, verrà utilizzata l'istantanea con il valore di tempo di riproduzione maggiore. Questo criterio è una buona scelta se la durata della riproduzione è un proxy ragionevole per il "migliore" gioco salvata. Tieni presente che devi usare SnapshotMetadataChange::Builder::SetPlayedTime()
quando salvi le partite perché questo criterio sia rilevante.
SnapshotConflictPolicy::LAST_KNOWN_GOOD
: in caso di conflitto, verrà utilizzato lo snapshot di base. Questo criterio è una scelta ragionevole se il gioco richiede stabilità dai dati dello snapshot. Questo criterio garantisce che il player possa visualizzare solo le scritture non contestate, garantendo 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 gioco è in grado di tollerare i giocatori su più dispositivi che clobano le proprie modifiche. Poiché questo criterio sceglie in modo non intenzionale i dati più recenti, è possibile che le modifiche di 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ù alto. In caso di parità, verrà scelta l'ultima istantanea nota valida. Questa norma è una buona scelta se il tuo gioco utilizza il valore dell'avanzamento dell'istantanea per determinare la migliore partita salvata. Tieni presente che devi usare SnapshotMetadataChange::Builder::SetPlayedTime()
quando salvi le partite perché questo criterio sia rilevante.
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.
Obsoleta. di Gemini Advanced.
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.
Se non esiste già, verrà creato lo snapshot specificato.
Vedi Apri per maggiori 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 maggiori 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.
Obsoleta. di Gemini Advanced.
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.
Obsoleta. di Gemini Advanced.
data_source
viene ignorato. Usa invece il criterio OpenBlocking(timeout, file_name, conflict_policy)
.
Leggi
void Read( const SnapshotMetadata & snapshot_metadata, ReadCallback callback )
Legge in modo asincrono uno snapshot dal disco e lo copia in memoria.
I dati vengono restituiti in base al valore per semplificare la modifica. Ogni chiamata a questa funzione genera una lettura completa. Ciò significa che in genere è preferibile leggere l'istantanea una sola volta. Richiama il ReadCallback
fornito al termine 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 restituiti in base al valore per semplificare la modifica. Ogni chiamata a questa funzione genera 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 su 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 restituiti in base al valore per semplificare la modifica. Ogni chiamata esegue una lettura completa, quindi in genere lo snapshot viene letto una sola 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 generare un conflitto stesso, nel qual caso la risoluzione va ripetuta.
La chiamata a questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open non riuscirà con lo stato BaseStatus::ERROR_INTERNAL.
Richiama il OpenCallback
fornito al termine 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 con contents
. Tieni presente che questa operazione potrebbe generare un conflitto stesso, nel qual caso la risoluzione va ripetuta.
I valori non inclusi nella modifica dei metadati verranno risolti nella versione attualmente sul server.
Tieni presente che la dimensione totale di contents
non può superare il valore di maxDataSize
fornito da GetMaxSize.
La chiamata a questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open non riuscirà con lo stato BaseStatus::ERROR_INTERNAL.
Richiama il OpenCallback
fornito al termine 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 generare un conflitto stesso, nel qual caso la risoluzione va ripetuta.
La chiamata a questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open non riuscirà con lo 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 con contents
. Tieni presente che questa operazione potrebbe generare un conflitto stesso, nel qual caso la risoluzione va ripetuta.
I valori non inclusi nella modifica dei metadati verranno risolti nella versione attualmente sul server.
Tieni presente che la dimensione totale di contents
non può superare il valore di maxDataSize
fornito da GetMaxSize.
La chiamata a questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open non riuscirà con lo 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 generare un conflitto stesso, nel qual caso la risoluzione va ripetuta.
La chiamata a questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open non riuscirà con lo 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 con contents
. Tieni presente che questa operazione potrebbe generare un conflitto stesso, nel qual caso la risoluzione va ripetuta.
I valori non inclusi nella modifica dei metadati verranno risolti nella versione attualmente sul server.
Tieni presente che la dimensione totale di contents
non può superare il valore di maxDataSize
fornito da GetMaxSize.
La chiamata a questo metodo con uno snapshot di cui è già stato eseguito il commit o che non è stato aperto tramite Open non riuscirà con lo 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 un'istantanea o richiedere una nuova istantanea.
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.