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
|
typedefstd::function< void(const CommitResponse &)>
Define um tipo de callback que recebe um CommitResponse . |
FetchAllCallback
|
typedefstd::function< void(const FetchAllResponse &)>
Define um tipo de callback que recebe um FetchAllResponse . |
MaxSizeCallback
|
typedefstd::function< void(const MaxSizeResponse &)>
Define um tipo de callback que recebe um MaxSizeResponse . |
OpenCallback
|
typedefstd::function< void(const OpenResponse &)>
Define um tipo de callback que recebe um OpenResponse . |
ReadCallback
|
typedefstd::function< void(const ReadResponse &)>
Define um tipo de callback que recebe um ReadResponse . |
SnapshotSelectUICallback
|
typedefstd::function< void(const SnapshotSelectUIResponse &)>
Define um callback que pode receber um SnapshotSelectUIResponse do 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 para o snapshot e atualiza os metadados do snapshot usando o objeto de metadados fornecido.
|
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Confirma de forma síncrona os dados fornecidos no snapshot e atualiza os metadados do snapshot usando o objeto de metadados fornecido.
|
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Confirma de forma síncrona os dados fornecidos para o snapshot e atualiza os metadados do snapshot 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 do snapshot para o player conectado no momento.
|
FetchAll(DataSource data_source, FetchAllCallback callback)
|
void
Carrega de maneira assíncrona todos os dados do snapshot para o player conectado no momento.
|
FetchAllBlocking()
|
Carrega de forma síncrona todos os dados de snapshot do jogador conectado no momento, retornando o
FetchAllResponse diretamente. |
FetchAllBlocking(DataSource data_source)
|
Carrega de forma síncrona todos os dados de snapshot do jogador conectado no momento, retornando o
FetchAllResponse diretamente. |
FetchAllBlocking(Timeout timeout)
|
Carrega de forma síncrona todos os dados de snapshot do jogador conectado no momento, retornando o
FetchAllResponse diretamente. |
FetchAllBlocking(DataSource data_source, Timeout timeout)
|
Carrega de forma síncrona todos os dados de snapshot do jogador conectado no momento, retornando o
FetchAllResponse diretamente. |
GetMaxSize(MaxSizeCallback callback) const
|
void
Recebe de maneira assíncrona o tamanho máximo de dados e da imagem de capa por snapshot em bytes.
|
GetMaxSizeBlocking() const
|
Recebe de maneira síncrona o tamanho máximo dos dados e da imagem da capa por snapshot em bytes, retornando diretamente
MaxSizeResponse . |
GetMaxSizeBlocking(Timeout timeout) const
|
Recebe de maneira síncrona o tamanho máximo dos dados e da imagem da capa por snapshot em bytes, retornando diretamente
MaxSizeResponse . |
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
Abre de maneira assíncrona um snapshot com o nome fornecido.
|
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
data_source é ignorado. Em vez dela, use Open(file_name, conflict_policy, callback) . Abre de maneira assíncrona um snapshot com o nome fornecido. |
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Abre de forma síncrona um snapshot com o nome fornecido.
|
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Abre de forma síncrona um snapshot com o nome fornecido.
|
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Descontinuado.
data_source é ignorado. Em vez dela, use OpenBlocking(file_name, conflict_policy) . Abre de forma síncrona um snapshot com o nome fornecido. |
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Descontinuado.
data_source é ignorado. Em vez dela, use OpenBlocking(timeout, file_name, conflict_policy) . Abre de forma síncrona um snapshot com o nome fornecido. |
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ê de maneira síncrona um snapshot do disco e o copia para a memória.
|
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
|
Lê de maneira síncrona um snapshot 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 um conflito de maneira assíncrona 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 forma 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 forma 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)
|
Bloqueia 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:: |
Mantém os dados de um snapshot atualizado, junto com um status de resposta. |
gpg:: |
Mantém todos os dados de todos os snapshots, junto com um status de resposta. |
gpg:: |
Mantém o tamanho máximo dos dados e da imagem da capa do snapshot. |
gpg:: |
Mantém os dados de um snapshot solicitado específico, além de um status de resposta. |
gpg:: |
Lê o status da resposta e os dados do snapshot retornados de uma operação de leitura de snapshot. |
gpg:: |
|
Tipos públicos
CommitCallback
std::function< void(const CommitResponse &)> CommitCallback
Define um tipo de callback que recebe um CommitResponse
.
Esse tipo de callback é fornecido às 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 às 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 GetMaxSize.
OpenCallback
std::function< void(const OpenResponse &)> OpenCallback
Define um tipo de callback que recebe um OpenResponse
.
Esse tipo de callback é fornecido às 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 às funções Read(*)
abaixo.
SnapshotSelectUICallback
std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback
Define um callback que pode receber um SnapshotSelectUIResponse
do ShowSelectUIOperation
.
Funções públicas
Confirmar
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 para o snapshot e atualiza os metadados do snapshot usando o objeto de metadados fornecido.
Chama o CommitCallback
fornecido na conclusão da operação.
CommitBlocking
CommitResponse CommitBlocking( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Confirma de forma síncrona os dados fornecidos no snapshot e atualiza os metadados do snapshot 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 forma síncrona os dados fornecidos para o snapshot e atualiza os metadados do snapshot 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 do snapshot para o player conectado no momento.
Chama o FetchAllCallback
fornecido na conclusão da operação. Se você não especificar data_source
, essa chamada de função será equivalente a chamar 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 do snapshot para o player conectado no momento.
Chama o FetchAllCallback
fornecido na conclusão da operação. Especifique data_source
como CACHE_OR_NETWORK
ou NETWORK_ONLY
.
FetchAllBlocking
FetchAllResponse FetchAllBlocking()
Carrega de forma síncrona todos os dados de snapshot do jogador conectado no momento, retornando o FetchAllResponse
diretamente.
Especificar não data_source
nem timeout
torna essa chamada de função 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 forma síncrona todos os dados de snapshot do jogador conectado no momento, retornando o FetchAllResponse
diretamente.
Especifique data_source
como CACHE_OR_NETWORK
ou NETWORK_ONLY
. Se você não especificar timeout
, essa chamada de função será equivalente a chamar FetchAllBlocking FetchAllResponse(DataSource data_source,
Timeout timeout)
, com o valor data_source
especificado, e timeout
especificado como 10 anos.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( Timeout timeout )
Carrega de forma síncrona todos os dados de snapshot do jogador conectado no momento, retornando o FetchAllResponse
diretamente.
Especifique timeout
em milissegundos. Se você não especificar data_source
, essa chamada de função será equivalente a chamar 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 forma síncrona todos os dados de snapshot do jogador conectado no momento, retornando o FetchAllResponse
diretamente.
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 de dados e da imagem de capa por snapshot em bytes.
Chama o MaxSizeCallback
fornecido na conclusão da operação.
O tamanho máximo de dados por snapshot é de pelo menos 3 MB. Pode aumentar no futuro.
O tamanho máximo de dados por imagem de capa do instantâneo é de no mínimo 800 KB. Pode aumentar no futuro.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
Recebe de maneira síncrona o tamanho máximo dos dados e da imagem da capa por snapshot em bytes, retornando diretamente MaxSizeResponse
.
O tamanho máximo de dados por snapshot é de pelo menos 3 MB. Pode aumentar no futuro.
O tamanho máximo de dados por imagem de capa do instantâneo é de no mínimo 800 KB. Pode aumentar no futuro.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
Recebe de maneira síncrona o tamanho máximo dos dados e da imagem da capa por snapshot em bytes, retornando diretamente MaxSizeResponse
.
O tamanho máximo de dados por snapshot é de pelo menos 3 MB. Pode aumentar no futuro.
O tamanho máximo de dados por imagem de capa do instantâneo é de no mínimo 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 indicado.
O snapshot especificado será criado se ele ainda não existir. Chama o OpenCallback
fornecido na conclusão da operação.
Os nomes dos snapshots precisam ter entre 1 e 100 caracteres não reservados para o 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. É necessário 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
. É possível ver vários conflitos em uma linha. Portanto, verifique sempre que chamar Open
. Essa é a única política em que haverá conflito. O restante da resolução de processamento é feito para você. Esta política garante que nenhuma mudança do usuário no estado do jogo salvo seja perdida.
SnapshotConflictPolicy::LONGEST_PLAYTIME
: no caso de um conflito, o snapshot com o maior valor de tempo de reprodução será usado. Esta política é uma boa opção se a duração do tempo de jogo for um indicador razoável para o "melhor" jogo salvo. Use SnapshotMetadataChange::Builder::SetPlayedTime()
ao salvar jogos para que essa política seja significativa.
SnapshotConflictPolicy::LAST_KNOWN_GOOD
: no caso de um conflito, o snapshot base será usado. Esta política é uma escolha razoável se o jogo exigir estabilidade dos dados do snapshot. Esta política garante que somente gravações não contestadas sejam vistas pelo jogador, o que garante a convergência de todos os clientes. Observação: o valor anterior era 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 tenha tolerância a jogadores em vários dispositivos prejudicando as próprias mudanças. Como essa política escolhe sem revelar os dados mais recentes, é possível que as mudanças feitas por um jogador sejam perdidas. Observação: o valor anterior era SnapshotManager::REMOTE_WINS
SnapshotConflictPolicy::HIGHEST_PROGRESS
Em caso de conflito, o snapshot com o maior valor de progresso será usado. No caso de empate, o último snapshot válido conhecido será escolhido. Essa política é uma boa opção se o jogo usa o valor do progresso do resumo para determinar o melhor jogo salvo. Use SnapshotMetadataChange::Builder::SetPlayedTime()
ao salvar jogos para que essa política seja significativa.
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 indicado.
Descontinuado.
data_source
é 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 fornecido.
O snapshot especificado será criado se ele ainda não existir.
Consulte Abrir para ver 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 fornecido.
O snapshot especificado será criado se ele ainda não existir.
Especifique timeout
em milissegundos.
Consulte Abrir para ver 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 fornecido.
Descontinuado.
data_source
é 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 fornecido.
Descontinuado.
data_source
é 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 o snapshot apenas uma vez. Chama o ReadCallback
fornecido na 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 o snapshot apenas uma vez. Se você não especificar timeout
, essa chamada de função será equivalente a chamar ReadBlocking ReadBlocking(Timeout timeout,
const SnapshotMetadata& snapshot_metadata)
, com timeout
especificado como 10 anos.
ReadBlocking
ReadResponse ReadBlocking( Timeout timeout, 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 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. Essa operação pode resultar em um conflito e, nesse caso, a resolução precisa ser repetida.
Chamar esse método com um snapshot que já foi confirmado ou que não foi aberto via Open vai falhar com o status BaseStatus::ERROR_INTERNAL.
Chama o OpenCallback
fornecido na 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 um conflito de maneira assíncrona usando os dados fornecidos.
Isso vai substituir os dados no servidor pelas mudanças de metadados especificadas e contents
. Essa operação pode resultar em um conflito e, nesse caso, a resolução precisa ser repetida.
Os valores que não estiverem incluídos na alteração dos metadados serão resolvidos para a versão atual do servidor.
O tamanho total de 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 via Open vai falhar com o status BaseStatus::ERROR_INTERNAL.
Chama o OpenCallback
fornecido na 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. Essa operação pode resultar em um conflito e, nesse caso, a resolução precisa ser repetida.
Chamar esse método com um snapshot que já foi confirmado ou que não foi aberto via Open vai 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 forma síncrona um conflito usando os dados fornecidos.
Isso vai substituir os dados no servidor pelas mudanças de metadados especificadas e contents
. Essa operação pode resultar em um conflito e, nesse caso, a resolução precisa ser repetida.
Os valores que não estiverem incluídos na alteração dos metadados serão resolvidos para a versão atual do servidor.
O tamanho total de 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 via Open vai 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. Essa operação pode resultar em um conflito e, nesse caso, a resolução precisa ser repetida.
Chamar esse método com um snapshot que já foi confirmado ou que não foi aberto via Open vai 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 forma síncrona um conflito usando os dados fornecidos.
Isso vai substituir os dados no servidor pelas mudanças de metadados especificadas e contents
. Essa operação pode resultar em um conflito e, nesse caso, a resolução precisa ser repetida.
Os valores que não estiverem incluídos na alteração dos metadados serão resolvidos para a versão atual do servidor.
O tamanho total de 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 via Open vai 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 por SnapshotSelectUICallback
.
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
Bloqueia 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 retorna 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.