gpg::SnapshotManager

#include <snapshot_manager.h>

スナップショット関連のさまざまなデータを取得して設定します。

概要

アプリが認証時にスナップショットを有効にしなかった場合(GameServices::Builder::EnableSnapshots を参照)、SnapshotManager のほとんどのメソッドは失敗します。

パブリック タイプ

CommitCallback typedef
std::function< void(const CommitResponse &)>
CommitResponse を受け取るコールバック タイプを定義します。
FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
FetchAllResponse を受け取るコールバック タイプを定義します。
MaxSizeCallback typedef
std::function< void(const MaxSizeResponse &)>
MaxSizeResponse を受け取るコールバック タイプを定義します。
OpenCallback typedef
std::function< void(const OpenResponse &)>
OpenResponse を受け取るコールバック タイプを定義します。
ReadCallback typedef
std::function< void(const ReadResponse &)>
ReadResponse を受け取るコールバック タイプを定義します。
SnapshotSelectUICallback typedef
std::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) 非推奨。 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
スナップショット 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::SnapshotManager::CommitResponse

更新されたスナップショットのデータとレスポンスのステータスを保持します。

gpg::SnapshotManager::FetchAllResponse

すべてのスナップショットのすべてのデータと、レスポンスのステータスを保持します。

gpg::SnapshotManager::MaxSizeResponse

スナップショット データとスナップショットのカバー画像の最大サイズを保持します。

gpg::SnapshotManager::OpenResponse

リクエストされた特定のスナップショットのデータとレスポンスのステータスを保持します。

gpg::SnapshotManager::ReadResponse

スナップショット読み取りオペレーションから返されたレスポンス ステータスとスナップショット データを読み取ります。

gpg::SnapshotManager::SnapshotSelectUIResponse

ShowSelectUIOperation オペレーションの DataResponseStatus

パブリック タイプ

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_sourceCACHE_OR_NETWORK. に指定した FetchAll(DataSource data_source, FetchAllCallback callback) の呼び出しと同等になります。

FetchAll

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

現在ログインしているプレーヤーのすべてのスナップショット データを非同期で読み込みます。

オペレーションの完了時に、指定された FetchAllCallback を呼び出します。data_sourceCACHE_OR_NETWORK または NETWORK_ONLY として指定します。

FetchAllBlocking

FetchAllResponse FetchAllBlocking()

現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、FetchAllResponse を直接返します。

data_sourcetimeout も指定しないと、この関数呼び出しは FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout) の呼び出し(data_sourceCACHE_OR_NETWORKtimeout は 10 年)と同等になります。

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、FetchAllResponse を直接返します。

data_sourceCACHE_OR_NETWORK または NETWORK_ONLY として指定します。timeout を指定しないと、この関数呼び出しは、data_source に指定した値と 10 年を指定した timeoutFetchAllBlocking FetchAllResponse(DataSource data_source, Timeout timeout) を呼び出す場合と同じになります。

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、FetchAllResponse を直接返します。

timeout をミリ秒単位で指定します。data_source を指定しないと、この関数呼び出しは FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout) の呼び出しと同等になります。data_sourceCACHE_OR_NETWORK に指定され、timeout には指定された値が含まれます。

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source,
  Timeout timeout
)

現在ログインしているプレーヤーのすべてのスナップショット データを同期的に読み込み、FetchAllResponse を直接返します。

data_sourceCACHE_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 予約されていない 1 ~ 100 文字(a ~ z、A ~ Z、0 ~ 9、または記号「-」、「.」、「_」、「~」)で指定してください。

現在のデバイスに対するスナップショットの読み込みと 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
)

指定した名前のスナップショットを非同期で開きます。

非推奨。 data_source は無視されます。代わりに Open(file_name, conflict_policy, 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
)

指定した名前のスナップショットを同期的に開きます。

指定したスナップショットがまだ存在しない場合は作成されます。

timeout をミリ秒単位で指定します。

詳しくは、開くをご覧ください。

OpenBlocking

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

指定した名前のスナップショットを同期的に開きます。

非推奨。 data_source は無視されます。代わりに OpenBlocking(file_name, conflict_policy) を使用してください。

OpenBlocking

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
)

ディスクからスナップショットを非同期で読み取り、メモリにコピーします。

簡単に修正できるように、データは値によって返されます。この関数を呼び出すたびに完全な読み取りが行われます。つまり、通常はスナップショットを 1 回だけ読み取るのが最善です。オペレーションの完了時に、指定された ReadCallback を呼び出します。

ReadBlocking

ReadResponse ReadBlocking(
  const SnapshotMetadata & snapshot_metadata
)

スナップショットを同期的にディスクから読み取り、メモリにコピーします。

簡単に修正できるように、データは値によって返されます。この関数を呼び出すたびに完全な読み取りが行われます。つまり、通常はスナップショットを 1 回だけ読み取るのが最善です。timeout を指定しないと、この関数呼び出しは ReadBlocking ReadBlocking(Timeout timeout, const SnapshotMetadata& snapshot_metadata) の呼び出しと同等になります(timeout は 10 年として指定します)。

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 のオーバーロード。