гпг:: Менеджер моментальных снимков
#include <snapshot_manager.h>
Получает и задает различные данные, связанные со снимками.
Краткое содержание
Если приложение не включает снимки во время аутентификации (см. GameServices::Builder::EnableSnapshots ), большинство методов SnapshotManager
завершится ошибкой.
Публичные типы | |
---|---|
CommitCallback | определение типаstd::function< void(const CommitResponse &)> Определяет тип обратного вызова, который получает CommitResponse . |
FetchAllCallback | определение типаstd::function< void(const FetchAllResponse &)> Определяет тип обратного вызова, который получает FetchAllResponse . |
MaxSizeCallback | определение типаstd::function< void(const MaxSizeResponse &)> Определяет тип обратного вызова, который получает MaxSizeResponse . |
OpenCallback | определение типаstd::function< void(const OpenResponse &)> Определяет тип обратного вызова, который получает OpenResponse . |
ReadCallback | определение типаstd::function< void(const ReadResponse &)> Определяет тип обратного вызова, который получает ReadResponse . |
SnapshotSelectUICallback | определение типаstd::function< void(const SnapshotSelectUIResponse &)> Определяет обратный вызов, который может получить SnapshotSelectUIResponse от ShowSelectUIOperation . |
Общественные функции | |
---|---|
Commit (const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback) | void Асинхронно фиксирует данные, предоставленные в моментальном снимке, и обновляет метаданные моментального снимка, используя предоставленный объект метаданных. |
CommitBlocking (const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents) | Синхронно фиксирует данные, предоставленные в моментальном снимке, и обновляет метаданные моментального снимка, используя предоставленный объект метаданных. |
CommitBlocking ( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents) | Синхронно фиксирует данные, предоставленные в моментальном снимке, и обновляет метаданные моментального снимка, используя предоставленный объект метаданных. |
Delete (const SnapshotMetadata & snapshot_metadata) | void Удаляет указанный снимок. |
FetchAll ( FetchAllCallback callback) | void Асинхронно загружает все данные моментального снимка для проигрывателя, выполнившего вход в систему. |
FetchAll ( DataSource data_source, FetchAllCallback callback) | void Асинхронно загружает все данные моментального снимка для проигрывателя, выполнившего вход в систему. |
FetchAllBlocking () | Синхронно загружает все данные моментального снимка для игрока, выполнившего вход в систему, напрямую возвращая FetchAllResponse . |
FetchAllBlocking ( DataSource data_source) | Синхронно загружает все данные моментального снимка для игрока, выполнившего вход в систему, напрямую возвращая FetchAllResponse . |
FetchAllBlocking ( Timeout timeout) | Синхронно загружает все данные моментального снимка для игрока, выполнившего вход в систему, напрямую возвращая FetchAllResponse . |
FetchAllBlocking ( DataSource data_source, Timeout timeout) | Синхронно загружает все данные моментального снимка для игрока, выполнившего вход в систему, напрямую возвращая FetchAllResponse . |
GetMaxSize ( MaxSizeCallback callback) const | void Асинхронно получает максимальный размер данных и максимальный размер изображения обложки для каждого снимка в байтах. |
GetMaxSizeBlocking () const | Синхронно получает максимальный размер данных и максимальный размер изображения обложки для каждого снимка в байтах, напрямую возвращая MaxSizeResponse . |
GetMaxSizeBlocking ( Timeout timeout) const | Синхронно получает максимальный размер данных и максимальный размер изображения обложки для каждого снимка в байтах, напрямую возвращая MaxSizeResponse . |
Open (const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback) | void Асинхронно открывает снимок с заданным именем. |
Open ( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback) | void data_source игнорируется. Вместо этого используйте Open(file_name, conflict_policy, callback) . Асинхронно открывает снимок с заданным именем. |
OpenBlocking (const std::string & file_name, SnapshotConflictPolicy conflict_policy) | Синхронно открывает снимок с заданным именем. |
OpenBlocking ( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) | Синхронно открывает снимок с заданным именем. |
OpenBlocking ( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy) | Устарело. data_source игнорируется. Вместо этого используйте OpenBlocking(file_name, conflict_policy) . Синхронно открывает снимок с заданным именем. |
OpenBlocking ( DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) | Устарело. data_source игнорируется. Вместо этого используйте OpenBlocking(timeout, file_name, conflict_policy) . Синхронно открывает снимок с заданным именем. |
Read (const SnapshotMetadata & snapshot_metadata, ReadCallback callback) | void Асинхронно считывает снимок с диска и копирует его в память. |
ReadBlocking (const SnapshotMetadata & snapshot_metadata) | Синхронно считывает снимок с диска и копирует его в память. |
ReadBlocking ( Timeout timeout, const SnapshotMetadata & snapshot_metadata) | Синхронно считывает снимок с диска и копирует его в память. |
ResolveConflict (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback) | void Асинхронно разрешает конфликт, используя данные из предоставленного моментального снимка. |
ResolveConflict (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback) | void Асинхронно разрешает конфликт, используя предоставленные данные. |
ResolveConflictBlocking (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata) | Синхронно разрешает конфликт, используя данные из предоставленного моментального снимка. |
ResolveConflictBlocking (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents) | Синхронно разрешает конфликт, используя предоставленные данные. |
ResolveConflictBlocking ( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata) | Синхронно разрешает конфликт, используя данные из предоставленного моментального снимка. |
ResolveConflictBlocking ( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents) | Синхронно разрешает конфликт, используя предоставленные данные. |
ShowSelectUIOperation (bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback) | void Асинхронно отображает пользовательский интерфейс снимка, позволяя игроку выбрать снимок или запросить новый снимок. |
ShowSelectUIOperationBlocking ( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title) | Блокирующая версия ShowSelectUIOperation . |
ShowSelectUIOperationBlocking (bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title) | Перегрузка ShowSelectUIOperationBlocking , которая использует тайм-аут по умолчанию, равный 10 годам. |
Структуры | |
---|---|
gpg:: SnapshotManager:: CommitResponse | Содержит данные обновленного моментального снимка, а также статус ответа. |
gpg:: SnapshotManager:: FetchAllResponse | Содержит все данные для всех снимков, а также статус ответа. |
gpg:: SnapshotManager:: MaxSizeResponse | Содержит максимальный размер данных снимка и обложки снимка. |
gpg:: SnapshotManager:: OpenResponse | Содержит данные для конкретного запрошенного снимка вместе со статусом ответа. |
gpg:: SnapshotManager:: ReadResponse | Считывает состояние ответа и данные моментального снимка, возвращенные в результате операции чтения моментального снимка. |
gpg:: SnapshotManager:: SnapshotSelectUIResponse | |
Публичные типы
Зафиксировать обратный вызов
std::function< void(const CommitResponse &)> CommitCallback
Определяет тип обратного вызова, который получает CommitResponse
.
Этот тип обратного вызова предоставляется функциям Commit(*)
и ResolveConflict(*)
ниже.
FetchAllОбратный вызов
std::function< void(const FetchAllResponse &)> FetchAllCallback
Определяет тип обратного вызова, который получает FetchAllResponse
.
Этот тип обратного вызова предоставляется функциям FetchAll(*)
ниже.
MaxSizeОбратный вызов
std::function< void(const MaxSizeResponse &)> MaxSizeCallback
Определяет тип обратного вызова, который получает MaxSizeResponse
.
Этот тип обратного вызова предоставляется GetMaxSize .
Открытый обратный вызов
std::function< void(const OpenResponse &)> OpenCallback
Определяет тип обратного вызова, который получает OpenResponse
.
Этот тип обратного вызова предоставляется функциям Open(*)
ниже.
Чтение обратного вызова
std::function< void(const ReadResponse &)> ReadCallback
Определяет тип обратного вызова, который получает ReadResponse
.
Этот тип обратного вызова предоставляется функциям Read(*)
ниже.
SnapshotSelectUICallback
std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback
Определяет обратный вызов, который может получить SnapshotSelectUIResponse
от ShowSelectUIOperation
.
Общественные функции
Совершить
void Commit( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback )
Асинхронно фиксирует данные, предоставленные в моментальном снимке, и обновляет метаданные моментального снимка, используя предоставленный объект метаданных.
Вызывает предоставленный CommitCallback
после завершения операции.
CommitБлокировка
CommitResponse CommitBlocking( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Синхронно фиксирует данные, предоставленные в моментальном снимке, и обновляет метаданные моментального снимка, используя предоставленный объект метаданных.
CommitБлокировка
CommitResponse CommitBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Синхронно фиксирует данные, предоставленные в моментальном снимке, и обновляет метаданные моментального снимка, используя предоставленный объект метаданных.
Укажите timeout
в миллисекундах.
Удалить
void Delete( const SnapshotMetadata & snapshot_metadata )
Удаляет указанный снимок.
Это приведет к удалению данных моментального снимка локально и на сервере.
Получить все
void FetchAll( FetchAllCallback callback )
Асинхронно загружает все данные моментального снимка для проигрывателя, выполнившего вход в систему.
Вызывает предоставленный FetchAllCallback
после завершения операции. Если не указать data_source
этот вызов функции будет эквивалентен вызову FetchAll(DataSource data_source, FetchAllCallback callback)
с data_source
, указанным как CACHE_OR_NETWORK.
Получить все
void FetchAll( DataSource data_source, FetchAllCallback callback )
Асинхронно загружает все данные моментального снимка для проигрывателя, выполнившего вход в систему.
Вызывает предоставленный FetchAllCallback
после завершения операции. Укажите data_source
как CACHE_OR_NETWORK
или NETWORK_ONLY
.
FetchAllBlocking
FetchAllResponse FetchAllBlocking()
Синхронно загружает все данные моментального снимка для игрока, выполнившего вход в систему, напрямую возвращая FetchAllResponse
.
Если не указать ни data_source
, ни timeout
вызов этой функции будет эквивалентен вызову FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, где data_source
указан как CACHE_OR_NETWORK
, а timeout
указано как 10 лет.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source )
Синхронно загружает все данные моментального снимка для игрока, выполнившего вход в систему, напрямую возвращая FetchAllResponse
.
Укажите data_source
как CACHE_OR_NETWORK
или NETWORK_ONLY
. Если не указать timeout
вызов этой функции будет эквивалентен вызову FetchAllBlocking FetchAllResponse (DataSource data_source,
Timeout timeout)
с указанным вами значением data_source
и timeout
, равным 10 годам.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( Timeout timeout )
Синхронно загружает все данные моментального снимка для игрока, выполнившего вход в систему, напрямую возвращая FetchAllResponse
.
Укажите timeout
в миллисекундах. Если не указать data_source
этот вызов функции будет эквивалентен вызову FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, где data_source
указан как CACHE_OR_NETWORK
, а timeout
содержит указанное вами значение.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source, Timeout timeout )
Синхронно загружает все данные моментального снимка для игрока, выполнившего вход в систему, напрямую возвращая FetchAllResponse
.
Укажите data_source
как CACHE_OR_NETWORK
или NETWORK_ONLY
. Укажите timeout
в миллисекундах.
GetMaxSize
void GetMaxSize( MaxSizeCallback callback ) const
Асинхронно получает максимальный размер данных и максимальный размер изображения обложки для каждого снимка в байтах.
Вызывает предоставленный MaxSizeCallback
после завершения операции.
Максимальный размер данных на снимок гарантированно составляет не менее 3 МБ. Возможно увеличение в будущем.
Максимальный размер данных для обложки снимка гарантированно составляет не менее 800 КБ. Возможно увеличение в будущем.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
Синхронно получает максимальный размер данных и максимальный размер изображения обложки для каждого снимка в байтах, напрямую возвращая MaxSizeResponse
.
Максимальный размер данных на снимок гарантированно составляет не менее 3 МБ. Возможно увеличение в будущем.
Максимальный размер данных для обложки снимка гарантированно составляет не менее 800 КБ. Возможно увеличение в будущем.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
Синхронно получает максимальный размер данных и максимальный размер изображения обложки для каждого снимка в байтах, напрямую возвращая MaxSizeResponse
.
Максимальный размер данных на снимок гарантированно составляет не менее 3 МБ. Возможно увеличение в будущем.
Максимальный размер данных для обложки снимка гарантированно составляет не менее 800 КБ. Возможно увеличение в будущем.
Укажите timeout
в миллисекундах.
Открыть
void Open( const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
Асинхронно открывает снимок с заданным именем.
Указанный снимок будет создан, если он еще не существует. Вызывает предоставленный OpenCallback
после завершения операции.
Имена снимков должны содержать от 1 до 100 символов, не зарезервированных для URL-адреса (az, AZ, 0–9 или символы «-», «.», «_» или «~»).
Конфликты могут возникнуть, если другое устройство фиксирует снимок между загрузкой и фиксацией снимка на текущем устройстве. Вы должны разрешить эти конфликты. См. выше OpenResponse для получения более подробной информации о конфликтах.
conflict_policy
может иметь одно из следующих значений:
SnapshotConflictPolicy::MANUAL
— в случае конфликта ответ имеет состояние OpenResponse::VALID_WITH_CONFLICT
. Вы должны разрешить конфликт с помощью SnapshotManager::ResolveConflict
. Можно увидеть несколько конфликтов подряд, поэтому проверяйте каждый раз, когда вызываете Open
. Это единственная политика, где вы увидите конфликт. Остальные обрабатывают разрешение за вас. Эта политика гарантирует, что никакие пользовательские изменения состояния сохраненной игры никогда не будут потеряны.
SnapshotConflictPolicy::LONGEST_PLAYTIME
— в случае конфликта будет использоваться снимок с наибольшим значением времени воспроизведения. Эта политика является хорошим выбором, если продолжительность игрового времени является разумным показателем «лучшего» сохранения игры. Обратите внимание, что вы должны использовать SnapshotMetadataChange::Builder::SetPlayedTime()
при сохранении игр, чтобы эта политика имела смысл.
SnapshotConflictPolicy::LAST_KNOWN_GOOD
— в случае конфликта будет использоваться базовый снимок. Эта политика является разумным выбором, если ваша игра требует стабильности данных моментального снимка. Эта политика гарантирует, что игроку будут видны только записи, которые не оспариваются, что гарантирует сходимость всех клиентов. Примечание: ранее SnapshotManager::BASE_WINS
SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED
— в случае конфликта будет использоваться пульт. Эта политика является разумным выбором, если ваша игра допускает, чтобы игроки на нескольких устройствах блокировали свои собственные изменения. Поскольку эта политика слепо выбирает самые последние данные, вполне возможно, что изменения игрока могут быть потеряны. Примечание: ранее SnapshotManager::REMOTE_WINS
SnapshotConflictPolicy::HIGHEST_PROGRESS
В случае конфликта будет использоваться снимок с наибольшим значением прогресса. В случае ничьей вместо этого будет выбран последний удачный снимок. Эта политика является хорошим выбором, если ваша игра использует значение прогресса снимка для определения лучшей сохраненной игры. Обратите внимание, что вы должны использовать SnapshotMetadataChange::Builder::SetPlayedTime()
при сохранении игр, чтобы эта политика имела смысл.
Открыть
void Open( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
Асинхронно открывает снимок с заданным именем.
Устарело. data_source
игнорируется. Вместо этого используйте Open(file_name, conflict_policy, callback)
.
Открытая блокировка
OpenResponse OpenBlocking( const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Синхронно открывает снимок с заданным именем.
Указанный снимок будет создан, если он еще не существует.
См. Открыть для более подробной информации.
Открытая блокировка
OpenResponse OpenBlocking( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Синхронно открывает снимок с заданным именем.
Указанный снимок будет создан, если он еще не существует.
Укажите timeout
в миллисекундах.
См. Открыть для более подробной информации.
Открытая блокировка
OpenResponse OpenBlocking( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Синхронно открывает снимок с заданным именем.
Устарело. data_source
игнорируется. Вместо этого используйте OpenBlocking(file_name, conflict_policy)
.
Открытая блокировка
OpenResponse OpenBlocking( DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Синхронно открывает снимок с заданным именем.
Устарело. data_source
игнорируется. Вместо этого используйте OpenBlocking(timeout, file_name, conflict_policy)
.
Читать
void Read( const SnapshotMetadata & snapshot_metadata, ReadCallback callback )
Асинхронно считывает снимок с диска и копирует его в память.
Данные передаются обратно по значению для упрощения модификации. Каждый вызов этой функции приводит к полному чтению. Это означает, что обычно лучше прочитать снимок только один раз. Вызывает предоставленный ReadCallback
после завершения операции.
Блокировка чтения
ReadResponse ReadBlocking( const SnapshotMetadata & snapshot_metadata )
Синхронно считывает снимок с диска и копирует его в память.
Данные передаются обратно по значению для упрощения модификации. Каждый вызов этой функции приводит к полному чтению. Это означает, что обычно лучше прочитать снимок только один раз. Если не указать timeout
вызов этой функции будет эквивалентен вызову ReadBlocking ReadBlocking(Timeout timeout,
const SnapshotMetadata & snapshot_metadata)
с timeout
, указанным как 10 лет.
Блокировка чтения
ReadResponse ReadBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata )
Синхронно считывает снимок с диска и копирует его в память.
Данные передаются обратно по значению для упрощения модификации. Каждый вызов этого метода выполняет полное чтение, поэтому обычно снимок считывается только один раз. Укажите timeout
в миллисекундах.
Разрешение конфликта
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback )
Асинхронно разрешает конфликт, используя данные из предоставленного моментального снимка.
Это заменит данные на сервере указанным снимком. Обратите внимание, что эта операция может сама привести к конфликту, и в этом случае разрешение следует повторить.
Вызов этого метода со снимком, который уже был зафиксирован или не был открыт с помощью Open, завершится ошибкой со статусом BaseStatus::ERROR_INTERNAL .
Вызывает предоставленный OpenCallback
после завершения операции.
Разрешение конфликта
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback )
Асинхронно разрешает конфликт, используя предоставленные данные.
Это заменит данные на сервере указанными изменениями метаданных и contents
. Обратите внимание, что эта операция может сама привести к конфликту, и в этом случае разрешение следует повторить.
Значения, которые не включены в изменение метаданных, будут преобразованы в версию, которая в данный момент находится на сервере.
Обратите внимание, что общий размер contents
не может превышать maxDataSize
предоставляемый GetMaxSize .
Вызов этого метода со снимком, который уже был зафиксирован или не был открыт с помощью Open, завершится ошибкой со статусом BaseStatus::ERROR_INTERNAL .
Вызывает предоставленный OpenCallback
после завершения операции.
Разрешение конфликтаБлокировка
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
Синхронно разрешает конфликт, используя данные из предоставленного моментального снимка.
Это заменит данные на сервере указанным снимком. Обратите внимание, что эта операция может сама привести к конфликту, и в этом случае разрешение следует повторить.
Вызов этого метода со снимком, который уже был зафиксирован или не был открыт с помощью Open, завершится ошибкой со статусом BaseStatus::ERROR_INTERNAL .
Разрешение конфликтаБлокировка
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Синхронно разрешает конфликт, используя предоставленные данные.
Это заменит данные на сервере указанными изменениями метаданных и contents
. Обратите внимание, что эта операция может сама привести к конфликту, и в этом случае разрешение следует повторить.
Значения, которые не включены в изменение метаданных, будут преобразованы в версию, которая в данный момент находится на сервере.
Обратите внимание, что общий размер contents
не может превышать maxDataSize
предоставляемый GetMaxSize .
Вызов этого метода со снимком, который уже был зафиксирован или не был открыт с помощью Open, завершится ошибкой со статусом BaseStatus::ERROR_INTERNAL .
Разрешение конфликтаБлокировка
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
Синхронно разрешает конфликт, используя данные из предоставленного моментального снимка.
Это заменит данные на сервере указанным снимком. Обратите внимание, что эта операция может сама привести к конфликту, и в этом случае разрешение следует повторить.
Вызов этого метода со снимком, который уже был зафиксирован или не был открыт с помощью Open, завершится ошибкой со статусом BaseStatus::ERROR_INTERNAL .
Укажите timeout
в миллисекундах.
Разрешение конфликтаБлокировка
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Синхронно разрешает конфликт, используя предоставленные данные.
Это заменит данные на сервере указанными изменениями метаданных и contents
. Обратите внимание, что эта операция может сама привести к конфликту, и в этом случае разрешение следует повторить.
Значения, которые не включены в изменение метаданных, будут преобразованы в версию, которая в данный момент находится на сервере.
Обратите внимание, что общий размер contents
не может превышать maxDataSize
предоставляемый GetMaxSize .
Вызов этого метода со снимком, который уже был зафиксирован или не был открыт с помощью Open, завершится ошибкой со статусом BaseStatus::ERROR_INTERNAL .
Укажите timeout
в миллисекундах.
ПоказатьSelectUIOperation
void ShowSelectUIOperation( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback )
Асинхронно отображает пользовательский интерфейс снимка, позволяя игроку выбрать снимок или запросить новый снимок.
По завершении выбранный снимок или запрос на новый снимок возвращается через SnapshotSelectUICallback
.
ПоказатьSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
Блокирующая версия ShowSelectUIOperation .
Позволяет вызывающему абоненту указать таймаут в мс. По истечении указанного времени функция возвращает ERROR_TIMEOUT
.
ПоказатьSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
Перегрузка ShowSelectUIOperationBlocking , которая использует тайм-аут по умолчанию, равный 10 годам.