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
|
typedefstd::function< void(const CommitResponse &)>
Określa typ wywołania zwrotnego, który odbiera CommitResponse . |
FetchAllCallback
|
typedefstd::function< void(const FetchAllResponse &)>
Określa typ wywołania zwrotnego, który odbiera FetchAllResponse . |
MaxSizeCallback
|
typedefstd::function< void(const MaxSizeResponse &)>
Określa typ wywołania zwrotnego, który odbiera MaxSizeResponse . |
OpenCallback
|
typedefstd::function< void(const OpenResponse &)>
Określa typ wywołania zwrotnego, który odbiera OpenResponse . |
ReadCallback
|
typedefstd::function< void(const ReadResponse &)>
Określa typ wywołania zwrotnego, który odbiera ReadResponse . |
SnapshotSelectUICallback
|
typedefstd::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
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:: |
Przechowuje dane zaktualizowanego zrzutu wraz ze stanem odpowiedzi. |
gpg:: |
Przechowuje wszystkie dane dotyczące wszystkich zrzutów wraz ze stanem odpowiedzi. |
gpg:: |
Zawiera maksymalny rozmiar danych migawki i zdjęcia okładki migawki. |
gpg:: |
Przechowuje dane konkretnego żądanego zrzutu wraz ze stanem odpowiedzi. |
gpg:: |
Odczytuje stan odpowiedzi i dane zrzutu zwrócone przez operację odczytu zrzutu. |
gpg:: |
|
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_PROGRESS
W 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.