gpg:: Snapshot Manager

#include <snapshot_manager.h>

داده های مختلف مربوط به عکس فوری را دریافت و تنظیم می کند.

خلاصه

اگر برنامه در زمان احراز هویت، عکس‌های فوری را فعال نکند (به GameServices::Builder::EnableSnapshots مراجعه کنید)، اکثر روش‌ها در SnapshotManager با شکست مواجه می‌شوند.

انواع عمومی

CommitCallback typedef
std::function< void(const CommitResponse &)>
نوع برگشتی را تعریف می کند که CommitResponse را دریافت می کند.
FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
یک نوع پاسخ به تماس را تعریف می کند که FetchAllResponse را دریافت می کند.
MaxSizeCallback typedef
std::function< void(const MaxSizeResponse &)>
نوع برگشتی را تعریف می کند که MaxSizeResponse را دریافت می کند.
OpenCallback typedef
std::function< void(const OpenResponse &)>
یک نوع پاسخ به تماس را تعریف می کند که OpenResponse دریافت می کند.
ReadCallback typedef
std::function< void(const ReadResponse &)>
یک نوع پاسخ به تماس را تعریف می کند که ReadResponse دریافت می کند.
SnapshotSelectUICallback typedef
std::function< void(const SnapshotSelectUIResponse &)>
پاسخ تماسی را تعریف می کند که می تواند یک SnapshotSelectUIResponse از ShowSelectUIOperation دریافت کند.

توابع عمومی

Commit (const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
void
داده های ارائه شده به عکس فوری را به صورت ناهمزمان متعهد می کند و با استفاده از شی فوق داده ارائه شده، ابرداده عکس فوری را به روز می کند.
CommitBlocking (const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
به طور همزمان داده های ارائه شده به عکس فوری را متعهد می کند و ابرداده عکس فوری را با استفاده از شی فوق داده ارائه شده به روز می کند.
CommitBlocking ( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
به طور همزمان داده های ارائه شده را به عکس فوری متعهد می کند و با استفاده از شی فوق داده ارائه شده، ابرداده عکس فوری را به روز می کند.
Delete (const SnapshotMetadata & snapshot_metadata)
void
عکس فوری مشخص شده را حذف می کند.
FetchAll ( FetchAllCallback callback)
void
به طور ناهمزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر به سیستم وارد شده است بارگیری می کند.
FetchAll ( DataSource data_source, FetchAllCallback callback)
void
به طور ناهمزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر به سیستم وارد شده است بارگیری می کند.
FetchAllBlocking ()
به طور همزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر وارد سیستم شده است بارگیری می کند، و به طور مستقیم FetchAllResponse را برمی گرداند.
FetchAllBlocking ( DataSource data_source)
به طور همزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر وارد سیستم شده است بارگیری می کند، و به طور مستقیم FetchAllResponse را برمی گرداند.
FetchAllBlocking ( Timeout timeout)
به طور همزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر وارد سیستم شده است بارگیری می کند، و به طور مستقیم FetchAllResponse را برمی گرداند.
FetchAllBlocking ( DataSource data_source, Timeout timeout)
به طور همزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر وارد سیستم شده است بارگیری می کند، و به طور مستقیم FetchAllResponse را برمی گرداند.
GetMaxSize ( MaxSizeCallback callback) const
void
به صورت ناهمزمان حداکثر اندازه داده و حداکثر اندازه تصویر روی جلد را در هر عکس فوری بر حسب بایت دریافت می کند.
GetMaxSizeBlocking () const
به طور همزمان حداکثر اندازه داده و حداکثر اندازه تصویر روی جلد را در هر عکس فوری بر حسب بایت دریافت می‌کند و به طور مستقیم MaxSizeResponse را برمی‌گرداند.
GetMaxSizeBlocking ( Timeout timeout) const
به طور همزمان حداکثر اندازه داده و حداکثر اندازه تصویر روی جلد را در هر عکس فوری بر حسب بایت دریافت می‌کند و به طور مستقیم MaxSizeResponse را برمی‌گرداند.
Open (const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
به صورت ناهمزمان یک عکس فوری با نام داده شده باز می شود.
Open ( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
منسوخ. data_source نادیده گرفته شده است. به جای آن از Open(file_name, conflict_policy, callback) استفاده کنید.
به صورت ناهمزمان یک عکس فوری با نام داده شده باز می شود.
OpenBlocking (const std::string & file_name, SnapshotConflictPolicy conflict_policy)
به طور همزمان یک عکس فوری با نام داده شده باز می شود.
OpenBlocking ( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
به طور همزمان یک عکس فوری با نام داده شده باز می شود.
OpenBlocking ( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy) منسوخ. data_source نادیده گرفته شده است. به جای آن از OpenBlocking(file_name, conflict_policy) استفاده کنید.
به طور همزمان یک عکس فوری با نام داده شده باز می شود.
OpenBlocking ( DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) منسوخ. data_source نادیده گرفته شده است. به جای آن از OpenBlocking(timeout, file_name, conflict_policy) استفاده کنید.
به طور همزمان یک عکس فوری با نام داده شده باز می شود.
Read (const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
void
به صورت ناهمزمان یک عکس فوری از دیسک می خواند و آن را در حافظه کپی می کند.
ReadBlocking (const SnapshotMetadata & snapshot_metadata)
به طور همزمان یک عکس فوری از دیسک می خواند و آن را در حافظه کپی می کند.
ReadBlocking ( Timeout timeout, const SnapshotMetadata & snapshot_metadata)
به طور همزمان یک عکس فوری از دیسک می خواند و آن را در حافظه کپی می کند.
ResolveConflict (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
void
به طور ناهمزمان یک تضاد را با استفاده از داده های عکس فوری ارائه شده حل می کند.
ResolveConflict (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
void
با استفاده از داده های ارائه شده، تضاد را به طور ناهمزمان حل می کند.
ResolveConflictBlocking (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
به طور همزمان یک تضاد را با استفاده از داده های عکس فوری ارائه شده حل می کند.
ResolveConflictBlocking (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
با استفاده از داده های ارائه شده، به طور همزمان یک تضاد را حل می کند.
ResolveConflictBlocking ( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
به طور همزمان یک تضاد را با استفاده از داده های عکس فوری ارائه شده حل می کند.
ResolveConflictBlocking ( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
با استفاده از داده های ارائه شده، به طور همزمان یک تضاد را حل می کند.
ShowSelectUIOperation (bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
void
به طور ناهمزمان رابط کاربری عکس فوری را نشان می دهد، به بازیکن اجازه می دهد یک عکس فوری انتخاب کند یا یک عکس فوری جدید درخواست کند.
ShowSelectUIOperationBlocking ( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
مسدود کردن نسخه ShowSelectUIOperation .
ShowSelectUIOperationBlocking (bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
اضافه بار ShowSelectUIOperationBlocking ، که از مهلت زمانی پیش فرض 10 ساله استفاده می کند.

سازه ها

gpg:: SnapshotManager:: CommitResponse

داده ها را برای یک عکس فوری به روز شده، همراه با وضعیت پاسخ نگه می دارد.

gpg:: SnapshotManager:: FetchAllResponse

همه داده ها را برای همه عکس های فوری به همراه وضعیت پاسخ نگهداری می کند.

gpg:: SnapshotManager:: MaxSizeResponse

حداکثر اندازه را برای داده های عکس فوری و تصویر روی جلد عکس فوری نگه می دارد.

gpg:: SnapshotManager:: OpenResponse

داده ها را برای یک عکس فوری درخواستی خاص همراه با وضعیت پاسخ نگهداری می کند.

gpg:: SnapshotManager:: ReadResponse

وضعیت پاسخ و داده های عکس فوری را که از یک عملیات خواندن عکس فوری بازگردانده شده است می خواند.

gpg:: SnapshotManager:: SnapshotSelectUIResponse

Data and ResponseStatus برای عملیات ShowSelectUIOperation .

انواع عمومی

CommitCallback

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

نوع برگشتی را تعریف می کند که CommitResponse را دریافت می کند.

این نوع برگشت به توابع Commit(*) و ResolveConflict(*) در زیر ارائه شده است.

FetchAllCallback

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

یک نوع پاسخ به تماس را تعریف می کند که FetchAllResponse را دریافت می کند.

این نوع برگشت به توابع FetchAll(*) در زیر ارائه شده است.

MaxSizeCallback

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

نوع برگشتی را تعریف می کند که MaxSizeResponse را دریافت می کند.

این نوع تماس برگشتی برای GetMaxSize ارائه شده است.

OpenCallback

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

یک نوع پاسخ به تماس را تعریف می کند که OpenResponse دریافت می کند.

این نوع برگشت به توابع Open(*) در زیر ارائه شده است.

ReadCallback

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

یک نوع پاسخ به تماس را تعریف می کند که ReadResponse دریافت می کند.

این نوع برگشت به توابع Read(*) زیر ارائه شده است.

SnapshotSelectUICallback

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

پاسخ تماسی را تعریف می کند که می تواند یک SnapshotSelectUIResponse از ShowSelectUIOperation دریافت کند.

توابع عمومی

مرتکب شدن

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

داده های ارائه شده به عکس فوری را به صورت ناهمزمان متعهد می کند و با استفاده از شی فوق داده ارائه شده، ابرداده عکس فوری را به روز می کند.

پس از اتمام عملیات، CommitCallback ارائه شده را فراخوانی می کند.

CommitBlocking

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

به طور همزمان داده های ارائه شده به عکس فوری را متعهد می کند و ابرداده عکس فوری را با استفاده از شی فوق داده ارائه شده به روز می کند.

CommitBlocking

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

به طور همزمان داده های ارائه شده را به عکس فوری متعهد می کند و با استفاده از شی فوق داده ارائه شده، ابرداده عکس فوری را به روز می کند.

timeout در میلی ثانیه مشخص کنید.

حذف

void Delete(
  const SnapshotMetadata & snapshot_metadata
)

عکس فوری مشخص شده را حذف می کند.

با این کار داده های اسنپ شات به صورت محلی و روی سرور حذف می شود.

FetchAll

void FetchAll(
  FetchAllCallback callback
)

به طور ناهمزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر به سیستم وارد شده است بارگیری می کند.

پس از اتمام عملیات، FetchAllCallback ارائه شده را فراخوانی می کند. مشخص نکردن data_source این فراخوانی تابع را معادل فراخوانی FetchAll(DataSource data_source, FetchAllCallback callback) می کند، با data_source مشخص شده به عنوان CACHE_OR_NETWORK.

FetchAll

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

به طور ناهمزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر به سیستم وارد شده است بارگیری می کند.

پس از اتمام عملیات، FetchAllCallback ارائه شده را فراخوانی می کند. data_source به عنوان CACHE_OR_NETWORK یا NETWORK_ONLY مشخص کنید.

FetchAllBlocking

FetchAllResponse FetchAllBlocking()

به طور همزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر وارد سیستم شده است بارگیری می کند، و به طور مستقیم FetchAllResponse را برمی گرداند.

تعیین نه data_source و نه timeout ، این فراخوانی تابع را معادل فراخوانی FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout) می‌کند، با data_source به‌عنوان CACHE_OR_NETWORK مشخص می‌شود، و timeout مشخص شده به عنوان 10 سال تعیین می‌شود.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

به طور همزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر وارد سیستم شده است بارگیری می کند، و به طور مستقیم FetchAllResponse را برمی گرداند.

data_source به عنوان CACHE_OR_NETWORK یا NETWORK_ONLY مشخص کنید. مشخص نکردن timeout ، این فراخوانی تابع را معادل فراخوانی FetchAllBlocking FetchAllResponse (DataSource data_source, Timeout timeout) می کند، با مقدار data_source مشخص شده شما، و timeout تعیین شده به عنوان 10 سال تعیین شده است.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

به طور همزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر وارد سیستم شده است بارگیری می کند، و به طور مستقیم FetchAllResponse را برمی گرداند.

timeout در میلی ثانیه مشخص کنید. مشخص نکردن data_source این فراخوانی تابع را با فراخوانی FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout) با data_source به‌عنوان CACHE_OR_NETWORK مشخص می‌کند، و timeout حاوی مقدار مشخص‌شده شما است.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source,
  Timeout timeout
)

به طور همزمان تمام داده های عکس فوری را برای پخش کننده ای که در حال حاضر وارد سیستم شده است بارگیری می کند، و به طور مستقیم FetchAllResponse را برمی گرداند.

data_source به عنوان CACHE_OR_NETWORK یا NETWORK_ONLY مشخص کنید. timeout در میلی ثانیه مشخص کنید.

GetMaxSize

void GetMaxSize(
  MaxSizeCallback callback
) const 

به صورت ناهمزمان حداکثر اندازه داده و حداکثر اندازه تصویر روی جلد را در هر عکس فوری بر حسب بایت دریافت می کند.

پس از اتمام عملیات، MaxSizeCallback ارائه شده را فراخوانی می کند.

حداکثر اندازه داده در هر عکس فوری حداقل 3 مگابایت تضمین شده است. ممکن است در آینده افزایش یابد.

حداکثر اندازه داده در هر تصویر روی جلد عکس فوری حداقل 800 کیلوبایت تضمین شده است. ممکن است در آینده افزایش یابد.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking() const 

به طور همزمان حداکثر اندازه داده و حداکثر اندازه تصویر روی جلد را در هر عکس فوری بر حسب بایت دریافت می‌کند و به طور مستقیم MaxSizeResponse را برمی‌گرداند.

حداکثر اندازه داده در هر عکس فوری حداقل 3 مگابایت تضمین شده است. ممکن است در آینده افزایش یابد.

حداکثر اندازه داده در هر تصویر روی جلد عکس فوری حداقل 800 کیلوبایت تضمین شده است. ممکن است در آینده افزایش یابد.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking(
  Timeout timeout
) const 

به طور همزمان حداکثر اندازه داده و حداکثر اندازه تصویر روی جلد را در هر عکس فوری بر حسب بایت دریافت می‌کند و به طور مستقیم MaxSizeResponse را برمی‌گرداند.

حداکثر اندازه داده در هر عکس فوری حداقل 3 مگابایت تضمین شده است. ممکن است در آینده افزایش یابد.

حداکثر اندازه داده در هر تصویر روی جلد عکس فوری حداقل 800 کیلوبایت تضمین شده است. ممکن است در آینده افزایش یابد.

timeout در میلی ثانیه مشخص کنید.

باز کن

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

به صورت ناهمزمان یک عکس فوری با نام داده شده باز می شود.

عکس فوری مشخص شده در صورتی ایجاد می شود که از قبل وجود نداشته باشد. پس از اتمام عملیات، OpenCallback ارائه شده را فراخوانی می کند.

نام عکس فوری باید بین 1 تا 100 نویسه غیر رزرو شده توسط URL (az، AZ، ​​0-9، یا نمادهای "-"، "."، "_"، یا "~") باشد.

اگر دستگاه دیگری یک عکس فوری بین بارگیری و انجام یک عکس فوری در دستگاه فعلی انجام دهد، ممکن است تضاد رخ دهد. شما باید این درگیری ها را حل کنید. برای جزئیات بیشتر در مورد تضادها ، OpenResponse را در بالا ببینید.

conflict_policy می تواند یکی از مقادیر زیر باشد:

SnapshotConflictPolicy::MANUAL - در صورت تداخل، پاسخ حالت OpenResponse::VALID_WITH_CONFLICT دارد. باید با استفاده از SnapshotManager::ResolveConflict تداخل را حل کنید. امکان دیدن چندین ارتباط در یک ردیف وجود دارد، بنابراین هر بار که با Open تماس می‌گیرید بررسی کنید. این تنها سیاستی است که در آن شاهد درگیری خواهید بود. بقیه رزولوشن را برای شما کنترل می کنند. این خط مشی تضمین می کند که هیچ تغییر کاربری در وضعیت ذخیره بازی هرگز از بین نخواهد رفت.

SnapshotConflictPolicy::LONGEST_PLAYTIME - در صورت تداخل، عکس فوری با بیشترین مقدار زمان پخش استفاده خواهد شد. اگر مدت زمان بازی یک پروکسی معقول برای "بهترین" ذخیره بازی باشد، این خط مشی انتخاب خوبی است. توجه داشته باشید که هنگام ذخیره بازی ها برای معنی دار بودن این خط مشی، باید از SnapshotMetadataChange::Builder::SetPlayedTime() استفاده کنید.

SnapshotConflictPolicy::LAST_KNOWN_GOOD - در صورت بروز تضاد، عکس فوری اصلی استفاده خواهد شد. اگر بازی شما نیاز به ثبات از داده های عکس فوری دارد، این خط مشی انتخاب معقولی است. این خط‌مشی تضمین می‌کند که فقط نوشته‌هایی که مورد مناقشه قرار نمی‌گیرند توسط بازیکن دیده می‌شوند، که تضمین می‌کند همه مشتریان همگرا شوند. توجه: قبلاً SnapshotManager::BASE_WINS

SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED - در صورت بروز تداخل، کنترل از راه دور استفاده خواهد شد. این خط مشی انتخاب معقولی است اگر بازی شما می تواند بازیکنان در چندین دستگاه را تحمل کند که تغییرات خود را تغییر دهند. از آنجایی که این خط‌مشی کورکورانه جدیدترین داده‌ها را انتخاب می‌کند، ممکن است تغییرات یک بازیکن از بین برود. توجه: قبلاً SnapshotManager::REMOTE_WINS

SnapshotConflictPolicy::HIGHEST_PROGRESS در صورت تداخل، عکس فوری با بالاترین مقدار پیشرفت استفاده خواهد شد. در صورت تساوی، آخرین عکس فوری خوب شناخته شده به جای آن انتخاب خواهد شد. اگر بازی شما از مقدار پیشرفت عکس فوری برای تعیین بهترین بازی ذخیره شده استفاده می کند، این خط مشی انتخاب خوبی است. توجه داشته باشید که هنگام ذخیره بازی ها برای معنی دار بودن این خط مشی، باید از SnapshotMetadataChange::Builder::SetPlayedTime() استفاده کنید.

باز کن

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

به صورت ناهمزمان یک عکس فوری با نام داده شده باز می شود.

منسوخ. data_source نادیده گرفته شده است. به جای آن از Open(file_name, conflict_policy, callback) استفاده کنید.

OpenBlocking

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

به طور همزمان یک عکس فوری با نام داده شده باز می شود.

عکس فوری مشخص شده در صورتی ایجاد می شود که از قبل وجود نداشته باشد.

برای جزئیات بیشتر به Open مراجعه کنید.

OpenBlocking

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

به طور همزمان یک عکس فوری با نام داده شده باز می شود.

عکس فوری مشخص شده در صورتی ایجاد می شود که از قبل وجود نداشته باشد.

timeout در میلی ثانیه مشخص کنید.

برای جزئیات بیشتر به Open مراجعه کنید.

OpenBlocking

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

به طور همزمان یک عکس فوری با نام داده شده باز می شود.

منسوخ. data_source نادیده گرفته شده است. به جای آن از OpenBlocking(file_name, conflict_policy) استفاده کنید.

OpenBlocking

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

به طور همزمان یک عکس فوری با نام داده شده باز می شود.

منسوخ. data_source نادیده گرفته شده است. به جای آن از OpenBlocking(timeout, file_name, conflict_policy) استفاده کنید.

خواندن

void Read(
  const SnapshotMetadata & snapshot_metadata,
  ReadCallback callback
)

به صورت ناهمزمان یک عکس فوری از دیسک می خواند و آن را در حافظه کپی می کند.

داده ها برای اصلاح آسان تر بر اساس مقدار ارسال می شوند. هر فراخوانی این تابع منجر به خواندن کامل می شود. این بدان معنی است که معمولاً بهتر است یک عکس فوری را فقط یک بار بخوانید. پس از اتمام عملیات، ReadCallback ارائه شده را فراخوانی می کند.

ReadBlocking

ReadResponse ReadBlocking(
  const SnapshotMetadata & snapshot_metadata
)

به طور همزمان یک عکس فوری از دیسک می خواند و آن را در حافظه کپی می کند.

داده ها برای اصلاح آسان تر بر اساس مقدار ارسال می شوند. هر فراخوانی این تابع منجر به خواندن کامل می شود. این بدان معنی است که معمولاً بهتر است یک عکس فوری را فقط یک بار بخوانید. مشخص نکردن timeout ، این فراخوانی تابع را معادل فراخوانی ReadBlocking ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata) برابر می‌کند، با timeout مشخص شده به عنوان 10 سال.

ReadBlocking

ReadResponse ReadBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata
)

به طور همزمان یک عکس فوری از دیسک می خواند و آن را در حافظه کپی می کند.

داده ها برای اصلاح آسان تر بر اساس مقدار ارسال می شوند. هر تماس با این یک خواندن کامل انجام می دهد، بنابراین معمولاً فقط یک بار یک عکس فوری را می خوانید. timeout در میلی ثانیه مشخص کنید.

Resolve Conflict

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

به طور ناهمزمان یک تضاد را با استفاده از داده های عکس فوری ارائه شده حل می کند.

با این کار داده های روی سرور با عکس فوری مشخص شده جایگزین می شود. توجه داشته باشید که ممکن است این عملیات به خودی خود منجر به درگیری شود که در این صورت حل باید تکرار شود.

فراخوانی این روش با یک عکس فوری که قبلاً متعهد شده است یا از طریق Open باز نشده است، با وضعیت BaseStatus::ERROR_INTERNAL ناموفق خواهد بود.

پس از اتمام عملیات، OpenCallback ارائه شده را فراخوانی می کند.

Resolve Conflict

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

با استفاده از داده های ارائه شده، تضاد را به طور ناهمزمان حل می کند.

این باعث می شود که داده های روی سرور با تغییرات و contents فوق داده مشخص شده جایگزین شود. توجه داشته باشید که ممکن است این عملیات به خودی خود منجر به درگیری شود که در این صورت حل باید تکرار شود.

مقادیری که در تغییر ابرداده گنجانده نشده‌اند، به نسخه‌ای که در حال حاضر روی سرور است، حل می‌شوند.

توجه داشته باشید که اندازه کل contents ممکن است از maxDataSize ارائه شده توسط GetMaxSize تجاوز نکند.

فراخوانی این روش با یک عکس فوری که قبلاً متعهد شده است یا از طریق Open باز نشده است، با وضعیت BaseStatus::ERROR_INTERNAL ناموفق خواهد بود.

پس از اتمام عملیات، OpenCallback ارائه شده را فراخوانی می کند.

ResolveConflictBlocking

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

به طور همزمان یک تضاد را با استفاده از داده های عکس فوری ارائه شده حل می کند.

با این کار داده های روی سرور با عکس فوری مشخص شده جایگزین می شود. توجه داشته باشید که ممکن است این عملیات به خودی خود منجر به درگیری شود که در این صورت حل باید تکرار شود.

فراخوانی این روش با یک عکس فوری که قبلاً متعهد شده است یا از طریق Open باز نشده است، با وضعیت BaseStatus::ERROR_INTERNAL ناموفق خواهد بود.

ResolveConflictBlocking

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

با استفاده از داده های ارائه شده، به طور همزمان یک تضاد را حل می کند.

این باعث می شود که داده های روی سرور با تغییرات و contents فوق داده مشخص شده جایگزین شود. توجه داشته باشید که ممکن است این عملیات به خودی خود منجر به درگیری شود که در این صورت حل باید تکرار شود.

مقادیری که در تغییر ابرداده گنجانده نشده‌اند، به نسخه‌ای که در حال حاضر روی سرور است، حل می‌شوند.

توجه داشته باشید که اندازه کل contents ممکن است از maxDataSize ارائه شده توسط GetMaxSize تجاوز نکند.

فراخوانی این روش با یک عکس فوری که قبلاً متعهد شده است یا از طریق Open باز نشده است، با وضعیت BaseStatus::ERROR_INTERNAL ناموفق خواهد بود.

ResolveConflictBlocking

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

به طور همزمان یک تضاد را با استفاده از داده های عکس فوری ارائه شده حل می کند.

با این کار داده های روی سرور با عکس فوری مشخص شده جایگزین می شود. توجه داشته باشید که ممکن است این عملیات به خودی خود منجر به درگیری شود که در این صورت حل باید تکرار شود.

فراخوانی این روش با یک عکس فوری که قبلاً متعهد شده است یا از طریق Open باز نشده است، با وضعیت BaseStatus::ERROR_INTERNAL ناموفق خواهد بود.

timeout در میلی ثانیه مشخص کنید.

ResolveConflictBlocking

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

با استفاده از داده های ارائه شده، به طور همزمان یک تضاد را حل می کند.

این باعث می شود که داده های روی سرور با تغییرات و contents فوق داده مشخص شده جایگزین شود. توجه داشته باشید که ممکن است این عملیات به خودی خود منجر به درگیری شود که در این صورت حل باید تکرار شود.

مقادیری که در تغییر ابرداده گنجانده نشده‌اند، به نسخه‌ای که در حال حاضر روی سرور است، حل می‌شوند.

توجه داشته باشید که اندازه کل contents ممکن است از maxDataSize ارائه شده توسط GetMaxSize تجاوز نکند.

فراخوانی این روش با یک عکس فوری که قبلاً متعهد شده است یا از طریق Open باز نشده است، با وضعیت BaseStatus::ERROR_INTERNAL ناموفق خواهد بود.

timeout در میلی ثانیه مشخص کنید.

ShowSelectUIOperation

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

به طور ناهمزمان رابط کاربری عکس فوری را نشان می دهد، به بازیکن اجازه می دهد یک عکس فوری انتخاب کند یا یک عکس فوری جدید درخواست کند.

پس از تکمیل، عکس فوری انتخاب شده یا درخواست عکس فوری جدید از طریق SnapshotSelectUICallback برگردانده می شود.

ShowSelectUIOperationBlocking

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

مسدود کردن نسخه ShowSelectUIOperation .

به تماس‌گیرنده اجازه می‌دهد تا مدت زمانی را بر حسب ms تعیین کند. پس از سپری شدن زمان مشخص شده، تابع ERROR_TIMEOUT را برمی‌گرداند.

ShowSelectUIOperationBlocking

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

اضافه بار ShowSelectUIOperationBlocking ، که از مهلت زمانی پیش فرض 10 ساله استفاده می کند.