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 (zobacz GameServices::Builder::EnableSnapshots), większość metod w narzędziu SnapshotManager zakończy się niepowodzeniem.

Typy publiczne

CommitCallback typedef
std::function< void(const CommitResponse &)>
Definiuje typ wywołania zwrotnego, do którego przychodzi CommitResponse.
FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
Definiuje typ wywołania zwrotnego, do którego wysyłanych jest FetchAllResponse.
MaxSizeCallback typedef
std::function< void(const MaxSizeResponse &)>
Definiuje typ wywołania zwrotnego, do którego wysyłanych jest MaxSizeResponse.
OpenCallback typedef
std::function< void(const OpenResponse &)>
Definiuje typ wywołania zwrotnego, do którego przychodzi OpenResponse.
ReadCallback typedef
std::function< void(const ReadResponse &)>
Definiuje typ wywołania zwrotnego, do którego wysyłanych jest ReadResponse.
SnapshotSelectUICallback typedef
std::function< void(const SnapshotSelectUIResponse &)>
Definiuje wywołanie zwrotne, do którego można odebrać SnapshotSelectUIResponse z urządzenia 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 przy użyciu podanego obiektu metadanych.
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Synchronnie zatwierdza dane dostarczone do zrzutu i aktualizuje metadane zrzutu za pomocą podanego obiektu metadanych.
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Synchronnie zatwierdza dane dostarczone do zrzutu i aktualizuje ich metadane za pomocą podanego obiektu metadanych.
Delete(const SnapshotMetadata & snapshot_metadata)
void
Usuwa określony zrzut.
FetchAll(FetchAllCallback callback)
void
Asynchronicznie wczytuje wszystkie dane ze zrzutu dla aktualnie zalogowanego odtwarzacza.
FetchAll(DataSource data_source, FetchAllCallback callback)
void
Asynchronicznie wczytuje wszystkie dane ze zrzutu dla aktualnie zalogowanego odtwarzacza.
FetchAllBlocking()
Synchronnie wczytuje wszystkie dane ze zrzutu dla aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.
FetchAllBlocking(DataSource data_source)
Synchronnie wczytuje wszystkie dane zrzutu dla aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.
FetchAllBlocking(Timeout timeout)
Synchronnie wczytuje wszystkie dane zrzutu dla aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.
FetchAllBlocking(DataSource data_source, Timeout timeout)
Synchronnie wczytuje wszystkie dane zrzutu dla aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.
GetMaxSize(MaxSizeCallback callback) const
void
Asynchronicznie pobiera maksymalny rozmiar danych i maksymalny rozmiar obrazu okładki na zrzut w bajtach.
GetMaxSizeBlocking() const
Synchronnie pobiera maksymalny rozmiar danych i maksymalny rozmiar obrazu okładki na zrzut w bajtach (w bajtach), zwracając bezpośrednio wartość MaxSizeResponse.
GetMaxSizeBlocking(Timeout timeout) const
Synchronnie pobiera maksymalny rozmiar danych i maksymalny rozmiar obrazu okładki na zrzut w bajtach (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. 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)
Synchronnie otwiera zrzut o podanej nazwie.
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Synchronnie otwiera zrzut o podanej nazwie.
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Wycofano. . data_source jest ignorowany. Użyj w zamian zasady OpenBlocking(file_name, conflict_policy).
Synchronnie otwiera zrzut o podanej nazwie.
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Wycofano. . data_source jest ignorowany. Użyj w zamian zasady OpenBlocking(timeout, file_name, conflict_policy).
Synchronnie 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)
Synchronnie odczytuje zrzut z dysku i kopiuje go do pamięci.
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
Synchronnie 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 dostarczonych danych.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Synchronnie 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)
Synchronnie rozwiązuje konflikt przy użyciu dostarczonych danych.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Synchronnie 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)
Synchronnie rozwiązuje konflikt przy użyciu dostarczonych danych.
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
void
Asynchronicznie wyświetla interfejs zrzutów, umożliwiając odtwarzaczowi wybór zrzutu lub żądanie nowego zrzutu.
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Wersja blokująca ShowSelectUIOperation.
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Przeciążenie metody ShowSelectUIOperationBlocking, które ma domyślny limit czasu wynoszący 10 lat.

Struktura

gpg::SnapshotManager::CommitResponse

Przechowuje dane na potrzeby zaktualizowanego zrzutu wraz ze stanem odpowiedzi.

gpg::SnapshotManager::FetchAllResponse

Przechowuje wszystkie dane dotyczące wszystkich zrzutów wraz z informacjami o stanie odpowiedzi.

gpg::SnapshotManager::MaxSizeResponse

Obejmuje maksymalny rozmiar danych zrzutu oraz obrazu okładki.

gpg::SnapshotManager::OpenResponse

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

gpg::SnapshotManager::ReadResponse

Odczytuje stan odpowiedzi i dane zrzutu zwrócone z operacji odczytu zrzutu.

gpg::SnapshotManager::SnapshotSelectUIResponse

Data i ResponseStatus dla operacji ShowSelectUIOperation.

Typy publiczne

CommitCallback

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

Definiuje typ wywołania zwrotnego, do którego przychodzi CommitResponse.

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

FetchAllCallback

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

Definiuje typ wywołania zwrotnego, do którego wysyłanych jest FetchAllResponse.

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

MaxSizeCallback

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

Definiuje typ wywołania zwrotnego, do którego wysyłanych jest MaxSizeResponse.

Ten typ wywołania zwrotnego jest udostępniany w GetMaxSize.

OpenCallback

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

Definiuje typ wywołania zwrotnego, do którego przychodzi OpenResponse.

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

ReadCallback

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

Definiuje typ wywołania zwrotnego, do którego wysyłanych jest ReadResponse.

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

SnapshotSelectUICallback

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

Definiuje wywołanie zwrotne, do którego można odebrać SnapshotSelectUIResponse z urządzenia ShowSelectUIOperation.

Funkcje publiczne

Zatwierdzenie

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 przy użyciu podanego obiektu metadanych.

Wywołuje podany CommitCallback po zakończeniu operacji.

CommitBlocking

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

Synchronnie zatwierdza dane dostarczone do zrzutu i aktualizuje metadane zrzutu za pomocą podanego obiektu metadanych.

CommitBlocking

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

Synchronnie zatwierdza dane dostarczone do zrzutu i aktualizuje ich metadane za pomocą podanego 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 lokalnie i z serwera.

FetchAll

void FetchAll(
  FetchAllCallback callback
)

Asynchronicznie wczytuje wszystkie dane ze zrzutu dla aktualnie zalogowanego odtwarzacza.

Wywołuje podany FetchAllCallback po zakończeniu operacji. Jeśli nie określisz parametru data_source, wywołanie tej funkcji będzie odpowiadać wywołaniu FetchAll(DataSource data_source, FetchAllCallback callback), przy czym data_source jest określony jako CACHE_OR_NETWORK.

FetchAll

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

Asynchronicznie wczytuje wszystkie dane ze zrzutu dla aktualnie zalogowanego odtwarzacza.

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

FetchAllBlocking

FetchAllResponse FetchAllBlocking()

Synchronnie wczytuje wszystkie dane ze zrzutu dla aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.

Jeśli nie podasz data_source ani timeout, wywołanie tej funkcji będzie odpowiadać wywołaniu FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout) z zasadą data_source ustawioną jako CACHE_OR_NETWORK, a timeout określaną jako 10 lat.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

Synchronnie wczytuje wszystkie dane ze zrzutu dla 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 funkcji timeout, wywołanie tej funkcji będzie odpowiadać wywołaniu FetchAllBlocking FetchAllResponse(DataSource data_source, Timeout timeout) z podaną wartością data_source i funkcją timeout określoną jako 10 lat.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

Synchronnie wczytuje wszystkie dane ze zrzutu dla aktualnie zalogowanego odtwarzacza, zwracając bezpośrednio wartość FetchAllResponse.

Określ wartość timeout w milisekundach. Jeśli nie określisz funkcji data_source, wywołanie tej funkcji będzie odpowiadać wywołaniu FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), w którym data_source jest określone jako CACHE_OR_NETWORK i timeout zawiera podaną wartość.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source,
  Timeout timeout
)

Synchronnie wczytuje wszystkie dane ze zrzutu dla 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 obrazu okładki na zrzut w bajtach.

Wywołuje podany MaxSizeCallback po zakończeniu operacji.

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

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

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking() const 

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

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

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

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking(
  Timeout timeout
) const 

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

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

Maksymalny rozmiar danych na obraz okładki 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.

Wskazany zrzut zostanie utworzony, jeśli jeszcze nie istnieje. Wywołuje podany OpenCallback po zakończeniu operacji.

Nazwy zrzutów muszą mieć od 1 do 100 znaków niezarezerwowanych w adresie URL (a–z, A–Z, 0–9 lub symbole „-”, „.”, „_” lub „~”).

Konflikty mogą wystąpić, jeśli inne urządzenie zapisze zrzut między wczytaniem a zrealizowaniem zrzutu na bieżącym urządzeniu. Musisz rozwiązać te konflikty. Więcej informacji o konfliktach znajdziesz powyżej w 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ć przy użyciu polecenia SnapshotManager::ResolveConflict. Konflikty mogą występować pod rząd, więc sprawdzaj je za każdym razem, gdy wywołujesz Open. Jest to jedyna zasada, w której przypadku wystąpi konflikt. Pozostała rozdzielczość to za Ciebie. Ta zasada gwarantuje, że żadne zmiany stanu zapisanej gry nie zostaną utracone.

SnapshotConflictPolicy::LONGEST_PLAYTIME – w przypadku konfliktu zostanie użyty zrzut o największej wartości czasu odtwarzania. Ta zasada jest dobrym rozwiązaniem, jeśli długość odtwarzania jest uzasadnionym wyborem, jeśli chodzi o „najlepsze” zapisz grę. Pamiętaj, że aby działanie tej zasady było istotne, do zapisywania gier musisz użyć parametru SnapshotMetadataChange::Builder::SetPlayedTime().

SnapshotConflictPolicy::LAST_KNOWN_GOOD – w przypadku konfliktu zostanie użyty zrzut podstawowy. Te zasady stanowią rozsądny wybór, jeśli gra wymaga stabilności na podstawie danych ze zrzutu. Ta zasada zapewnia, że gracz widzi tylko zapisy, które nie zostały zakwestionowane. Gwarantuje to, że wszyscy klienci będą się zgadzać. Uwaga: poprzednio SnapshotManager::BASE_WINS

SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED – w przypadku konfliktu będzie używany pilot. Ta zasada jest rozsądnym wyborem, jeśli gra toleruje graczy na wielu urządzeniach i blokuje ich własne zmiany. Ponieważ ta zasada na ślepo wybiera najnowsze dane, może się zdarzyć, że zmiany wprowadzone przez gracza mogą zostać utracone. Uwaga: poprzednio SnapshotManager::REMOTE_WINS

SnapshotConflictPolicy::HIGHEST_PROGRESSW przypadku konfliktu zostanie użyte zrzut z największą wartością postępu. W przypadku remisu wybierany jest ostatni znany dobry wynik. To dobry wybór, jeśli Twoja gra korzysta z danych o postępach w migacie, aby określić najlepszą zapisaną grę. Pamiętaj, że aby działanie tej zasady było istotne, do zapisywania gier musisz użyć parametru 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. Użyj w zamian zasady Open(file_name, conflict_policy, callback).

OpenBlocking

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

Synchronnie otwiera zrzut o podanej nazwie.

Wskazany zrzut zostanie utworzony, 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
)

Synchronnie otwiera zrzut o podanej nazwie.

Wskazany zrzut zostanie utworzony, 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
)

Synchronnie otwiera zrzut o podanej nazwie.

Wycofano. . data_source jest ignorowany. 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
)

Synchronnie otwiera zrzut o podanej nazwie.

Wycofano. . data_source jest ignorowany. 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 wprowadzanie zmian. Każde wywołanie tej funkcji powoduje pełny odczyt. Oznacza to, że zwykle najlepiej jest odczytać zrzut tylko raz. Wywołuje podany ReadCallback po zakończeniu operacji.

ReadBlocking

ReadResponse ReadBlocking(
  const SnapshotMetadata & snapshot_metadata
)

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

Dane są przekazywane z powrotem według wartości, co ułatwia wprowadzanie zmian. Każde wywołanie tej funkcji powoduje pełny odczyt. Oznacza to, że zwykle najlepiej jest odczytać zrzut tylko raz. Jeśli nie określisz funkcji timeout, wywołanie tej funkcji będzie odpowiadać wywołaniu ReadBlocking ReadBlocking(Timeout timeout, const SnapshotMetadata& snapshot_metadata) z wartością timeout ustawioną jako 10 lat.

ReadBlocking

ReadResponse ReadBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata
)

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

Dane są przekazywane z powrotem według wartości, co ułatwia wprowadzanie zmian. Każde wywołanie to powoduje wykonanie pełnego odczytu, więc zwykle odczytuje zrzut 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 doprowadzić do konfliktu i trzeba powtórzyć jej rozwiązanie.

Wywołanie tej metody z użyciem zrzutu, który został już zatwierdzony lub nie został otwarty za pomocą opcji Open (Otwarta), zakończy się niepowodzeniem ze stanem BaseStatus::ERROR_INTERNAL.

Wywołuje podany OpenCallback po zakończeniu operacji.

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 dostarczonych danych.

Spowoduje to zastąpienie danych na serwerze określonymi zmianami w metadanych i contents. Pamiętaj, że ta operacja może doprowadzić do konfliktu i trzeba powtórzyć jej rozwiązanie.

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

Pamiętaj, że łączny rozmiar contents nie może przekraczać maxDataSize podanej przez GetMaxSize.

Wywołanie tej metody z użyciem zrzutu, który został już zatwierdzony lub nie został otwarty za pomocą opcji Open (Otwarta), zakończy się niepowodzeniem ze stanem BaseStatus::ERROR_INTERNAL.

Wywołuje podany OpenCallback po zakończeniu operacji.

ResolveConflictBlocking

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

Synchronnie 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 doprowadzić do konfliktu i trzeba powtórzyć jej rozwiązanie.

Wywołanie tej metody z użyciem zrzutu, który został już zatwierdzony lub nie został otwarty za pomocą opcji Open (Otwarta), zakończy się niepowodzeniem ze stanem BaseStatus::ERROR_INTERNAL.

ResolveConflictBlocking

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

Synchronnie rozwiązuje konflikt przy użyciu dostarczonych danych.

Spowoduje to zastąpienie danych na serwerze określonymi zmianami w metadanych i contents. Pamiętaj, że ta operacja może doprowadzić do konfliktu i trzeba powtórzyć jej rozwiązanie.

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

Pamiętaj, że łączny rozmiar contents nie może przekraczać maxDataSize podanej przez GetMaxSize.

Wywołanie tej metody z użyciem zrzutu, który został już zatwierdzony lub nie został otwarty za pomocą opcji Open (Otwarta), zakończy się niepowodzeniem ze stanem BaseStatus::ERROR_INTERNAL.

ResolveConflictBlocking

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

Synchronnie 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 doprowadzić do konfliktu i trzeba powtórzyć jej rozwiązanie.

Wywołanie tej metody z użyciem zrzutu, który został już zatwierdzony lub nie został otwarty za pomocą opcji Open (Otwarta), zakończy się niepowodzeniem ze stanem 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
)

Synchronnie rozwiązuje konflikt przy użyciu dostarczonych danych.

Spowoduje to zastąpienie danych na serwerze określonymi zmianami w metadanych i contents. Pamiętaj, że ta operacja może doprowadzić do konfliktu i trzeba powtórzyć jej rozwiązanie.

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

Pamiętaj, że łączny rozmiar contents nie może przekraczać maxDataSize podanej przez GetMaxSize.

Wywołanie tej metody z użyciem zrzutu, który został już zatwierdzony lub nie został otwarty za pomocą opcji Open (Otwarta), zakończy się niepowodzeniem ze stanem 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 wyświetla interfejs zrzutów, umożliwiając odtwarzaczowi wybór zrzutu lub żądanie nowego zrzutu.

Po zakończeniu wybrany zrzut lub nowe żądanie zrzutu jest zwracane za pośrednictwem usługi SnapshotSelectUICallback.

ShowSelectUIOperationBlocking

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

Wersja blokująca ShowSelectUIOperation.

Zezwala wywołującemu na określenie limitu czasu w ms. Po upływie określonego czasu funkcja zwraca ERROR_TIMEOUT.

ShowSelectUIOperationBlocking

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

Przeciążenie metody ShowSelectUIOperationBlocking, które ma domyślny limit czasu wynoszący 10 lat.