gpg:: SnapshotManager
#include <snapshot_manager.h>
स्नैपशॉट से जुड़ा अलग-अलग तरह का डेटा हासिल करता है और सेट करता है.
खास जानकारी
अगर ऐप्लिकेशन पुष्टि के समय स्नैपशॉट चालू नहीं करता है (GameServices::Builder::EnableSnapshots) का इस्तेमाल करें, तो SnapshotManager
पर ज़्यादातर तरीके काम नहीं करेंगे.
सार्वजनिक टाइप |
|
---|---|
CommitCallback
|
typedefstd::function< void(const CommitResponse &)>
यह ऐसे कॉलबैक टाइप को तय करता है जिसे CommitResponse मिलता है. |
FetchAllCallback
|
typedefstd::function< void(const FetchAllResponse &)>
यह ऐसे कॉलबैक टाइप को तय करता है जिसे FetchAllResponse मिलता है. |
MaxSizeCallback
|
typedefstd::function< void(const MaxSizeResponse &)>
यह ऐसे कॉलबैक टाइप को तय करता है जिसे MaxSizeResponse मिलता है. |
OpenCallback
|
typedefstd::function< void(const OpenResponse &)>
यह ऐसे कॉलबैक टाइप को तय करता है जिसे OpenResponse मिलता है. |
ReadCallback
|
typedefstd::function< void(const ReadResponse &)>
यह ऐसे कॉलबैक टाइप को तय करता है जिसे ReadResponse मिलता है. |
SnapshotSelectUICallback
|
typedefstd::function< void(const SnapshotSelectUIResponse &)>
यह ऐसे कॉलबैक को तय करता है जिसे ShowSelectUIOperation से SnapshotSelectUIResponse मिल सकता है. |
सार्वजनिक फ़ंक्शन |
|
---|---|
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:: |
अपडेट किए गए स्नैपशॉट के लिए, डेटा को रिस्पॉन्स की स्थिति के साथ रखता है. |
gpg:: |
सभी स्नैपशॉट के लिए, जवाब की स्थिति के साथ-साथ सारा डेटा रखता है. |
gpg:: |
स्नैपशॉट डेटा और स्नैपशॉट कवर इमेज के लिए ज़्यादा से ज़्यादा साइज़ रखता है. |
gpg:: |
अनुरोध किए गए किसी खास स्नैपशॉट के लिए, डेटा को रिस्पॉन्स की स्थिति के साथ रखता है. |
gpg:: |
स्नैपशॉट पढ़ने की कार्रवाई से मिले रिस्पॉन्स की स्थिति और स्नैपशॉट डेटा को पढ़ता है. |
gpg:: |
|
सार्वजनिक टाइप
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
यह ऐसे कॉलबैक को तय करता है जिसे ShowSelectUIOperation
से SnapshotSelectUIResponse
मिल सकता है.
सार्वजनिक फ़ंक्शन
निष्पादित करें
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 वर्णों (a-z, A-Z, 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 )
सिंक्रोनस रूप से, दिए गए नाम का स्नैपशॉट खोलता है.
अगर कोई स्नैपशॉट पहले से मौजूद नहीं है, तो उसे बनाया जाएगा.
ज़्यादा जानकारी के लिए, खोलें पर जाएं.
OpenBlocking
OpenResponse OpenBlocking( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
सिंक्रोनस रूप से, दिए गए नाम का स्नैपशॉट खोलता है.
अगर कोई स्नैपशॉट पहले से मौजूद नहीं है, तो उसे बनाया जाएगा.
timeout
को मिलीसेकंड में बताएं.
ज़्यादा जानकारी के लिए, खोलें पर जाएं.
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
को मिलीसेकंड में बताएं.
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback )
दिए गए स्नैपशॉट के डेटा का इस्तेमाल करके, एसिंक्रोनस तरीके से समस्या को हल करता है.
इससे सर्वर पर मौजूद डेटा, दिए गए स्नैपशॉट से बदल जाएगा. ध्यान दें कि इस कार्रवाई से टकराव की स्थिति पैदा हो सकती है. ऐसे मामले में, समाधान को दोहराया जाना चाहिए.
इस तरीके से कॉल करने के लिए, ऐसे स्नैपशॉट का इस्तेमाल करें जो पहले ही तय किया जा चुका है या जिसे ओपन के ज़रिए नहीं खोला गया है. यह कार्रवाई BaseStatus::ERROR_INTERNAL स्थिति के साथ काम नहीं करेगी.
कार्रवाई पूरी होने पर, दिए गए OpenCallback
को कॉल करता है.
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback )
दिए गए डेटा का इस्तेमाल करके, एसिंक्रोनस तरीके से समस्या को हल करता है.
इससे सर्वर पर मौजूद डेटा, मेटाडेटा में किए गए बदलावों और contents
से बदल जाएगा. ध्यान दें कि इस कार्रवाई से टकराव की स्थिति पैदा हो सकती है. ऐसे मामले में, समाधान को दोहराया जाना चाहिए.
मेटाडेटा के बदलाव में शामिल नहीं की गई वैल्यू को सर्वर पर मौजूद वर्शन में बदल दिया जाएगा.
ध्यान दें कि contents
का कुल साइज़, GetMaxSize से मिले maxDataSize
से ज़्यादा नहीं हो सकता.
इस तरीके से कॉल करने के लिए, ऐसे स्नैपशॉट का इस्तेमाल करें जो पहले ही तय किया जा चुका है या जिसे ओपन के ज़रिए नहीं खोला गया है. यह कार्रवाई BaseStatus::ERROR_INTERNAL स्थिति के साथ काम नहीं करेगी.
कार्रवाई पूरी होने पर, दिए गए OpenCallback
को कॉल करता है.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
दिए गए स्नैपशॉट के डेटा का इस्तेमाल करके, सिंक्रोनस रूप से विरोधाभास हल करता है.
इससे सर्वर पर मौजूद डेटा, दिए गए स्नैपशॉट से बदल जाएगा. ध्यान दें कि इस कार्रवाई से टकराव की स्थिति पैदा हो सकती है. ऐसे मामले में, समाधान को दोहराया जाना चाहिए.
इस तरीके से कॉल करने के लिए, ऐसे स्नैपशॉट का इस्तेमाल करें जो पहले ही तय किया जा चुका है या जिसे ओपन के ज़रिए नहीं खोला गया है. यह कार्रवाई 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
का कुल साइज़, GetMaxSize से मिले maxDataSize
से ज़्यादा नहीं हो सकता.
इस तरीके से कॉल करने के लिए, ऐसे स्नैपशॉट का इस्तेमाल करें जो पहले ही तय किया जा चुका है या जिसे ओपन के ज़रिए नहीं खोला गया है. यह कार्रवाई BaseStatus::ERROR_INTERNAL स्थिति के साथ काम नहीं करेगी.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
दिए गए स्नैपशॉट के डेटा का इस्तेमाल करके, सिंक्रोनस रूप से विरोधाभास हल करता है.
इससे सर्वर पर मौजूद डेटा, दिए गए स्नैपशॉट से बदल जाएगा. ध्यान दें कि इस कार्रवाई से टकराव की स्थिति पैदा हो सकती है. ऐसे मामले में, समाधान को दोहराया जाना चाहिए.
इस तरीके से कॉल करने के लिए, ऐसे स्नैपशॉट का इस्तेमाल करें जो पहले ही तय किया जा चुका है या जिसे ओपन के ज़रिए नहीं खोला गया है. यह कार्रवाई 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
का कुल साइज़, GetMaxSize से मिले maxDataSize
से ज़्यादा नहीं हो सकता.
इस तरीके से कॉल करने के लिए, ऐसे स्नैपशॉट का इस्तेमाल करें जो पहले ही तय किया जा चुका है या जिसे ओपन के ज़रिए नहीं खोला गया है. यह कार्रवाई 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 का ब्लॉक करने वाला वर्शन.
कॉलर को मिलीसेकंड में टाइम आउट तय करने देती है. तय समय बीत जाने के बाद, फ़ंक्शन ERROR_TIMEOUT
देता है.
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
ShowSelectUIOperationBlocking का ओवरलोड होना, जो 10 साल के डिफ़ॉल्ट टाइम आउट का इस्तेमाल करता है.