gpg:: SnapshotManager
#include <snapshot_manager.h>
さまざまなスナップショット関連データを取得して設定します。
概要
アプリが認証時にスナップショットを有効にしていない場合(GameServices::Builder::EnableSnapshots を参照)、SnapshotManager
のほとんどのメソッドが失敗します。
公開タイプ |
|
---|---|
CommitCallback
|
typedefstd::function< void(const CommitResponse &)>
CommitResponse を受け取るコールバック タイプを定義します。 |
FetchAllCallback
|
typedefstd::function< void(const FetchAllResponse &)>
FetchAllResponse を受け取るコールバック タイプを定義します。 |
MaxSizeCallback
|
typedefstd::function< void(const MaxSizeResponse &)>
MaxSizeResponse を受け取るコールバック タイプを定義します。 |
OpenCallback
|
typedefstd::function< void(const OpenResponse &)>
OpenResponse を受け取るコールバック タイプを定義します。 |
ReadCallback
|
typedefstd::function< void(const ReadResponse &)>
ReadResponse を受け取るコールバック タイプを定義します。 |
SnapshotSelectUICallback
|
typedefstd::function< void(const SnapshotSelectUIResponse &)>
ShowSelectUIOperation から SnapshotSelectUIResponse を受け取れるコールバックを定義します。 |
パブリック関数 |
|
---|---|
Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
|
void
スナップショットに提供されたデータを非同期で commit し、提供されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
|
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
スナップショットに提供されたデータを同期的に commit し、提供されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
|
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
スナップショットに提供されたデータを同期的に commit し、提供されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
|
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)
|
<ph type="x-smartling-placeholder"></ph>
非推奨。で確認できます。
data_source は無視されます。代わりに OpenBlocking(file_name, conflict_policy) を使用してください。指定した名前のスナップショットを同期的に開きます。 |
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
<ph type="x-smartling-placeholder"></ph>
非推奨。で確認できます。
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
スナップショットの UI を非同期的に表示し、プレーヤーがスナップショットを選択したり、新しいスナップショットをリクエストしたりできるようにします。
|
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)
|
デフォルトのタイムアウト(10 年)を使用する ShowSelectUIOperationBlocking のオーバーロードです。
|
構造体 |
|
---|---|
gpg:: |
更新されたスナップショットのデータとレスポンス ステータスを保持します。 |
gpg:: |
すべてのスナップショットのすべてのデータとレスポンスのステータスを保持します。 |
gpg:: |
スナップショット データとスナップショットのカバー画像の最大サイズを保持します。 |
gpg:: |
リクエストされた特定のスナップショットのデータとレスポンスのステータスを保持します。 |
gpg:: |
スナップショット読み取りオペレーションから返されたレスポンス ステータスとスナップショット データを読み取ります。 |
gpg:: |
|
公開タイプ
CommitCallback
std::function< void(const CommitResponse &)> CommitCallback
CommitResponse
を受け取るコールバック タイプを定義します。
このコールバックの型は、以下の Commit(*)
関数と ResolveConflict(*)
関数に提供されます。
FetchAllCallback
std::function< void(const FetchAllResponse &)> FetchAllCallback
FetchAllResponse
を受け取るコールバック タイプを定義します。
このコールバックの型は、以下の FetchAll(*)
関数に提供されます。
MaxSizeCallback
std::function< void(const MaxSizeResponse &)> MaxSizeCallback
MaxSizeResponse
を受け取るコールバック タイプを定義します。
このコールバックの型は GetMaxSize に提供されます。
OpenCallback
std::function< void(const OpenResponse &)> OpenCallback
OpenResponse
を受け取るコールバック タイプを定義します。
このコールバックの型は、以下の Open(*)
関数に提供されます。
ReadCallback
std::function< void(const ReadResponse &)> ReadCallback
ReadResponse
を受け取るコールバック タイプを定義します。
このコールバックの型は、以下の Read(*)
関数に提供されます。
SnapshotSelectUICallback
std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback
ShowSelectUIOperation
から SnapshotSelectUIResponse
を受け取れるコールバックを定義します。
パブリック関数
commit
void Commit( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback )
スナップショットに提供されたデータを非同期で commit し、提供されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
オペレーションの完了時に、指定された CommitCallback
を呼び出します。
CommitBlocking
CommitResponse CommitBlocking( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
スナップショットに提供されたデータを同期的に commit し、提供されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
CommitBlocking
CommitResponse CommitBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
スナップショットに提供されたデータを同期的に commit し、指定されたメタデータ オブジェクトを使用してスナップショットのメタデータを更新します。
timeout
をミリ秒単位で指定します。
削除
void Delete( const SnapshotMetadata & snapshot_metadata )
指定したスナップショットを削除します。
これにより、ローカルとサーバーにあるスナップショットのデータが削除されます。
FetchAll
void FetchAll( FetchAllCallback callback )
現在ログインしているプレーヤーのすべてのスナップショット データを非同期的に読み込みます。
オペレーションの完了時に、指定された FetchAllCallback
を呼び出します。data_source
を指定しないと、この関数呼び出しは、data_source
を CACHE_OR_NETWORK.
として指定して FetchAll(DataSource data_source, FetchAllCallback callback)
を呼び出す場合と同じになります。
FetchAll
void FetchAll( DataSource data_source, FetchAllCallback callback )
現在ログインしているプレーヤーのすべてのスナップショット データを非同期的に読み込みます。
オペレーションの完了時に、指定された FetchAllCallback
を呼び出します。data_source
を CACHE_OR_NETWORK
または NETWORK_ONLY
として指定します。
FetchAllBlocking
FetchAllResponse FetchAllBlocking()
現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、FetchAllResponse
を直接返します。
data_source
と timeout
のどちらも指定しない場合、この関数呼び出しは、data_source
を CACHE_OR_NETWORK
、timeout
を 10 年として FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
を呼び出す場合と同じになります。
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source )
現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、FetchAllResponse
を直接返します。
data_source
を CACHE_OR_NETWORK
または NETWORK_ONLY
として指定します。timeout
を指定しないと、この関数呼び出しは、指定した data_source
値で FetchAllBlocking FetchAllResponse(DataSource data_source,
Timeout timeout)
を呼び出し、timeout
に 10 年を指定するのと同じ結果になります。
FetchAllBlocking
FetchAllResponse FetchAllBlocking( Timeout timeout )
現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、FetchAllResponse
を直接返します。
timeout
をミリ秒単位で指定します。data_source
を指定しないと、この関数呼び出しは、data_source
を CACHE_OR_NETWORK
に指定し、timeout
に指定した値を指定して、FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout 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 MB 以上であることが保証されます。今後増加する可能性があります。
スナップショット カバー画像あたりの最大データサイズは 800 KB 以上であることが保証されています。今後増加する可能性があります。
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
スナップショットごとに最大データサイズと最大カバー画像サイズ(バイト単位)を同期的に取得し、MaxSizeResponse
を直接返します。
スナップショットあたりの最大データサイズは 3 MB 以上であることが保証されます。今後増加する可能性があります。
スナップショット カバー画像あたりの最大データサイズは 800 KB 以上であることが保証されています。今後増加する可能性があります。
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
スナップショットごとに最大データサイズと最大カバー画像サイズ(バイト単位)を同期的に取得し、MaxSizeResponse
を直接返します。
スナップショットあたりの最大データサイズは 3 MB 以上であることが保証されます。今後増加する可能性があります。
スナップショット カバー画像あたりの最大データサイズは 800 KB 以上であることが保証されています。今後増加する可能性があります。
timeout
をミリ秒単位で指定します。
開く
void Open( const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
指定した名前のスナップショットを非同期で開きます。
指定したスナップショットが存在しない場合は作成されます。オペレーションの完了時に、指定された OpenCallback
を呼び出します。
スナップショット名は、URL 予約されていない文字(a ~ z、A ~ Z、0 ~ 9、または記号「-」、「.」、「_」、「~」)で 1 ~ 100 文字にする必要があります。
現在のデバイスへのスナップショットの読み込みと commit の間に別のデバイスがスナップショットを commit すると、競合が発生することがあります。これらの競合を解決する必要があります。競合について詳しくは、上記の 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 )
OpenBlocking
OpenResponse OpenBlocking( const std::string & file_name, SnapshotConflictPolicy conflict_policy )
OpenBlocking
OpenResponse OpenBlocking( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
読み取り
void Read( const SnapshotMetadata & snapshot_metadata, ReadCallback callback )
ディスクからスナップショットを非同期的に読み取り、メモリにコピーします。
データは値により渡され、簡単に変更できるようになっています。この関数を呼び出すたびに、完全な読み取りが行われます。つまり、通常はスナップショットを 1 回だけ読み取るのが最善です。オペレーションの完了時に、指定された ReadCallback
を呼び出します。
ReadBlocking
ReadResponse ReadBlocking( const SnapshotMetadata & snapshot_metadata )
ディスクからスナップショットを同期的に読み取り、メモリにコピーします。
データは値により渡され、簡単に変更できるようになっています。この関数を呼び出すたびに、完全な読み取りが行われます。つまり、通常はスナップショットを 1 回だけ読み取るのが最善です。timeout
を指定しないと、この関数呼び出しは、timeout
に 10 年を指定して ReadBlocking ReadBlocking(Timeout timeout,
const SnapshotMetadata& snapshot_metadata)
を呼び出す場合と同じになります。
ReadBlocking
ReadResponse ReadBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata )
ディスクからスナップショットを同期的に読み取り、メモリにコピーします。
データは値により渡され、簡単に変更できるようになっています。これに対する各呼び出しは完全な読み取りを行うため、通常はスナップショットを 1 回だけ読み取ります。timeout
をミリ秒単位で指定します。
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback )
指定されたスナップショットのデータを使用して、競合を非同期で解決します。
これにより、サーバー上のデータが指定したスナップショットに置き換えられます。この操作自体が競合を引き起こす可能性があるため、解決を繰り返す必要があります。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットを使用してこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
オペレーションの完了時に、指定された OpenCallback
を呼び出します。
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback )
提供されたデータを使用して、競合を非同期的に解決します。
これにより、サーバー上のデータが、指定したメタデータの変更と contents
に置き換えられます。この操作自体が競合を引き起こす可能性があるため、解決を繰り返す必要があります。
メタデータの変更に含まれていない値は、現在サーバー上にあるバージョンに解決されます。
contents
の合計サイズは、GetMaxSize によって提供される maxDataSize
を超えることはできません。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットを使用してこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
オペレーションの完了時に、指定された OpenCallback
を呼び出します。
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
指定されたスナップショットのデータを使用して競合を同期的に解決します。
これにより、サーバー上のデータが指定したスナップショットに置き換えられます。この操作自体が競合を引き起こす可能性があるため、解決を繰り返す必要があります。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットを使用してこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
提供されたデータを使用して、競合を同期的に解決します。
これにより、サーバー上のデータが、指定したメタデータの変更と contents
に置き換えられます。この操作自体が競合を引き起こす可能性があるため、解決を繰り返す必要があります。
メタデータの変更に含まれていない値は、現在サーバー上にあるバージョンに解決されます。
contents
の合計サイズは、GetMaxSize によって提供される maxDataSize
を超えることはできません。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットを使用してこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
指定されたスナップショットのデータを使用して競合を同期的に解決します。
これにより、サーバー上のデータが指定したスナップショットに置き換えられます。この操作自体が競合を引き起こす可能性があるため、解決を繰り返す必要があります。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットを使用してこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
timeout
をミリ秒単位で指定します。
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
提供されたデータを使用して、競合を同期的に解決します。
これにより、サーバー上のデータが、指定したメタデータの変更と contents
に置き換えられます。この操作自体が競合を引き起こす可能性があるため、解決を繰り返す必要があります。
メタデータの変更に含まれていない値は、現在サーバー上にあるバージョンに解決されます。
contents
の合計サイズは、GetMaxSize によって提供される maxDataSize
を超えることはできません。
すでに commit されているスナップショットまたは Open で開かれていないスナップショットを使用してこのメソッドを呼び出すと、BaseStatus::ERROR_INTERNAL ステータスで失敗します。
timeout
をミリ秒単位で指定します。
ShowSelectUIOperation
void ShowSelectUIOperation( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback )
スナップショットの UI を非同期的に表示し、プレーヤーがスナップショットを選択したり、新しいスナップショットをリクエストしたりできるようにします。
完了すると、選択したスナップショットまたは新しいスナップショット リクエストが SnapshotSelectUICallback
を介して返されます。
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
ShowSelectUIOperation のブロック バージョン。
呼び出し元がタイムアウトをミリ秒単位で指定できるようにします。指定された時間が経過すると、関数は ERROR_TIMEOUT
を返します。
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
デフォルトのタイムアウト(10 年)を使用する ShowSelectUIOperationBlocking のオーバーロードです。