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 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 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
Deprecato. 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::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

Mantiene la dimensione massima per i dati dello snapshot e per l'immagine di copertina dell'istantanea.

gpg::SnapshotManager::OpenResponse

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

gpg::SnapshotManager::ReadResponse

Legge lo stato della risposta e i dati degli snapshot restituiti da un'operazione di lettura degli 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 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_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 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_PROGRESSIn 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.