gpg::SnapshotManager

#include <snapshot_manager.h>

Pobiera i ustawia różne dane związane ze zrzutami.

Podsumowanie

Jeśli aplikacja nie włączy zrzutów podczas uwierzytelniania (patrz GameServices::Builder::EnableSnapshots), większość metod w SnapshotManager zadziała.

Typy publiczne

CommitCallback typedef
std::function< void(const CommitResponse &)>
Określa typ wywołania zwrotnego, który odbiera CommitResponse.
FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
Określa typ wywołania zwrotnego, który odbiera FetchAllResponse.
MaxSizeCallback typedef
std::function< void(const MaxSizeResponse &)>
Określa typ wywołania zwrotnego, który odbiera MaxSizeResponse.
OpenCallback typedef
std::function< void(const OpenResponse &)>
Określa typ wywołania zwrotnego, który odbiera OpenResponse.
ReadCallback typedef
std::function< void(const ReadResponse &)>
Określa typ wywołania zwrotnego, który odbiera ReadResponse.
SnapshotSelectUICallback typedef
std::function< void(const SnapshotSelectUIResponse &)>
Definiuje wywołanie zwrotne, które może otrzymać żądanie SnapshotSelectUIResponse od użytkownika ShowSelectUIOperation.

Funkcje publiczne

Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
void
Asynchronicznie zatwierdza dane dostarczone do zrzutu i aktualizuje metadane zrzutu za pomocą dostarczonego obiektu metadanych.
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Synchronicznie zatwierdza dane przekazane do zrzutu i aktualizuje metadane zrzutu za pomocą dostarczonego obiektu metadanych.
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Synchronicznie zatwierdza dane przekazane do zrzutu i aktualizuje metadane zrzutu za pomocą dostarczonego obiektu metadanych.
Delete(const SnapshotMetadata & snapshot_metadata)
void
Usuwa określony zrzut.
FetchAll(FetchAllCallback callback)
void
Asynchronicznie wczytuje wszystkie dane zrzutu dysku aktualnie zalogowanego odtwarzacza.
FetchAll(DataSource data_source, FetchAllCallback callback)
void
Asynchronicznie wczytuje wszystkie dane zrzutu dysku aktualnie zalogowanego odtwarzacza.
FetchAllBlocking()
Synchronicznie wczytuje wszystkie dane dotyczące zrzutu dysku w przypadku aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.
FetchAllBlocking(DataSource data_source)
Synchronicznie wczytuje wszystkie dane dotyczące zrzutu dysku w przypadku aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.
FetchAllBlocking(Timeout timeout)
Synchronicznie wczytuje wszystkie dane dotyczące zrzutu dysku w przypadku aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.
FetchAllBlocking(DataSource data_source, Timeout timeout)
Synchronicznie wczytuje wszystkie dane dotyczące zrzutu dysku w przypadku aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.
GetMaxSize(MaxSizeCallback callback) const
void
Asynchronicznie pobiera maksymalny rozmiar danych i maksymalny rozmiar zdjęcia okładki na zrzut w bajtach.
GetMaxSizeBlocking() const
Synchronicznie pobiera maksymalny rozmiar danych i maksymalny rozmiar obrazu okładki na zrzut w bajtach, zwracając bezpośrednio wartość MaxSizeResponse.
GetMaxSizeBlocking(Timeout timeout) const
Synchronicznie pobiera maksymalny rozmiar danych i maksymalny rozmiar obrazu okładki na zrzut w bajtach, zwracając bezpośrednio wartość MaxSizeResponse.
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Asynchronicznie otwiera zrzut o podanej nazwie.
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Wycofano. data_source jest ignorowany(a). Użyj w zamian zasady Open(file_name, conflict_policy, callback).
Asynchronicznie otwiera zrzut o podanej nazwie.
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Synchronicznie otwiera zrzut o podanej nazwie.
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Synchronicznie otwiera zrzut o podanej nazwie.
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Wycofano. data_source jest ignorowany(a). Użyj w zamian zasady OpenBlocking(file_name, conflict_policy).
Synchronicznie otwiera zrzut o podanej nazwie.
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Wycofano. data_source jest ignorowany(a). Użyj w zamian zasady OpenBlocking(timeout, file_name, conflict_policy).
Synchronicznie otwiera zrzut o podanej nazwie.
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
void
Asynchronicznie odczytuje zrzut z dysku i kopiuje go do pamięci.
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
Synchronicznie odczytuje zrzut z dysku i kopiuje go do pamięci.
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
Synchronicznie odczytuje zrzut z dysku i kopiuje go do pamięci.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
void
Asynchronicznie rozwiązuje konflikt przy użyciu danych z udostępnionego zrzutu.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
void
Asynchronicznie rozwiązuje konflikt przy użyciu podanych danych.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Synchronicznie rozwiązuje konflikt przy użyciu danych z udostępnionego zrzutu.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Synchronicznie rozwiązuje konflikt przy użyciu podanych danych.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Synchronicznie rozwiązuje konflikt przy użyciu danych z udostępnionego zrzutu.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Synchronicznie rozwiązuje konflikt przy użyciu podanych danych.
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
void
Asynchronicznie pokazuje interfejs zrzutu, dzięki czemu odtwarzacz może wybrać zrzut lub poprosić o nowy.
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Wersja blokująca instrukcję ShowSelectUIOperation.
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Przeciążenie funkcji ShowSelectUIOperationBlocking, która używa domyślnego czasu oczekiwania wynoszącego 10 lat.

Konstrukcja

gpg::SnapshotManager::CommitResponse

Przechowuje dane zaktualizowanego zrzutu wraz ze stanem odpowiedzi.

gpg::SnapshotManager::FetchAllResponse

Przechowuje wszystkie dane dotyczące wszystkich zrzutów wraz ze stanem odpowiedzi.

gpg::SnapshotManager::MaxSizeResponse

Zawiera maksymalny rozmiar danych migawki i zdjęcia okładki migawki.

gpg::SnapshotManager::OpenResponse

Przechowuje dane konkretnego żądanego zrzutu wraz ze stanem odpowiedzi.

gpg::SnapshotManager::ReadResponse

Odczytuje stan odpowiedzi i dane zrzutu zwrócone przez operację odczytu zrzutu.

gpg::SnapshotManager::SnapshotSelectUIResponse

Data i ResponseStatus dla operacji ShowSelectUIOperation.

Typy publiczne

CommitCallback

std::function< void(const CommitResponse &)> CommitCallback

Określa typ wywołania zwrotnego, który odbiera CommitResponse.

Ten typ wywołania zwrotnego jest udostępniany poniższym funkcjom Commit(*) i ResolveConflict(*).

FetchAllCallback

std::function< void(const FetchAllResponse &)> FetchAllCallback

Określa typ wywołania zwrotnego, który odbiera FetchAllResponse.

Ten typ wywołania zwrotnego jest udostępniany poniższym funkcjom FetchAll(*).

MaxSizeCallback

std::function< void(const MaxSizeResponse &)> MaxSizeCallback

Określa typ wywołania zwrotnego, który odbiera MaxSizeResponse.

Ten typ wywołania zwrotnego jest przekazywany dla metody GetMaxSize.

OpenCallback

std::function< void(const OpenResponse &)> OpenCallback

Określa typ wywołania zwrotnego, który odbiera OpenResponse.

Ten typ wywołania zwrotnego jest udostępniany poniższym funkcjom Open(*).

ReadCallback

std::function< void(const ReadResponse &)> ReadCallback

Określa typ wywołania zwrotnego, który odbiera ReadResponse.

Ten typ wywołania zwrotnego jest udostępniany poniższym funkcjom Read(*).

SnapshotSelectUICallback

std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback

Definiuje wywołanie zwrotne, które może otrzymać żądanie SnapshotSelectUIResponse od użytkownika ShowSelectUIOperation.

Funkcje publiczne

Zatwierdź

void Commit(
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > data,
  CommitCallback callback
)

Asynchronicznie zatwierdza dane dostarczone do zrzutu i aktualizuje metadane zrzutu za pomocą dostarczonego obiektu metadanych.

Po zakończeniu operacji wywołuje podany CommitCallback.

CommitBlocking

CommitResponse CommitBlocking(
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Synchronicznie zatwierdza dane przekazane do zrzutu i aktualizuje metadane zrzutu za pomocą dostarczonego obiektu metadanych.

CommitBlocking

CommitResponse CommitBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Synchronicznie zatwierdza dane przekazane do zrzutu i aktualizuje metadane zrzutu za pomocą dostarczonego obiektu metadanych.

Określ wartość timeout w milisekundach.

Usuń

void Delete(
  const SnapshotMetadata & snapshot_metadata
)

Usuwa określony zrzut.

Spowoduje to usunięcie danych zrzutu dysku lokalnie i na serwerze.

FetchAll

void FetchAll(
  FetchAllCallback callback
)

Asynchronicznie wczytuje wszystkie dane zrzutu dysku aktualnie zalogowanego odtwarzacza.

Po zakończeniu operacji wywołuje podany FetchAllCallback. Jeśli nie określisz data_source, wywołanie tej funkcji będzie równoważne wywołaniu FetchAll(DataSource data_source, FetchAllCallback callback), gdzie data_source jest określony jako CACHE_OR_NETWORK.

FetchAll

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

Asynchronicznie wczytuje wszystkie dane zrzutu dysku aktualnie zalogowanego odtwarzacza.

Po zakończeniu operacji wywołuje podany FetchAllCallback. Określ data_source jako CACHE_OR_NETWORK lub NETWORK_ONLY.

FetchAllBlocking

FetchAllResponse FetchAllBlocking()

Synchronicznie wczytuje wszystkie dane dotyczące zrzutu dysku w przypadku aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.

Jeśli określisz wartość data_source ani timeout, to wywołanie tej funkcji będzie równoważne z wywołaniem funkcji FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), gdzie data_source podana jako CACHE_OR_NETWORK, a timeout to 10 lat.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

Synchronicznie wczytuje wszystkie dane dotyczące zrzutu dysku w przypadku aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.

Określ data_source jako CACHE_OR_NETWORK lub NETWORK_ONLY. Jeśli nie określisz timeout, wywołanie tej funkcji będzie równoważne z wywołaniem funkcji FetchAllBlocking FetchAllResponse(DataSource data_source, Timeout timeout) z podaną przez Ciebie wartością data_source i timeout określonym jako 10 lat.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

Synchronicznie wczytuje wszystkie dane dotyczące zrzutu dysku w przypadku aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.

Określ wartość timeout w milisekundach. Jeśli nie określisz data_source, wywołanie tej funkcji będzie równoważne z wywołaniem funkcji FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), gdzie data_source jest określony jako CACHE_OR_NETWORK, a timeout zawiera określoną wartość.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source,
  Timeout timeout
)

Synchronicznie wczytuje wszystkie dane dotyczące zrzutu dysku w przypadku aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.

Określ data_source jako CACHE_OR_NETWORK lub NETWORK_ONLY. Określ wartość timeout w milisekundach.

GetMaxSize

void GetMaxSize(
  MaxSizeCallback callback
) const 

Asynchronicznie pobiera maksymalny rozmiar danych i maksymalny rozmiar zdjęcia okładki na zrzut w bajtach.

Po zakończeniu operacji wywołuje podany MaxSizeCallback.

Maksymalny rozmiar danych na zrzut wynosi co najmniej 3 MB. W przyszłości może wzrosnąć.

Maksymalny rozmiar danych na obraz okładki zrzutu wynosi co najmniej 800 KB. W przyszłości może wzrosnąć.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking() const 

Synchronicznie pobiera maksymalny rozmiar danych i maksymalny rozmiar obrazu okładki na zrzut w bajtach, zwracając bezpośrednio wartość MaxSizeResponse.

Maksymalny rozmiar danych na zrzut wynosi co najmniej 3 MB. W przyszłości może wzrosnąć.

Maksymalny rozmiar danych na obraz okładki zrzutu wynosi co najmniej 800 KB. W przyszłości może wzrosnąć.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking(
  Timeout timeout
) const 

Synchronicznie pobiera maksymalny rozmiar danych i maksymalny rozmiar obrazu okładki na zrzut w bajtach, zwracając bezpośrednio wartość MaxSizeResponse.

Maksymalny rozmiar danych na zrzut wynosi co najmniej 3 MB. W przyszłości może wzrosnąć.

Maksymalny rozmiar danych na obraz okładki zrzutu wynosi co najmniej 800 KB. W przyszłości może wzrosnąć.

Określ wartość timeout w milisekundach.

Otwórz

void Open(
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy,
  OpenCallback callback
)

Asynchronicznie otwiera zrzut o podanej nazwie.

Zostanie utworzony określony zrzut, jeśli jeszcze nie istnieje. Po zakończeniu operacji wywołuje podany OpenCallback.

Nazwy zrzutów muszą mieć od 1 do 100 znaków niezastrzeżonych w adresie URL (a–z, A–Z, 0–9 lub symboli „-”, „.”, „_” bądź „~”).

Konflikty mogą wystąpić, jeśli inne urządzenie między załadowaniem a zatwierdzeniem zrzutu na bieżącym urządzeniu podejmie zrzut. Konflikty musisz rozwiązać. Więcej informacji o konfliktach znajdziesz w powyższej sekcji OpenResponse.

conflict_policy może mieć jedną z tych wartości:

SnapshotConflictPolicy::MANUAL – w przypadku konfliktu odpowiedź ma stan OpenResponse::VALID_WITH_CONFLICT, Konflikt musisz rozwiązać, używając: SnapshotManager::ResolveConflict. Konflikty może wystąpić kilka z rzędu, więc sprawdzaj je za każdym razem, gdy dzwonisz pod numer Open. To jedyna zasada, w której widać ten konflikt. Resztę znajdziesz samodzielnie. Ta zasada gwarantuje, że żaden użytkownik nie utraci zmian w stanie zapisanej gry.

SnapshotConflictPolicy::LONGEST_PLAYTIME – w przypadku konfliktu zostanie użyta migawka z największą wartością czasu odtwarzania. Ta zasada to dobry wybór, jeśli długość rozgrywki jest rozsądnym wyborem, jeśli chodzi o „najlepszy” zapis stanu. Aby ta zasada była istotna, podczas zapisywania gier musisz używać zasady SnapshotMetadataChange::Builder::SetPlayedTime().

SnapshotConflictPolicy::LAST_KNOWN_GOOD – w przypadku konfliktu zostanie użyty zrzut podstawowy. Ta zasada to rozsądny wybór, jeśli gra wymaga stabilności danych ze zrzutu. Dzięki tej zasadzie odtwarzacz widzi tylko te zapisy, które nie są przedmiotem sporu, i gwarantuje, że wszyscy klienci się zrozumieją. Uwaga: poprzednio SnapshotManager::BASE_WINS

SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED – w przypadku konfliktu będzie używany pilot. To dobry wybór, jeśli Twoja gra toleruje różne urządzenia, które zapisują własne zmiany. Ta zasada powoduje ślepy wybór najnowszych danych, dlatego możliwe jest, że zmiany gracza mogą zostać utracone. Uwaga: poprzednio SnapshotManager::REMOTE_WINS

SnapshotConflictPolicy::HIGHEST_PROGRESSW przypadku konfliktu zostanie użyta migawka z najwyższą wartością postępu. W przypadku remisu będzie wybierany ostatni dobrze znany zrzut. To dobry wybór, jeśli gra używa wartości postępu z migawki do określania najlepszej zapisanej gry. Aby ta zasada była istotna, podczas zapisywania gier musisz używać zasady SnapshotMetadataChange::Builder::SetPlayedTime().

Otwórz

void Open(
  DataSource data_source,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy,
  OpenCallback callback
)

Asynchronicznie otwiera zrzut o podanej nazwie.

Wycofano. data_source jest ignorowany(a). Użyj w zamian zasady Open(file_name, conflict_policy, callback).

OpenBlocking

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

Synchronicznie otwiera zrzut o podanej nazwie.

Zostanie utworzony określony zrzut, jeśli jeszcze nie istnieje.

Więcej informacji znajdziesz w sekcji Otwieranie.

OpenBlocking

OpenResponse OpenBlocking(
  Timeout timeout,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Synchronicznie otwiera zrzut o podanej nazwie.

Zostanie utworzony określony zrzut, jeśli jeszcze nie istnieje.

Określ wartość timeout w milisekundach.

Więcej informacji znajdziesz w sekcji Otwieranie.

OpenBlocking

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

Synchronicznie otwiera zrzut o podanej nazwie.

Wycofano. data_source jest ignorowany(a). Użyj w zamian zasady OpenBlocking(file_name, conflict_policy).

OpenBlocking

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

Synchronicznie otwiera zrzut o podanej nazwie.

Wycofano. data_source jest ignorowany(a). Użyj w zamian zasady OpenBlocking(timeout, file_name, conflict_policy).

Odczyt

void Read(
  const SnapshotMetadata & snapshot_metadata,
  ReadCallback callback
)

Asynchronicznie odczytuje zrzut z dysku i kopiuje go do pamięci.

Dane są przekazywane z powrotem według wartości, co ułatwia modyfikację. Każde wywołanie tej funkcji skutkuje pełnym odczytem. Oznacza to, że zwykle najlepiej jest odczytać migawkę tylko raz. Po zakończeniu operacji wywołuje podany ReadCallback.

ReadBlocking

ReadResponse ReadBlocking(
  const SnapshotMetadata & snapshot_metadata
)

Synchronicznie odczytuje zrzut z dysku i kopiuje go do pamięci.

Dane są przekazywane z powrotem według wartości, co ułatwia modyfikację. Każde wywołanie tej funkcji skutkuje pełnym odczytem. Oznacza to, że zwykle najlepiej jest odczytać migawkę tylko raz. Jeśli nie określisz timeout, wywołanie tej funkcji będzie równoznaczne z wywołaniem funkcji ReadBlocking ReadBlocking(Timeout timeout, const SnapshotMetadata& snapshot_metadata), gdzie timeout jest określony jako 10 lat.

ReadBlocking

ReadResponse ReadBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata
)

Synchronicznie odczytuje zrzut z dysku i kopiuje go do pamięci.

Dane są przekazywane z powrotem według wartości, co ułatwia modyfikację. Każde wywołanie to przeprowadza pełny odczyt, więc zrzut zwykle jest odczytywany tylko raz. Określ wartość timeout w milisekundach.

ResolveConflict

void ResolveConflict(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  OpenCallback callback
)

Asynchronicznie rozwiązuje konflikt przy użyciu danych z udostępnionego zrzutu.

Spowoduje to zastąpienie danych na serwerze określonym zrzutem. Pamiętaj, że ta operacja może spowodować konflikt, więc należy powtórzyć tę czynność.

Wywołanie tej metody za pomocą zrzutu, który został już zatwierdzone lub nie został otwarty za pomocą opcji Open, kończy się niepowodzeniem w przypadku stanu BaseStatus::ERROR_INTERNAL.

Po zakończeniu operacji wywołuje podany OpenCallback.

ResolveConflict

void ResolveConflict(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents,
  OpenCallback callback
)

Asynchronicznie rozwiązuje konflikt przy użyciu podanych danych.

Spowoduje to zastąpienie danych na serwerze określonymi zmianami w metadanych i elementem contents. Pamiętaj, że ta operacja może spowodować konflikt, więc należy powtórzyć tę czynność.

Wartości, które nie zostaną uwzględnione w zmianie metadanych, zostaną zmienione na wersję znajdującą się obecnie na serwerze.

Pamiętaj, że całkowity rozmiar kolumny contents nie może przekraczać maxDataSize podanej przez funkcję GetMaxSize.

Wywołanie tej metody za pomocą zrzutu, który został już zatwierdzone lub nie został otwarty za pomocą opcji Open, kończy się niepowodzeniem w przypadku stanu BaseStatus::ERROR_INTERNAL.

Po zakończeniu operacji wywołuje podany OpenCallback.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata
)

Synchronicznie rozwiązuje konflikt przy użyciu danych z udostępnionego zrzutu.

Spowoduje to zastąpienie danych na serwerze określonym zrzutem. Pamiętaj, że ta operacja może spowodować konflikt, więc należy powtórzyć tę czynność.

Wywołanie tej metody za pomocą zrzutu, który został już zatwierdzone lub nie został otwarty za pomocą opcji Open, kończy się niepowodzeniem w przypadku stanu BaseStatus::ERROR_INTERNAL.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Synchronicznie rozwiązuje konflikt przy użyciu podanych danych.

Spowoduje to zastąpienie danych na serwerze określonymi zmianami w metadanych i elementem contents. Pamiętaj, że ta operacja może spowodować konflikt, więc należy powtórzyć tę czynność.

Wartości, które nie zostaną uwzględnione w zmianie metadanych, zostaną zmienione na wersję znajdującą się obecnie na serwerze.

Pamiętaj, że całkowity rozmiar kolumny contents nie może przekraczać maxDataSize podanej przez funkcję GetMaxSize.

Wywołanie tej metody za pomocą zrzutu, który został już zatwierdzone lub nie został otwarty za pomocą opcji Open, kończy się niepowodzeniem w przypadku stanu BaseStatus::ERROR_INTERNAL.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  Timeout timeout,
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata
)

Synchronicznie rozwiązuje konflikt przy użyciu danych z udostępnionego zrzutu.

Spowoduje to zastąpienie danych na serwerze określonym zrzutem. Pamiętaj, że ta operacja może spowodować konflikt, więc należy powtórzyć tę czynność.

Wywołanie tej metody za pomocą zrzutu, który został już zatwierdzone lub nie został otwarty za pomocą opcji Open, kończy się niepowodzeniem w przypadku stanu BaseStatus::ERROR_INTERNAL.

Określ wartość timeout w milisekundach.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  Timeout timeout,
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Synchronicznie rozwiązuje konflikt przy użyciu podanych danych.

Spowoduje to zastąpienie danych na serwerze określonymi zmianami w metadanych i elementem contents. Pamiętaj, że ta operacja może spowodować konflikt, więc należy powtórzyć tę czynność.

Wartości, które nie zostaną uwzględnione w zmianie metadanych, zostaną zmienione na wersję znajdującą się obecnie na serwerze.

Pamiętaj, że całkowity rozmiar kolumny contents nie może przekraczać maxDataSize podanej przez funkcję GetMaxSize.

Wywołanie tej metody za pomocą zrzutu, który został już zatwierdzone lub nie został otwarty za pomocą opcji Open, kończy się niepowodzeniem w przypadku stanu BaseStatus::ERROR_INTERNAL.

Określ wartość timeout w milisekundach.

ShowSelectUIOperation

void ShowSelectUIOperation(
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title,
  SnapshotSelectUICallback callback
)

Asynchronicznie pokazuje interfejs zrzutu, dzięki czemu odtwarzacz może wybrać zrzut lub poprosić o nowy.

Po zakończeniu wybrany zrzut lub nowe żądanie zrzutu jest zwracane przez SnapshotSelectUICallback.

ShowSelectUIOperationBlocking

SnapshotSelectUIResponse ShowSelectUIOperationBlocking(
  Timeout timeout,
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title
)

Wersja blokująca instrukcję ShowSelectUIOperation.

Pozwala elementowi wywołującemu określić czas oczekiwania w ms. Po upłynięciu określonego czasu funkcja zwraca wartość ERROR_TIMEOUT.

ShowSelectUIOperationBlocking

SnapshotSelectUIResponse ShowSelectUIOperationBlocking(
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title
)

Przeciążenie funkcji ShowSelectUIOperationBlocking, która używa domyślnego czasu oczekiwania wynoszącego 10 lat.