Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

gpg::SnapshotManager

#include <snapshot_manager.h>

Lấy và đặt nhiều dữ liệu liên quan đến ảnh chụp nhanh.

Tóm tắt

Nếu ứng dụng không bật tính năng ảnh chụp nhanh tại thời điểm xác thực (xem GameServices::Builder::EnableSnapshots), thì hầu hết các phương thức trên SnapshotManager đều sẽ không thực hiện được.

Loại công khai

CommitCallback typedef
std::function< void(const CommitResponse &)>
Xác định loại lệnh gọi lại nhận CommitResponse.
FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
Xác định loại lệnh gọi lại nhận FetchAllResponse.
MaxSizeCallback typedef
std::function< void(const MaxSizeResponse &)>
Xác định loại lệnh gọi lại nhận MaxSizeResponse.
OpenCallback typedef
std::function< void(const OpenResponse &)>
Xác định loại lệnh gọi lại nhận OpenResponse.
ReadCallback typedef
std::function< void(const ReadResponse &)>
Xác định loại lệnh gọi lại nhận ReadResponse.
SnapshotSelectUICallback typedef
std::function< void(const SnapshotSelectUIResponse &)>
Xác định lệnh gọi lại có thể nhận SnapshotSelectUIResponse từ ShowSelectUIOperation.

Hàm công khai

Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
void
Phân phối dữ liệu được cung cấp cho ảnh chụp nhanh một cách không đồng bộ và cập nhật siêu dữ liệu của ảnh chụp nhanh bằng cách sử dụng đối tượng siêu dữ liệu đã cung cấp.
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Gửi đồng bộ dữ liệu đã cung cấp cho ảnh chụp nhanh và cập nhật siêu dữ liệu trong ảnh chụp nhanh đó bằng cách sử dụng đối tượng siêu dữ liệu đã cung cấp.
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Gửi đồng bộ dữ liệu đã cung cấp cho ảnh chụp nhanh và cập nhật siêu dữ liệu trong ảnh chụp nhanh đó bằng cách sử dụng đối tượng siêu dữ liệu đã cung cấp.
Delete(const SnapshotMetadata & snapshot_metadata)
void
Xoá bản lưu toàn cảnh đã chỉ định.
FetchAll(FetchAllCallback callback)
void
Tải không đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập.
FetchAll(DataSource data_source, FetchAllCallback callback)
void
Tải không đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập.
FetchAllBlocking()
Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập và trực tiếp trả về FetchAllResponse.
FetchAllBlocking(DataSource data_source)
Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập và trực tiếp trả về FetchAllResponse.
FetchAllBlocking(Timeout timeout)
Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập và trực tiếp trả về FetchAllResponse.
FetchAllBlocking(DataSource data_source, Timeout timeout)
Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập và trực tiếp trả về FetchAllResponse.
GetMaxSize(MaxSizeCallback callback) const
void
Nhận kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh theo byte một cách không đồng bộ.
GetMaxSizeBlocking() const
Nhận đồng bộ kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh theo byte, trực tiếp trả về MaxSizeResponse.
GetMaxSizeBlocking(Timeout timeout) const
Nhận đồng bộ kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh theo byte, trực tiếp trả về MaxSizeResponse.
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Mở ảnh chụp nhanh không đồng bộ với tên đã đặt.
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng Open(file_name, conflict_policy, callback).
Mở ảnh chụp nhanh không đồng bộ với tên đã đặt.
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Mở đồng bộ một ảnh chụp nhanh có tên đã cho.
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Mở đồng bộ một ảnh chụp nhanh có tên đã cho.
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng OpenBlocking(file_name, conflict_policy).
Mở đồng bộ một ảnh chụp nhanh có tên đã cho.
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng OpenBlocking(timeout, file_name, conflict_policy).
Mở đồng bộ một ảnh chụp nhanh có tên đã cho.
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
void
Đọc không đồng bộ ảnh chụp nhanh của ổ đĩa và sao chép ảnh đó vào bộ nhớ.
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
Đọc một cách đồng bộ ảnh chụp nhanh của ổ đĩa và sao chép ảnh đó vào bộ nhớ.
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
Đọc một cách đồng bộ ảnh chụp nhanh của ổ đĩa và sao chép ảnh đó vào bộ nhớ.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
void
Giải quyết không đồng bộ xung đột bằng cách sử dụng dữ liệu từ ảnh chụp nhanh được cung cấp.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
void
Giải quyết không đồng bộ xung đột bằng cách sử dụng dữ liệu được cung cấp.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Giải quyết đồng bộ xung đột bằng cách sử dụng dữ liệu từ ảnh chụp nhanh được cung cấp.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Giải quyết đồng bộ xung đột bằng cách sử dụng dữ liệu đã cung cấp.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Giải quyết đồng bộ xung đột bằng cách sử dụng dữ liệu từ ảnh chụp nhanh được cung cấp.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Giải quyết đồng bộ xung đột bằng cách sử dụng dữ liệu đã cung cấp.
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
void
Hiển thị không đồng bộ giao diện người dùng tổng quan nhanh, cho phép người chơi chọn ảnh chụp nhanh hoặc yêu cầu ảnh chụp nhanh mới.
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Phiên bản chặn của ShowSelectUIOperation.
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Quá tải ShowSelectUIOperationBlock, sử dụng thời gian chờ mặc định là 10 năm.

Cấu trúc

gpg::SnapshotManager::CommitResponse

Lưu giữ dữ liệu cho ảnh chụp nhanh đã cập nhật, cùng với trạng thái phản hồi.

gpg::SnapshotManager::FetchAllResponse

Lưu giữ tất cả dữ liệu cho tất cả ảnh chụp nhanh cùng trạng thái phản hồi.

gpg::SnapshotManager::MaxSizeResponse

Giữ kích thước tối đa cho dữ liệu ảnh chụp nhanh và cho ảnh bìa chụp nhanh.

gpg::SnapshotManager::OpenResponse

Lưu giữ dữ liệu cho một ảnh chụp nhanh cụ thể được yêu cầu cùng với trạng thái phản hồi.

gpg::SnapshotManager::ReadResponse

Đọc trạng thái phản hồi và dữ liệu tổng quan nhanh do một thao tác đọc ảnh chụp nhanh trả về.

gpg::SnapshotManager::SnapshotSelectUIResponse

DataResponseStatus cho thao tác ShowSelectUIOperation.

Loại công khai

CommitCallback

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

Xác định loại lệnh gọi lại nhận CommitResponse.

Loại lệnh gọi lại này được cung cấp cho các hàm Commit(*)ResolveConflict(*) ở bên dưới.

Tìm nạp tất cả

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

Xác định loại lệnh gọi lại nhận FetchAllResponse.

Loại lệnh gọi lại này được cung cấp cho các hàm FetchAll(*) bên dưới.

Gọi lại kích thước tối đa

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

Xác định loại lệnh gọi lại nhận MaxSizeResponse.

Loại lệnh gọi lại này được cung cấp cho GetMaxSize.

OpenCallback

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

Xác định loại lệnh gọi lại nhận OpenResponse.

Loại lệnh gọi lại này được cung cấp cho các hàm Open(*) bên dưới.

ReadCallback

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

Xác định loại lệnh gọi lại nhận ReadResponse.

Loại lệnh gọi lại này được cung cấp cho các hàm Read(*) bên dưới.

SnapshotSelectUICallback

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

Xác định lệnh gọi lại có thể nhận SnapshotSelectUIResponse từ ShowSelectUIOperation.

Hàm công khai

Cam kết

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

Phân phối dữ liệu được cung cấp cho ảnh chụp nhanh một cách không đồng bộ và cập nhật siêu dữ liệu của ảnh chụp nhanh bằng cách sử dụng đối tượng siêu dữ liệu đã cung cấp.

Gọi CommitCallback đã cung cấp khi hoàn tất hoạt động.

Chặn cam kết

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

Gửi đồng bộ dữ liệu đã cung cấp cho ảnh chụp nhanh và cập nhật siêu dữ liệu trong ảnh chụp nhanh đó bằng cách sử dụng đối tượng siêu dữ liệu đã cung cấp.

Chặn cam kết

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

Gửi đồng bộ dữ liệu đã cung cấp cho ảnh chụp nhanh và cập nhật siêu dữ liệu trong ảnh chụp nhanh đó bằng cách sử dụng đối tượng siêu dữ liệu đã cung cấp.

Chỉ định timeout tính bằng mili giây.

Xoá

void Delete(
  const SnapshotMetadata & snapshot_metadata
)

Xoá bản lưu toàn cảnh đã chỉ định.

Thao tác này sẽ xoá dữ liệu của ảnh chụp nhanh trên máy và trên máy chủ.

Tìm nạp tất cả

void FetchAll(
  FetchAllCallback callback
)

Tải không đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập.

Gọi FetchAllCallback đã cung cấp khi hoàn tất hoạt động. Việc không chỉ định data_source sẽ làm cho lệnh gọi hàm này tương đương với lệnh gọi FetchAll(DataSource data_source, FetchAllCallback callback), với data_source được chỉ định là CACHE_OR_NETWORK.

Tìm nạp tất cả

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

Tải không đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập.

Gọi FetchAllCallback đã cung cấp khi hoàn tất hoạt động. Hãy chỉ định data_sourceCACHE_OR_NETWORK hoặc NETWORK_ONLY.

Tìm nạp tất cả

FetchAllResponse FetchAllBlocking()

Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập và trực tiếp trả về FetchAllResponse.

Nếu bạn chỉ định cả data_sourcetimeout, thì lệnh gọi hàm này sẽ không tương đương với lệnh gọi FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), trong đó data_source được chỉ định là CACHE_OR_NETWORKtimeout được chỉ định là 10 năm.

Tìm nạp tất cả

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập và trực tiếp trả về FetchAllResponse.

Hãy chỉ định data_sourceCACHE_OR_NETWORK hoặc NETWORK_ONLY. Việc không chỉ định timeout sẽ khiến hàm gọi này tương đương với lệnh gọi FetchAllBlocking FetchAllResponse(DataSource data_source, Timeout timeout), với giá trị data_source mà bạn đã chỉ định và timeout được chỉ định là 10 năm.

Tìm nạp tất cả

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập và trực tiếp trả về FetchAllResponse.

Chỉ định timeout tính bằng mili giây. Việc không chỉ định data_source sẽ làm cho lệnh gọi hàm này tương đương với lệnh gọi FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), với data_source được chỉ định là CACHE_OR_NETWORKtimeout chứa giá trị đã chỉ định.

Tìm nạp tất cả

FetchAllResponse FetchAllBlocking(
  DataSource data_source,
  Timeout timeout
)

Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập và trực tiếp trả về FetchAllResponse.

Hãy chỉ định data_sourceCACHE_OR_NETWORK hoặc NETWORK_ONLY. Chỉ định timeout tính bằng mili giây.

Nhận kích thước tối đa

void GetMaxSize(
  MaxSizeCallback callback
) const 

Nhận kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh theo byte một cách không đồng bộ.

Gọi MaxSizeCallback đã cung cấp khi hoàn tất hoạt động.

Kích thước dữ liệu tối đa cho mỗi ảnh chụp nhanh được đảm bảo là tối thiểu 3 MB. Có thể tăng trong tương lai.

Kích thước dữ liệu tối đa cho mỗi ảnh bìa ảnh chụp nhanh được đảm bảo là tối thiểu 800 KB. Có thể tăng trong tương lai.

Nhận kích thước tối đa

MaxSizeResponse GetMaxSizeBlocking() const 

Nhận đồng bộ kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh theo byte, trực tiếp trả về MaxSizeResponse.

Kích thước dữ liệu tối đa cho mỗi ảnh chụp nhanh được đảm bảo là tối thiểu 3 MB. Có thể tăng trong tương lai.

Kích thước dữ liệu tối đa cho mỗi ảnh bìa ảnh chụp nhanh được đảm bảo là tối thiểu 800 KB. Có thể tăng trong tương lai.

Nhận kích thước tối đa

MaxSizeResponse GetMaxSizeBlocking(
  Timeout timeout
) const 

Nhận đồng bộ kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh theo byte, trực tiếp trả về MaxSizeResponse.

Kích thước dữ liệu tối đa cho mỗi ảnh chụp nhanh được đảm bảo là tối thiểu 3 MB. Có thể tăng trong tương lai.

Kích thước dữ liệu tối đa cho mỗi ảnh bìa ảnh chụp nhanh được đảm bảo là tối thiểu 800 KB. Có thể tăng trong tương lai.

Chỉ định timeout tính bằng mili giây.

Đang mở

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

Mở ảnh chụp nhanh không đồng bộ với tên đã đặt.

Ảnh chụp nhanh được chỉ định sẽ được tạo nếu chưa có. Gọi OpenCallback đã cung cấp khi hoàn tất hoạt động.

Tên của ảnh chụp nhanh phải dài từ 1 đến 100 ký tự không dành riêng cho URL (a-z, A-Z, 0-9 hoặc các ký hiệu "-", ".", "_" hoặc "~").

Xung đột có thể xảy ra nếu một thiết bị khác gửi ảnh chụp nhanh giữa quá trình tải và gửi ảnh chụp nhanh trên thiết bị hiện tại. Bạn phải giải quyết các xung đột này. Xem OpenResponse ở trên để biết thêm chi tiết về xung đột.

conflict_policy có thể là một trong những giá trị sau:

SnapshotConflictPolicy::MANUAL – Trong trường hợp xung đột, phản hồi sẽ có trạng thái OpenResponse::VALID_WITH_CONFLICT. Bạn phải giải quyết xung đột bằng cách sử dụng SnapshotManager::ResolveConflict. Bạn có thể thấy nhiều câu lệnh trong một hàng, vì vậy hãy kiểm tra mỗi khi bạn gọi Open. Đây là chính sách duy nhất bạn sẽ thấy xung đột. Phần còn lại sẽ giúp bạn xử lý. Chính sách này đảm bảo rằng không có người dùng nào thay đổi trạng thái của trò chơi đã lưu sẽ bị mất.

SnapshotConflictPolicy::LONGEST_PLAYTIME – Trong trường hợp có xung đột, ảnh chụp nhanh có giá trị thời gian chơi lớn nhất sẽ được sử dụng. Chính sách này là lựa chọn phù hợp nếu thời lượng chơi là một proxy hợp lý cho trò chơi lưu "tốt nhất". Xin lưu ý rằng bạn phải sử dụng SnapshotMetadataChange::Builder::SetPlayedTime() khi lưu trò chơi để chính sách này có ý nghĩa.

SnapshotConflictPolicy::LAST_KNOWN_GOOD – Trong trường hợp có xung đột, ảnh chụp nhanh cơ sở sẽ được sử dụng. Chính sách này là lựa chọn hợp lý nếu trò chơi của bạn yêu cầu tính ổn định từ dữ liệu tổng quan nhanh. Chính sách này đảm bảo rằng người chơi chỉ nhìn thấy những lượt ghi mà người chơi không xác định được, điều này đảm bảo rằng tất cả các ứng dụng đều hội tụ. Lưu ý: trước đây là SnapshotManager::BASE_WINS

SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED – Trong trường hợp có xung đột, điều khiển từ xa sẽ được sử dụng. Chính sách này là lựa chọn hợp lý nếu trò chơi của bạn có thể chấp nhận người chơi trên nhiều thiết bị và chấp nhận thay đổi của chính họ. Do chính sách này chỉ chọn dữ liệu gần đây nhất nên có thể những thay đổi của người chơi có thể bị mất. Lưu ý: trước đây là SnapshotManager::REMOTE_WINS

SnapshotConflictPolicy::HIGHEST_PROGRESSTrong trường hợp xảy ra xung đột, ảnh chụp nhanh có giá trị tiến trình cao nhất sẽ được sử dụng. Trong trường hợp có sự ràng buộc, ảnh chụp nhanh tốt đã biết cuối cùng sẽ được chọn. Chính sách này là lựa chọn tốt nếu trò chơi của bạn sử dụng giá trị tiến trình của bản lưu toàn cảnh để xác định trò chơi đã lưu tốt nhất. Xin lưu ý rằng bạn phải sử dụng SnapshotMetadataChange::Builder::SetPlayedTime() khi lưu trò chơi để chính sách này có ý nghĩa.

Đang mở

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

Mở ảnh chụp nhanh không đồng bộ với tên đã đặt.

Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng Open(file_name, conflict_policy, callback).

Chặn mở

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

Mở đồng bộ một ảnh chụp nhanh có tên đã cho.

Ảnh chụp nhanh được chỉ định sẽ được tạo nếu chưa có.

Hãy xem phần Mở để biết thêm thông tin.

Chặn mở

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

Mở đồng bộ một ảnh chụp nhanh có tên đã cho.

Ảnh chụp nhanh được chỉ định sẽ được tạo nếu chưa có.

Chỉ định timeout tính bằng mili giây.

Hãy xem phần Mở để biết thêm thông tin.

Chặn mở

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

Mở đồng bộ một ảnh chụp nhanh có tên đã cho.

Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng OpenBlocking(file_name, conflict_policy).

Chặn mở

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

Mở đồng bộ một ảnh chụp nhanh có tên đã cho.

Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng OpenBlocking(timeout, file_name, conflict_policy).

Đã đọc

void Read(
  const SnapshotMetadata & snapshot_metadata,
  ReadCallback callback
)

Đọc không đồng bộ ảnh chụp nhanh của ổ đĩa và sao chép ảnh đó vào bộ nhớ.

Dữ liệu được trả về theo giá trị để dễ dàng sửa đổi hơn. Mỗi lệnh gọi đến hàm này sẽ dẫn đến kết quả đọc đầy đủ. Điều này có nghĩa là tốt nhất bạn chỉ nên đọc ảnh chụp nhanh một lần. Gọi ReadCallback đã cung cấp khi hoàn tất hoạt động.

Hoạt động chặn

ReadResponse ReadBlocking(
  const SnapshotMetadata & snapshot_metadata
)

Đọc một cách đồng bộ ảnh chụp nhanh của ổ đĩa và sao chép ảnh đó vào bộ nhớ.

Dữ liệu được trả về theo giá trị để dễ dàng sửa đổi hơn. Mỗi lệnh gọi đến hàm này sẽ dẫn đến kết quả đọc đầy đủ. Điều này có nghĩa là tốt nhất bạn chỉ nên đọc ảnh chụp nhanh một lần. Việc không chỉ định timeout sẽ khiến hàm gọi này tương đương với lệnh gọi ReadBlocking ReadBlocking(Timeout timeout, const SnapshotMetadata& snapshot_metadata), trong đó timeout được chỉ định là 10 năm.

Hoạt động chặn

ReadResponse ReadBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata
)

Đọc một cách đồng bộ ảnh chụp nhanh của ổ đĩa và sao chép ảnh đó vào bộ nhớ.

Dữ liệu được trả về theo giá trị để dễ dàng sửa đổi hơn. Mỗi lệnh gọi đến hàm này sẽ thực hiện một lượt đọc đầy đủ, vì vậy, chỉ đọc một ảnh chụp nhanh một lần. Chỉ định timeout tính bằng mili giây.

Giải quyết xung đột

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

Giải quyết không đồng bộ xung đột bằng cách sử dụng dữ liệu từ ảnh chụp nhanh được cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng ảnh chụp nhanh được chỉ định. Lưu ý rằng hoạt động này có thể gây ra xung đột, trong trường hợp đó, việc giải quyết phải được lặp lại.

Việc gọi phương thức này với ảnh chụp nhanh đã được xác nhận hoặc chưa được mở qua Open sẽ không thành công với trạng thái BaseStatus::ERROR_internal.

Gọi OpenCallback đã cung cấp khi hoàn tất hoạt động.

Giải quyết xung đột

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

Giải quyết không đồng bộ xung đột bằng cách sử dụng dữ liệu được cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng các thay đổi về siêu dữ liệu được chỉ định và contents. Lưu ý rằng hoạt động này có thể gây ra xung đột, trong trường hợp đó, việc giải quyết phải được lặp lại.

Những giá trị không có trong thay đổi về siêu dữ liệu sẽ được phân giải thành phiên bản hiện tại trên máy chủ.

Lưu ý rằng tổng kích thước của contents không được vượt quá maxDataSize do GetMaxSize cung cấp.

Việc gọi phương thức này với ảnh chụp nhanh đã được xác nhận hoặc chưa được mở qua Open sẽ không thành công với trạng thái BaseStatus::ERROR_internal.

Gọi OpenCallback đã cung cấp khi hoàn tất hoạt động.

Giải quyết xung đột

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

Giải quyết đồng bộ xung đột bằng cách sử dụng dữ liệu từ ảnh chụp nhanh được cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng ảnh chụp nhanh được chỉ định. Lưu ý rằng hoạt động này có thể gây ra xung đột, trong trường hợp đó, việc giải quyết phải được lặp lại.

Việc gọi phương thức này với ảnh chụp nhanh đã được xác nhận hoặc chưa được mở qua Open sẽ không thành công với trạng thái BaseStatus::ERROR_internal.

Giải quyết xung đột

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

Giải quyết đồng bộ xung đột bằng cách sử dụng dữ liệu đã cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng các thay đổi về siêu dữ liệu được chỉ định và contents. Lưu ý rằng hoạt động này có thể gây ra xung đột, trong trường hợp đó, việc giải quyết phải được lặp lại.

Những giá trị không có trong thay đổi về siêu dữ liệu sẽ được phân giải thành phiên bản hiện tại trên máy chủ.

Lưu ý rằng tổng kích thước của contents không được vượt quá maxDataSize do GetMaxSize cung cấp.

Việc gọi phương thức này với ảnh chụp nhanh đã được xác nhận hoặc chưa được mở qua Open sẽ không thành công với trạng thái BaseStatus::ERROR_internal.

Giải quyết xung đột

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

Giải quyết đồng bộ xung đột bằng cách sử dụng dữ liệu từ ảnh chụp nhanh được cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng ảnh chụp nhanh được chỉ định. Lưu ý rằng hoạt động này có thể gây ra xung đột, trong trường hợp đó, việc giải quyết phải được lặp lại.

Việc gọi phương thức này với ảnh chụp nhanh đã được xác nhận hoặc chưa được mở qua Open sẽ không thành công với trạng thái BaseStatus::ERROR_internal.

Chỉ định timeout tính bằng mili giây.

Giải quyết xung đột

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

Giải quyết đồng bộ xung đột bằng cách sử dụng dữ liệu đã cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng các thay đổi về siêu dữ liệu được chỉ định và contents. Lưu ý rằng hoạt động này có thể gây ra xung đột, trong trường hợp đó, việc giải quyết phải được lặp lại.

Những giá trị không có trong thay đổi về siêu dữ liệu sẽ được phân giải thành phiên bản hiện tại trên máy chủ.

Lưu ý rằng tổng kích thước của contents không được vượt quá maxDataSize do GetMaxSize cung cấp.

Việc gọi phương thức này với ảnh chụp nhanh đã được xác nhận hoặc chưa được mở qua Open sẽ không thành công với trạng thái BaseStatus::ERROR_internal.

Chỉ định timeout tính bằng mili giây.

ShowSelectUIOperation

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

Hiển thị không đồng bộ giao diện người dùng tổng quan nhanh, cho phép người chơi chọn ảnh chụp nhanh hoặc yêu cầu ảnh chụp nhanh mới.

Sau khi hoàn thành, ảnh chụp nhanh đã chọn hoặc yêu cầu ảnh chụp nhanh mới sẽ được trả về thông qua SnapshotSelectUICallback.

ShowSelectUIOperationBlock

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

Phiên bản chặn của ShowSelectUIOperation.

Cho phép phương thức gọi chỉ định thời gian chờ tính bằng mili giây. Sau khi thời gian đã chỉ định trôi qua, hàm sẽ trả về ERROR_TIMEOUT.

ShowSelectUIOperationBlock

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

Quá tải ShowSelectUIOperationBlock, sử dụng thời gian chờ mặc định là 10 năm.