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
|
typedefstd::function< void(const CommitResponse &)>
Definiuje typ wywołania zwrotnego, do którego przychodzi CommitResponse . |
FetchAllCallback
|
typedefstd::function< void(const FetchAllResponse &)>
Definiuje typ wywołania zwrotnego, do którego wysyłanych jest FetchAllResponse . |
MaxSizeCallback
|
typedefstd::function< void(const MaxSizeResponse &)>
Definiuje typ wywołania zwrotnego, do którego wysyłanych jest MaxSizeResponse . |
OpenCallback
|
typedefstd::function< void(const OpenResponse &)>
Definiuje typ wywołania zwrotnego, do którego przychodzi OpenResponse . |
ReadCallback
|
typedefstd::function< void(const ReadResponse &)>
Definiuje typ wywołania zwrotnego, do którego wysyłanych jest ReadResponse . |
SnapshotSelectUICallback
|
typedefstd::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
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:: |
Przechowuje dane na potrzeby zaktualizowanego zrzutu wraz ze stanem odpowiedzi. |
gpg:: |
Przechowuje wszystkie dane dotyczące wszystkich zrzutów wraz z informacjami o stanie odpowiedzi. |
gpg:: |
Obejmuje maksymalny rozmiar danych zrzutu oraz obrazu okładki. |
gpg:: |
Przechowuje dane konkretnego żądanego zrzutu wraz ze stanem odpowiedzi. |
gpg:: |
Odczytuje stan odpowiedzi i dane zrzutu zwrócone z operacji odczytu zrzutu. |
gpg:: |
|
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_PROGRESS
W 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.