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 typedef
std::function< void(const CommitResponse &)>
Definisce un tipo di callback che riceve un CommitResponse.
FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
Definisce un tipo di callback che riceve un FetchAllResponse.
MaxSizeCallback typedef
std::function< void(const MaxSizeResponse &)>
Definisce un tipo di callback che riceve un MaxSizeResponse.
OpenCallback typedef
std::function< void(const OpenResponse &)>
Definisce un tipo di callback che riceve un OpenResponse.
ReadCallback typedef
std::function< void(const ReadResponse &)>
Definisce un tipo di callback che riceve un ReadResponse.
SnapshotSelectUICallback typedef
std::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
Obsoleta. di Gemini Advanced. 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::SnapshotManager::CommitResponse

Contiene i dati per uno snapshot aggiornato, insieme allo stato della risposta.

gpg::SnapshotManager::FetchAllResponse

Contiene tutti i dati per tutti gli snapshot, insieme allo stato della risposta.

gpg::SnapshotManager::MaxSizeResponse

Contiene la dimensione massima per i dati dello snapshot e per l'immagine di copertina dello snapshot.

gpg::SnapshotManager::OpenResponse

Contiene i dati per uno specifico snapshot richiesto insieme a uno stato della risposta.

gpg::SnapshotManager::ReadResponse

Legge lo stato della risposta e i dati dello snapshot restituiti da un'operazione di lettura dello snapshot.

gpg::SnapshotManager::SnapshotSelectUIResponse

Data e ResponseStatus per l'operazione ShowSelectUIOperation.

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_sourcetimeout, 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_PROGRESSIn 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.