gpg:: SnapshotManager
#include <snapshot_manager.h>
Obtiene y establece varios datos relacionados con las instantáneas.
Resumen
Si la app no habilita instantáneas en el momento de la autenticación (consulta GameServices::Builder::EnableSnapshots), la mayoría de los métodos de SnapshotManager
fallarán.
Tipos públicos |
|
---|---|
CommitCallback
|
typedefstd::function< void(const CommitResponse &)>
Define un tipo de devolución de llamada que recibe un CommitResponse . |
FetchAllCallback
|
typedefstd::function< void(const FetchAllResponse &)>
Define un tipo de devolución de llamada que recibe un FetchAllResponse . |
MaxSizeCallback
|
typedefstd::function< void(const MaxSizeResponse &)>
Define un tipo de devolución de llamada que recibe un MaxSizeResponse . |
OpenCallback
|
typedefstd::function< void(const OpenResponse &)>
Define un tipo de devolución de llamada que recibe un OpenResponse . |
ReadCallback
|
typedefstd::function< void(const ReadResponse &)>
Define un tipo de devolución de llamada que recibe un ReadResponse . |
SnapshotSelectUICallback
|
typedefstd::function< void(const SnapshotSelectUIResponse &)>
Define una devolución de llamada que puede recibir un SnapshotSelectUIResponse de ShowSelectUIOperation . |
Funciones públicas |
|
---|---|
Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
|
void
Confirma de forma asíncrona los datos proporcionados a la instantánea y actualiza los metadatos de la instantánea con el objeto de metadatos proporcionado.
|
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Confirma de forma síncrona los datos proporcionados a la instantánea y actualiza los metadatos de la instantánea con el objeto de metadatos proporcionado.
|
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Confirma de forma síncrona los datos proporcionados a la instantánea y actualiza los metadatos de la instantánea con el objeto de metadatos proporcionado.
|
Delete(const SnapshotMetadata & snapshot_metadata)
|
void
Borra la instantánea especificada.
|
FetchAll(FetchAllCallback callback)
|
void
Carga de forma asíncrona todos los datos de instantáneas del jugador que accedió.
|
FetchAll(DataSource data_source, FetchAllCallback callback)
|
void
Carga de forma asíncrona todos los datos de instantáneas del jugador que accedió.
|
FetchAllBlocking()
|
Carga de forma síncrona todos los datos de instantáneas del jugador que accedió actualmente y muestra directamente el
FetchAllResponse . |
FetchAllBlocking(DataSource data_source)
|
Carga de forma síncrona todos los datos de instantáneas del jugador que accedió actualmente y muestra directamente el
FetchAllResponse . |
FetchAllBlocking(Timeout timeout)
|
Carga de forma síncrona todos los datos de instantáneas del jugador que accedió actualmente y muestra directamente el
FetchAllResponse . |
FetchAllBlocking(DataSource data_source, Timeout timeout)
|
Carga de forma síncrona todos los datos de instantáneas del jugador que accedió actualmente y muestra directamente el
FetchAllResponse . |
GetMaxSize(MaxSizeCallback callback) const
|
void
Obtiene de forma asíncrona el tamaño máximo de datos y el tamaño máximo de la imagen de portada por instantánea en bytes.
|
GetMaxSizeBlocking() const
|
Obtiene de forma síncrona el tamaño máximo de datos y el tamaño máximo de la imagen de portada por instantánea en bytes y muestra directamente el
MaxSizeResponse . |
GetMaxSizeBlocking(Timeout timeout) const
|
Obtiene de forma síncrona el tamaño máximo de datos y el tamaño máximo de la imagen de portada por instantánea en bytes y muestra directamente el
MaxSizeResponse . |
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
Abre, de manera asíncrona, una instantánea con el nombre determinado.
|
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
data_source . En su lugar, usa Open(file_name, conflict_policy, callback) . Abre, de manera asíncrona, una instantánea con el nombre determinado. |
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Abre de forma síncrona una instantánea con el nombre determinado.
|
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Abre de forma síncrona una instantánea con el nombre determinado.
|
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Obsoleto.
Se ignora data_source . En su lugar, usa OpenBlocking(file_name, conflict_policy) . Abre de forma síncrona una instantánea con el nombre determinado. |
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Obsoleto.
Se ignora data_source . En su lugar, usa OpenBlocking(timeout, file_name, conflict_policy) . Abre de forma síncrona una instantánea con el nombre determinado. |
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
|
void
Lee de forma asíncrona una instantánea del disco y la copia en la memoria.
|
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
|
Lee de forma síncrona una instantánea del disco y la copia en la memoria.
|
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
|
Lee de forma síncrona una instantánea del disco y la copia en la memoria.
|
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
|
void
Resuelve de forma asíncrona un conflicto con los datos de la instantánea proporcionada.
|
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
|
void
Resuelve de forma asíncrona un conflicto con los datos proporcionados.
|
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
|
Resuelve de forma síncrona un conflicto con los datos de la instantánea proporcionada.
|
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Resuelve de forma síncrona un conflicto con los datos proporcionados.
|
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
|
Resuelve de forma síncrona un conflicto con los datos de la instantánea proporcionada.
|
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Resuelve de forma síncrona un conflicto con los datos proporcionados.
|
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
|
void
Muestra de forma asíncrona la IU de la instantánea, lo que permite al jugador seleccionar una instantánea o solicitar una nueva.
|
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
|
Versión de bloqueo de ShowSelectUIOperation.
|
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
|
Sobrecarga de ShowSelectUIOperationBlocking, que usa un tiempo de espera predeterminado de 10 años.
|
Structs |
|
---|---|
gpg:: |
Contiene los datos de una instantánea actualizada, junto con un estado de respuesta. |
gpg:: |
Contiene todos los datos de todas las instantáneas, junto con un estado de respuesta. |
gpg:: |
Contiene el tamaño máximo para los datos de instantáneas y para la imagen de portada de la instantánea. |
gpg:: |
Contiene los datos de una instantánea solicitada en particular junto con un estado de respuesta. |
gpg:: |
Lee el estado de la respuesta y los datos de la instantánea que se muestran en una operación de lectura de instantáneas. |
gpg:: |
|
Tipos públicos
CommitCallback
std::function< void(const CommitResponse &)> CommitCallback
Define un tipo de devolución de llamada que recibe un CommitResponse
.
Este tipo de devolución de llamada se proporciona a las funciones Commit(*)
y ResolveConflict(*)
a continuación.
FetchAllCallback
std::function< void(const FetchAllResponse &)> FetchAllCallback
Define un tipo de devolución de llamada que recibe un FetchAllResponse
.
Este tipo de devolución de llamada se proporciona a las funciones FetchAll(*)
que se indican a continuación.
MaxSizeCallback
std::function< void(const MaxSizeResponse &)> MaxSizeCallback
Define un tipo de devolución de llamada que recibe un MaxSizeResponse
.
Este tipo de devolución de llamada se proporciona a GetMaxSize.
OpenCallback
std::function< void(const OpenResponse &)> OpenCallback
Define un tipo de devolución de llamada que recibe un OpenResponse
.
Este tipo de devolución de llamada se proporciona a las funciones Open(*)
que se indican a continuación.
ReadCallback
std::function< void(const ReadResponse &)> ReadCallback
Define un tipo de devolución de llamada que recibe un ReadResponse
.
Este tipo de devolución de llamada se proporciona a las funciones Read(*)
que se indican a continuación.
SnapshotSelectUICallback
std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback
Define una devolución de llamada que puede recibir un SnapshotSelectUIResponse
de ShowSelectUIOperation
.
Funciones públicas
Confirmar
void Commit( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback )
Confirma de forma asíncrona los datos proporcionados a la instantánea y actualiza los metadatos de la instantánea con el objeto de metadatos proporcionado.
Llama al CommitCallback
proporcionado cuando se completa la operación.
CommitBlocking
CommitResponse CommitBlocking( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Confirma de forma síncrona los datos proporcionados a la instantánea y actualiza los metadatos de la instantánea con el objeto de metadatos proporcionado.
CommitBlocking
CommitResponse CommitBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Confirma de forma síncrona los datos proporcionados a la instantánea y actualiza los metadatos de la instantánea con el objeto de metadatos proporcionado.
Especifica timeout
en milisegundos.
Borrar
void Delete( const SnapshotMetadata & snapshot_metadata )
Borra la instantánea especificada.
Se borrarán los datos de la instantánea de forma local y en el servidor.
FetchAll
void FetchAll( FetchAllCallback callback )
Carga de forma asíncrona todos los datos de instantáneas del jugador que accedió.
Llama al FetchAllCallback
proporcionado cuando se completa la operación. Si no especificas data_source
, esta llamada a función equivale a llamar a FetchAll(DataSource data_source, FetchAllCallback callback)
, con data_source
especificado como CACHE_OR_NETWORK.
.
FetchAll
void FetchAll( DataSource data_source, FetchAllCallback callback )
Carga de forma asíncrona todos los datos de instantáneas del jugador que accedió.
Llama al FetchAllCallback
proporcionado cuando se completa la operación. Especifica data_source
como CACHE_OR_NETWORK
o NETWORK_ONLY
.
FetchAllBlocking
FetchAllResponse FetchAllBlocking()
Carga de forma síncrona todos los datos de instantáneas del jugador que accedió actualmente y muestra directamente el FetchAllResponse
.
Si no especificas data_source
ni timeout
, esta llamada a función equivale a llamar a FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, con data_source
especificado como CACHE_OR_NETWORK
y timeout
especificado como 10 años.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source )
Carga de forma síncrona todos los datos de instantáneas del jugador que accedió actualmente y muestra directamente el FetchAllResponse
.
Especifica data_source
como CACHE_OR_NETWORK
o NETWORK_ONLY
. Si no especificas timeout
, esta llamada a función equivale a llamar a FetchAllBlocking FetchAllResponse(DataSource data_source,
Timeout timeout)
, con el valor data_source
especificado y timeout
especificado como 10 años.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( Timeout timeout )
Carga de forma síncrona todos los datos de instantáneas del jugador que accedió actualmente y muestra directamente el FetchAllResponse
.
Especifica timeout
en milisegundos. Si no especificas data_source
, esta llamada a función equivale a llamar a FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, con data_source
especificado como CACHE_OR_NETWORK
y timeout
que contiene el valor especificado.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source, Timeout timeout )
Carga de forma síncrona todos los datos de instantáneas del jugador que accedió actualmente y muestra directamente el FetchAllResponse
.
Especifica data_source
como CACHE_OR_NETWORK
o NETWORK_ONLY
. Especifica timeout
en milisegundos.
GetMaxSize
void GetMaxSize( MaxSizeCallback callback ) const
Obtiene de forma asíncrona el tamaño máximo de datos y el tamaño máximo de la imagen de portada por instantánea en bytes.
Llama al MaxSizeCallback
proporcionado cuando se completa la operación.
El tamaño máximo de datos por instantánea garantiza que sea de al menos 3 MB. Es posible que aumente en el futuro.
El tamaño máximo de datos por imagen de portada de instantánea es de, al menos, 800 KB. Es posible que aumente en el futuro.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
Obtiene de forma síncrona el tamaño máximo de datos y el tamaño máximo de la imagen de portada por instantánea en bytes y muestra directamente el MaxSizeResponse
.
El tamaño máximo de datos por instantánea garantiza que sea de al menos 3 MB. Es posible que aumente en el futuro.
El tamaño máximo de datos por imagen de portada de instantánea es de, al menos, 800 KB. Es posible que aumente en el futuro.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
Obtiene de forma síncrona el tamaño máximo de datos y el tamaño máximo de la imagen de portada por instantánea en bytes y muestra directamente el MaxSizeResponse
.
El tamaño máximo de datos por instantánea garantiza que sea de al menos 3 MB. Es posible que aumente en el futuro.
El tamaño máximo de datos por imagen de portada de instantánea es de, al menos, 800 KB. Es posible que aumente en el futuro.
Especifica timeout
en milisegundos.
Abrir
void Open( const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
Abre, de manera asíncrona, una instantánea con el nombre determinado.
Se creará la instantánea especificada si es que no existe. Llama al OpenCallback
proporcionado cuando se completa la operación.
Los nombres de las instantáneas deben tener entre 1 y 100 caracteres que no estén reservados para URLs (a-z, A-Z, 0-9 o los símbolos "-", ".", "_" o "~").
Pueden ocurrir conflictos si otro dispositivo confirma una instantánea entre la carga y la confirmación de una instantánea en el dispositivo actual. Debes resolver estos conflictos. Consulta OpenResponse más arriba para obtener más detalles sobre los conflictos.
conflict_policy
puede ser uno de los siguientes valores:
SnapshotConflictPolicy::MANUAL
: En caso de conflicto, la respuesta tiene el estado OpenResponse::VALID_WITH_CONFLICT
. Debes resolver el conflicto con SnapshotManager::ResolveConflict
. Es posible ver varios conflictos en una fila, así que verifica cada vez que llames a Open
. Esta es la única política en la que verás el conflicto. El resto se encargará de la resolución por ti. Esta política garantiza que no se pierdan los cambios que realice el usuario en el estado del juego guardado.
SnapshotConflictPolicy::LONGEST_PLAYTIME
: En caso de conflicto, se usará la instantánea con el valor de tiempo de reproducción más alto. Esta política es una buena opción si la duración del tiempo de juego es un proxy razonable para el "mejor" juego guardado. Ten en cuenta que debes usar SnapshotMetadataChange::Builder::SetPlayedTime()
cuando guardes juegos para que esta política sea significativa.
SnapshotConflictPolicy::LAST_KNOWN_GOOD
: En caso de conflicto, se usará la instantánea base. Esta política es una opción razonable si tu juego requiere estabilidad de los datos de instantáneas. Esta política garantiza que el jugador solo vea las operaciones de escritura que no están en disputa, lo que garantiza que todos los clientes converjan. Nota: Anteriormente, SnapshotManager::BASE_WINS
SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED
: En caso de conflicto, se usará el control remoto. Esta política es una opción razonable si tu juego puede tolerar que los jugadores en varios dispositivos anulen sus propios cambios. Debido a que esta política elige de forma ciega los datos más recientes, es posible que se pierdan los cambios de un jugador. Nota: Anteriormente, SnapshotManager::REMOTE_WINS
SnapshotConflictPolicy::HIGHEST_PROGRESS
En caso de conflicto, se usará la instantánea con el valor de progreso más alto. En caso de empate, se elegirá la última instantánea buena conocida. Esta política es una buena opción si tu juego usa el valor de progreso de la instantánea para determinar el mejor juego guardado. Ten en cuenta que debes usar SnapshotMetadataChange::Builder::SetPlayedTime()
cuando guardes juegos para que esta política sea significativa.
Abrir
void Open( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
Abre, de manera asíncrona, una instantánea con el nombre determinado.
Obsoleto.
Se ignora data_source
. En su lugar, usa Open(file_name, conflict_policy, callback)
.
OpenBlocking
OpenResponse OpenBlocking( const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Abre de forma síncrona una instantánea con el nombre determinado.
Se creará la instantánea especificada si es que no existe.
Consulta Abrir para obtener más información.
OpenBlocking
OpenResponse OpenBlocking( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Abre de forma síncrona una instantánea con el nombre determinado.
Se creará la instantánea especificada si es que no existe.
Especifica timeout
en milisegundos.
Consulta Abrir para obtener más información.
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Abre de forma síncrona una instantánea con el nombre determinado.
Obsoleto.
Se ignora data_source
. En su lugar, usa 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 una instantánea con el nombre determinado.
Obsoleto.
Se ignora data_source
. En su lugar, usa OpenBlocking(timeout, file_name, conflict_policy)
.
Lectura
void Read( const SnapshotMetadata & snapshot_metadata, ReadCallback callback )
Lee de forma asíncrona una instantánea del disco y la copia en la memoria.
Los datos se pasan por valor para facilitar la modificación. Cada llamada a esta función genera una lectura completa. Esto significa que, por lo general, es mejor leer una instantánea una vez. Llama al ReadCallback
proporcionado cuando se completa la operación.
ReadBlocking
ReadResponse ReadBlocking( const SnapshotMetadata & snapshot_metadata )
Lee de forma síncrona una instantánea del disco y la copia en la memoria.
Los datos se pasan por valor para facilitar la modificación. Cada llamada a esta función genera una lectura completa. Esto significa que, por lo general, es mejor leer una instantánea una vez. Si no especificas timeout
, esta llamada a función equivale a llamar a ReadBlocking ReadBlocking(Timeout timeout,
const SnapshotMetadata& snapshot_metadata)
, con timeout
especificado como 10 años.
ReadBlocking
ReadResponse ReadBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata )
Lee de forma síncrona una instantánea del disco y la copia en la memoria.
Los datos se pasan por valor para facilitar la modificación. Cada llamada a esta función realiza una lectura completa, por lo que, por lo general, solo se lee una instantánea una vez. Especifica timeout
en milisegundos.
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback )
Resuelve de forma asíncrona un conflicto con los datos de la instantánea proporcionada.
Esto reemplazará los datos del servidor por la instantánea especificada. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso se debe repetir la resolución.
Si llamas a este método con una instantánea que ya se confirmó o que no se abrió a través de Open, se producirá un error con el estado BaseStatus::ERROR_INTERNAL.
Llama al OpenCallback
proporcionado cuando se completa la operación.
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback )
Resuelve de forma asíncrona un conflicto con los datos proporcionados.
Esto reemplazará los datos del servidor por los cambios de metadatos especificados y contents
. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso se debe repetir la resolución.
Los valores que no se incluyan en el cambio de metadatos se resolverán en la versión que se encuentra actualmente en el servidor.
Ten en cuenta que el tamaño total de contents
no puede exceder el maxDataSize
que proporciona GetMaxSize.
Si llamas a este método con una instantánea que ya se confirmó o que no se abrió a través de Open, se producirá un error con el estado BaseStatus::ERROR_INTERNAL.
Llama al OpenCallback
proporcionado cuando se completa la operación.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
Resuelve de forma síncrona un conflicto con los datos de la instantánea proporcionada.
Esto reemplazará los datos del servidor por la instantánea especificada. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso se debe repetir la resolución.
Si llamas a este método con una instantánea que ya se confirmó o que no se abrió a través de Open, se producirá un error con el estado BaseStatus::ERROR_INTERNAL.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Resuelve de forma síncrona un conflicto con los datos proporcionados.
Esto reemplazará los datos del servidor por los cambios de metadatos especificados y contents
. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso se debe repetir la resolución.
Los valores que no se incluyan en el cambio de metadatos se resolverán en la versión que se encuentra actualmente en el servidor.
Ten en cuenta que el tamaño total de contents
no puede exceder el maxDataSize
que proporciona GetMaxSize.
Si llamas a este método con una instantánea que ya se confirmó o que no se abrió a través de Open, se producirá un error con el estado BaseStatus::ERROR_INTERNAL.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
Resuelve de forma síncrona un conflicto con los datos de la instantánea proporcionada.
Esto reemplazará los datos del servidor por la instantánea especificada. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso se debe repetir la resolución.
Si llamas a este método con una instantánea que ya se confirmó o que no se abrió a través de Open, se producirá un error con el estado BaseStatus::ERROR_INTERNAL.
Especifica timeout
en milisegundos.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Resuelve de forma síncrona un conflicto con los datos proporcionados.
Esto reemplazará los datos del servidor por los cambios de metadatos especificados y contents
. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso se debe repetir la resolución.
Los valores que no se incluyan en el cambio de metadatos se resolverán en la versión que se encuentra actualmente en el servidor.
Ten en cuenta que el tamaño total de contents
no puede exceder el maxDataSize
que proporciona GetMaxSize.
Si llamas a este método con una instantánea que ya se confirmó o que no se abrió a través de Open, se producirá un error con el estado BaseStatus::ERROR_INTERNAL.
Especifica timeout
en milisegundos.
ShowSelectUIOperation
void ShowSelectUIOperation( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback )
Muestra de forma asíncrona la IU de la instantánea, lo que permite al jugador seleccionar una instantánea o solicitar una nueva.
Cuando se completa, la instantánea seleccionada o la solicitud de instantánea nueva se devuelven a través de SnapshotSelectUICallback
.
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
Versión de bloqueo de ShowSelectUIOperation.
Permite que el emisor especifique un tiempo de espera en ms. Una vez transcurrido el tiempo especificado, la función muestra ERROR_TIMEOUT
.
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
Sobrecarga de ShowSelectUIOperationBlocking, que usa un tiempo de espera predeterminado de 10 años.