gpg::SnapshotManager

#include <snapshot_manager.h>

Recebe e define vários dados relacionados ao snapshot.

Resumo

Se o app não ativar snapshots no momento da autenticação (consulte GameServices::Builder::EnableSnapshots), a maioria dos métodos em SnapshotManager falhará.

Tipos públicos

CommitCallback typedef
std::function< void(const CommitResponse &)>
Define um tipo de callback que recebe um CommitResponse.
FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
Define um tipo de callback que recebe um FetchAllResponse.
MaxSizeCallback typedef
std::function< void(const MaxSizeResponse &)>
Define um tipo de callback que recebe um MaxSizeResponse.
OpenCallback typedef
std::function< void(const OpenResponse &)>
Define um tipo de callback que recebe um OpenResponse.
ReadCallback typedef
std::function< void(const ReadResponse &)>
Define um tipo de callback que recebe um ReadResponse.
SnapshotSelectUICallback typedef
std::function< void(const SnapshotSelectUIResponse &)>
Define um callback que pode receber um SnapshotSelectUIResponse de ShowSelectUIOperation.

Funções públicas

Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
void
Confirma de maneira assíncrona os dados fornecidos ao snapshot e atualiza os metadados dele usando o objeto de metadados fornecido.
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Confirma de maneira síncrona os dados fornecidos ao snapshot e atualiza os metadados dele usando o objeto de metadados fornecido.
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Confirma de maneira síncrona os dados fornecidos ao snapshot e atualiza os metadados dele usando o objeto de metadados fornecido.
Delete(const SnapshotMetadata & snapshot_metadata)
void
Exclui o snapshot especificado.
FetchAll(FetchAllCallback callback)
void
Carrega de maneira assíncrona todos os dados de snapshot do jogador conectado no momento.
FetchAll(DataSource data_source, FetchAllCallback callback)
void
Carrega de maneira assíncrona todos os dados de snapshot do jogador conectado no momento.
FetchAllBlocking()
Carrega de maneira síncrona todos os dados de snapshots do jogador conectado no momento, retornando diretamente o FetchAllResponse.
FetchAllBlocking(DataSource data_source)
Carrega de maneira síncrona todos os dados de snapshots do jogador conectado no momento, retornando diretamente o FetchAllResponse.
FetchAllBlocking(Timeout timeout)
Carrega de maneira síncrona todos os dados de snapshots do jogador conectado no momento, retornando diretamente o FetchAllResponse.
FetchAllBlocking(DataSource data_source, Timeout timeout)
Carrega de maneira síncrona todos os dados de snapshots do jogador conectado no momento, retornando diretamente o FetchAllResponse.
GetMaxSize(MaxSizeCallback callback) const
void
Recebe de maneira assíncrona o tamanho máximo dos dados e o tamanho máximo da imagem de capa por snapshot em bytes.
GetMaxSizeBlocking() const
Receba de forma síncrona o tamanho máximo dos dados e o tamanho máximo da imagem de capa por snapshot em bytes, retornando diretamente o MaxSizeResponse.
GetMaxSizeBlocking(Timeout timeout) const
Receba de forma síncrona o tamanho máximo dos dados e o tamanho máximo da imagem de capa por snapshot em bytes, retornando diretamente o MaxSizeResponse.
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Abre de maneira assíncrona um snapshot com o nome informado.
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Descontinuado. . data_source será ignorado. Em vez dela, use Open(file_name, conflict_policy, callback).
Abre de maneira assíncrona um snapshot com o nome informado.
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Abre de forma síncrona um snapshot com o nome informado.
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Abre de forma síncrona um snapshot com o nome informado.
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Descontinuado. . data_source será ignorado. Em vez dela, use OpenBlocking(file_name, conflict_policy).
Abre de forma síncrona um snapshot com o nome informado.
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Descontinuado. . data_source será ignorado. Em vez dela, use OpenBlocking(timeout, file_name, conflict_policy).
Abre de forma síncrona um snapshot com o nome informado.
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
void
Lê, de maneira assíncrona, um snapshot do disco e o copia para a memória.
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
Lê um snapshot do disco de maneira síncrona e o copia para a memória.
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
Lê de maneira síncrona um instantâneo do disco e o copia para a memória.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
void
Resolve de maneira assíncrona um conflito usando os dados do snapshot fornecido.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
void
Resolve de maneira assíncrona um conflito usando os dados fornecidos.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Resolve de maneira síncrona um conflito usando os dados do snapshot fornecido.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Resolve de maneira síncrona um conflito usando os dados fornecidos.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Resolve de maneira síncrona um conflito usando os dados do snapshot fornecido.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Resolve de maneira síncrona um conflito usando os dados fornecidos.
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
void
Mostra de maneira assíncrona a interface do snapshot, permitindo que o jogador selecione um snapshot ou solicite um novo.
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Bloquear a versão de ShowSelectUIOperation.
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Sobrecarga de ShowSelectUIOperationBlocking, que usa um tempo limite padrão de 10 anos.

Estruturas

gpg::SnapshotManager::CommitResponse

Mantém os dados de um snapshot atualizado, com um status de resposta.

gpg::SnapshotManager::FetchAllResponse

Mantém todos os dados de todos os snapshots, junto com um status de resposta.

gpg::SnapshotManager::MaxSizeResponse

Mantém o tamanho máximo dos dados e da imagem de capa do snapshot.

gpg::SnapshotManager::OpenResponse

Mantém os dados de um snapshot solicitado específico junto com um status de resposta.

gpg::SnapshotManager::ReadResponse

Lê o status da resposta e os dados do snapshot retornados de uma operação de leitura de snapshot.

gpg::SnapshotManager::SnapshotSelectUIResponse

Data e ResponseStatus para a operação ShowSelectUIOperation.

Tipos públicos

CommitCallback

std::function< void(const CommitResponse &)> CommitCallback

Define um tipo de callback que recebe um CommitResponse.

Esse tipo de callback é fornecido para as funções Commit(*) e ResolveConflict(*) abaixo.

FetchAllCallback

std::function< void(const FetchAllResponse &)> FetchAllCallback

Define um tipo de callback que recebe um FetchAllResponse.

Esse tipo de callback é fornecido para as funções FetchAll(*) abaixo.

MaxSizeCallback

std::function< void(const MaxSizeResponse &)> MaxSizeCallback

Define um tipo de callback que recebe um MaxSizeResponse.

Esse tipo de callback é fornecido para o GetMaxSize.

OpenCallback

std::function< void(const OpenResponse &)> OpenCallback

Define um tipo de callback que recebe um OpenResponse.

Esse tipo de callback é fornecido para as funções Open(*) abaixo.

ReadCallback

std::function< void(const ReadResponse &)> ReadCallback

Define um tipo de callback que recebe um ReadResponse.

Esse tipo de callback é fornecido para as funções Read(*) abaixo.

SnapshotSelectUICallback

std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback

Define um callback que pode receber um SnapshotSelectUIResponse de ShowSelectUIOperation.

Funções públicas

Confirmação

void Commit(
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > data,
  CommitCallback callback
)

Confirma de maneira assíncrona os dados fornecidos ao snapshot e atualiza os metadados dele usando o objeto de metadados fornecido.

Chama o CommitCallback fornecido após a conclusão da operação.

CommitBlocking

CommitResponse CommitBlocking(
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Confirma de maneira síncrona os dados fornecidos ao snapshot e atualiza os metadados dele usando o objeto de metadados fornecido.

CommitBlocking

CommitResponse CommitBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Confirma de maneira síncrona os dados fornecidos ao snapshot e atualiza os metadados dele usando o objeto de metadados fornecido.

Especifique timeout em milissegundos.

Excluir

void Delete(
  const SnapshotMetadata & snapshot_metadata
)

Exclui o snapshot especificado.

Isso excluirá os dados do snapshot localmente e no servidor.

FetchAll

void FetchAll(
  FetchAllCallback callback
)

Carrega de maneira assíncrona todos os dados de snapshot do jogador conectado no momento.

Chama o FetchAllCallback fornecido após a conclusão da operação. Se você não especificar data_source, essa chamada de função será equivalente à chamada de FetchAll(DataSource data_source, FetchAllCallback callback), com data_source especificado como CACHE_OR_NETWORK..

FetchAll

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

Carrega de maneira assíncrona todos os dados de snapshot do jogador conectado no momento.

Chama o FetchAllCallback fornecido após a conclusão da operação. Especifique data_source como CACHE_OR_NETWORK ou NETWORK_ONLY.

FetchAllBlocking

FetchAllResponse FetchAllBlocking()

Carrega de maneira síncrona todos os dados de snapshots do jogador conectado no momento, retornando diretamente o FetchAllResponse.

Não especificar data_source nem timeout faz com que essa chamada de função seja equivalente a chamar FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), com data_source especificado como CACHE_OR_NETWORK e timeout especificado como 10 anos.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

Carrega de maneira síncrona todos os dados de snapshots do jogador conectado no momento, retornando diretamente o FetchAllResponse.

Especifique data_source como CACHE_OR_NETWORK ou NETWORK_ONLY. Não especificar timeout faz com que essa chamada de função seja equivalente a chamar FetchAllBlocking FetchAllResponse(DataSource data_source, Timeout timeout), com o valor de data_source especificado, e timeout especificado como 10 anos.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

Carrega de maneira síncrona todos os dados de snapshots do jogador conectado no momento, retornando diretamente o FetchAllResponse.

Especifique timeout em milissegundos. Se você não especificar data_source, essa chamada de função será equivalente à chamada de FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), com data_source especificado como CACHE_OR_NETWORK e timeout contendo o valor especificado.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source,
  Timeout timeout
)

Carrega de maneira síncrona todos os dados de snapshots do jogador conectado no momento, retornando diretamente o FetchAllResponse.

Especifique data_source como CACHE_OR_NETWORK ou NETWORK_ONLY. Especifique timeout em milissegundos.

GetMaxSize

void GetMaxSize(
  MaxSizeCallback callback
) const 

Recebe de maneira assíncrona o tamanho máximo dos dados e o tamanho máximo da imagem de capa por snapshot em bytes.

Chama o MaxSizeCallback fornecido após a conclusão da operação.

O tamanho máximo de dados por snapshot é de, no mínimo, 3 MB. Pode aumentar no futuro.

O tamanho máximo dos dados por imagem de capa do snapshot é de pelo menos 800 KB. Pode aumentar no futuro.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking() const 

Receba de forma síncrona o tamanho máximo dos dados e o tamanho máximo da imagem de capa por snapshot em bytes, retornando diretamente o MaxSizeResponse.

O tamanho máximo de dados por snapshot é de, no mínimo, 3 MB. Pode aumentar no futuro.

O tamanho máximo dos dados por imagem de capa do snapshot é de pelo menos 800 KB. Pode aumentar no futuro.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking(
  Timeout timeout
) const 

Receba de forma síncrona o tamanho máximo dos dados e o tamanho máximo da imagem de capa por snapshot em bytes, retornando diretamente o MaxSizeResponse.

O tamanho máximo de dados por snapshot é de, no mínimo, 3 MB. Pode aumentar no futuro.

O tamanho máximo dos dados por imagem de capa do snapshot é de pelo menos 800 KB. Pode aumentar no futuro.

Especifique timeout em milissegundos.

Abrir

void Open(
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy,
  OpenCallback callback
)

Abre de maneira assíncrona um snapshot com o nome informado.

O snapshot especificado será criado se ainda não existir. Chama o OpenCallback fornecido após a conclusão da operação.

Os nomes dos snapshots precisam ter entre 1 e 100 caracteres não reservados para URL (a-z, A-Z, 0-9 ou os símbolos "-", ".", "_" ou "~").

Podem ocorrer conflitos se outro dispositivo confirmar um snapshot entre o carregamento e a confirmação de um snapshot no dispositivo atual. Você precisa resolver esses conflitos. Consulte OpenResponse acima para mais detalhes sobre conflitos.

conflict_policy pode ser um dos seguintes valores:

SnapshotConflictPolicy::MANUAL: no caso de um conflito, a resposta tem o estado OpenResponse::VALID_WITH_CONFLICT. Resolva o conflito usando SnapshotManager::ResolveConflict. Como é possível ver vários conflitos em sequência, faça essa verificação sempre que chamar Open. Essa é a única política em que você verá o conflito. O restante cuida da resolução para você. Essa política garante que nenhuma alteração do usuário no estado do jogo salvo será perdida.

SnapshotConflictPolicy::LONGEST_PLAYTIME: em caso de conflito, o snapshot com o maior valor de tempo de reprodução será usado. Esta política é uma boa escolha se a duração do tempo de jogo é uma representação razoável do "melhor" salvar jogo. Use SnapshotMetadataChange::Builder::SetPlayedTime() ao salvar jogos para que essa política seja relevante.

SnapshotConflictPolicy::LAST_KNOWN_GOOD: em caso de conflito, o snapshot base será usado. Essa política é uma opção razoável se o jogo exige estabilidade dos dados de snapshot. Essa política garante que apenas gravações não contestadas sejam vistas pelo player, o que garante que todos os clientes convergem. Observação: anteriormente SnapshotManager::BASE_WINS

SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED: em caso de conflito, o controle remoto será usado. Essa política é uma opção razoável caso seu jogo possa tolerar que os jogadores em vários dispositivos tenham lesionado as próprias alterações. Como essa política escolhe cegamente os dados mais recentes, é possível que as alterações do jogador sejam perdidas. Observação: anteriormente SnapshotManager::REMOTE_WINS

SnapshotConflictPolicy::HIGHEST_PROGRESSEm caso de conflito, o snapshot com o maior valor de progresso será usado. No caso de empate, o último snapshot válido será escolhido. Essa política é uma boa opção se o jogo usa o valor de progresso do resumo para determinar o melhor jogo salvo. Use SnapshotMetadataChange::Builder::SetPlayedTime() ao salvar jogos para que essa política seja relevante.

Abrir

void Open(
  DataSource data_source,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy,
  OpenCallback callback
)

Abre de maneira assíncrona um snapshot com o nome informado.

Descontinuado. . data_source será ignorado. Em vez dela, use Open(file_name, conflict_policy, callback).

OpenBlocking

OpenResponse OpenBlocking(
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Abre de forma síncrona um snapshot com o nome informado.

O snapshot especificado será criado se ainda não existir.

Consulte Abrir para mais detalhes.

OpenBlocking

OpenResponse OpenBlocking(
  Timeout timeout,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Abre de forma síncrona um snapshot com o nome informado.

O snapshot especificado será criado se ainda não existir.

Especifique timeout em milissegundos.

Consulte Abrir para mais detalhes.

OpenBlocking

OpenResponse OpenBlocking(
  DataSource data_source,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Abre de forma síncrona um snapshot com o nome informado.

Descontinuado. . data_source será ignorado. Em vez dela, use OpenBlocking(file_name, conflict_policy).

OpenBlocking

OpenResponse OpenBlocking(
  DataSource data_source,
  Timeout timeout,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Abre de forma síncrona um snapshot com o nome informado.

Descontinuado. . data_source será ignorado. Em vez dela, use OpenBlocking(timeout, file_name, conflict_policy).

Ler

void Read(
  const SnapshotMetadata & snapshot_metadata,
  ReadCallback callback
)

Lê, de maneira assíncrona, um snapshot do disco e o copia para a memória.

Os dados são retornados por valor para facilitar a modificação. Cada chamada para essa função resulta em uma leitura completa. Isso significa que normalmente é melhor ler um snapshot apenas uma vez. Chama o ReadCallback fornecido após a conclusão da operação.

ReadBlocking

ReadResponse ReadBlocking(
  const SnapshotMetadata & snapshot_metadata
)

Lê de maneira síncrona um snapshot do disco e o copia para a memória.

Os dados são retornados por valor para facilitar a modificação. Cada chamada para essa função resulta em uma leitura completa. Isso significa que normalmente é melhor ler um snapshot apenas uma vez. Se você não especificar timeout, essa chamada de função será equivalente à chamada de ReadBlocking ReadBlocking(Timeout timeout, const SnapshotMetadata& snapshot_metadata), com timeout especificado como 10 anos.

ReadBlocking

ReadResponse ReadBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata
)

Lê um snapshot do disco de maneira síncrona e o copia para a memória.

Os dados são retornados por valor para facilitar a modificação. Cada chamada para isso faz uma leitura completa, portanto, normalmente só lê um snapshot uma vez. Especifique timeout em milissegundos.

ResolveConflict

void ResolveConflict(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  OpenCallback callback
)

Resolve de maneira assíncrona um conflito usando os dados do snapshot fornecido.

Isso substituirá os dados no servidor pelo snapshot especificado. Observe que essa operação pode resultar em um conflito em si, caso em que a resolução deve ser repetida.

Chamar esse método com um snapshot que já foi confirmado ou que não foi aberto por meio de Open falhará com o status BaseStatus::ERROR_INTERNAL.

Chama o OpenCallback fornecido após a conclusão da operação.

ResolveConflict

void ResolveConflict(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents,
  OpenCallback callback
)

Resolve de maneira assíncrona um conflito usando os dados fornecidos.

Isso substituirá os dados no servidor pelas alterações de metadados especificadas e contents. Observe que essa operação pode resultar em um conflito em si, caso em que a resolução deve ser repetida.

Os valores não incluídos na alteração de metadados serão resolvidos para a versão atualmente no servidor.

O tamanho total do contents não pode exceder o maxDataSize fornecido pelo GetMaxSize.

Chamar esse método com um snapshot que já foi confirmado ou que não foi aberto por meio de Open falhará com o status BaseStatus::ERROR_INTERNAL.

Chama o OpenCallback fornecido após a conclusão da operação.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata
)

Resolve de maneira síncrona um conflito usando os dados do snapshot fornecido.

Isso substituirá os dados no servidor pelo snapshot especificado. Observe que essa operação pode resultar em um conflito em si, caso em que a resolução deve ser repetida.

Chamar esse método com um snapshot que já foi confirmado ou que não foi aberto por meio de Open falhará com o status BaseStatus::ERROR_INTERNAL.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Resolve de maneira síncrona um conflito usando os dados fornecidos.

Isso substituirá os dados no servidor pelas alterações de metadados especificadas e contents. Observe que essa operação pode resultar em um conflito em si, caso em que a resolução deve ser repetida.

Os valores não incluídos na alteração de metadados serão resolvidos para a versão atualmente no servidor.

O tamanho total do contents não pode exceder o maxDataSize fornecido pelo GetMaxSize.

Chamar esse método com um snapshot que já foi confirmado ou que não foi aberto por meio de Open falhará com o status BaseStatus::ERROR_INTERNAL.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  Timeout timeout,
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata
)

Resolve de maneira síncrona um conflito usando os dados do snapshot fornecido.

Isso substituirá os dados no servidor pelo snapshot especificado. Observe que essa operação pode resultar em um conflito em si, caso em que a resolução deve ser repetida.

Chamar esse método com um snapshot que já foi confirmado ou que não foi aberto por meio de Open falhará com o status BaseStatus::ERROR_INTERNAL.

Especifique timeout em milissegundos.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  Timeout timeout,
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Resolve de maneira síncrona um conflito usando os dados fornecidos.

Isso substituirá os dados no servidor pelas alterações de metadados especificadas e contents. Observe que essa operação pode resultar em um conflito em si, caso em que a resolução deve ser repetida.

Os valores não incluídos na alteração de metadados serão resolvidos para a versão atualmente no servidor.

O tamanho total do contents não pode exceder o maxDataSize fornecido pelo GetMaxSize.

Chamar esse método com um snapshot que já foi confirmado ou que não foi aberto por meio de Open falhará com o status BaseStatus::ERROR_INTERNAL.

Especifique timeout em milissegundos.

ShowSelectUIOperation

void ShowSelectUIOperation(
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title,
  SnapshotSelectUICallback callback
)

Mostra de maneira assíncrona a interface do snapshot, permitindo que o jogador selecione um snapshot ou solicite um novo.

Após a conclusão, o snapshot selecionado ou a nova solicitação de snapshot é retornado pelo SnapshotSelectUICallback.

ShowSelectUIOperationBlocking

SnapshotSelectUIResponse ShowSelectUIOperationBlocking(
  Timeout timeout,
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title
)

Bloquear a versão de ShowSelectUIOperation.

Permite que o autor da chamada especifique um tempo limite em ms. Após o tempo especificado, a função retornará ERROR_TIMEOUT.

ShowSelectUIOperationBlocking

SnapshotSelectUIResponse ShowSelectUIOperationBlocking(
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title
)

Sobrecarga de ShowSelectUIOperationBlocking, que usa um tempo limite padrão de 10 anos.