gpg:: SnapshotManager
#include <snapshot_manager.h>
स्नैपशॉट से जुड़ा कई तरह का डेटा हासिल करता है और उसे सेट करता है.
खास जानकारी
अगर ऐप्लिकेशन पुष्टि के समय स्नैपशॉट लेने की सुविधा चालू नहीं करता (GameServices::Builder::EnableSnapshots देखें), तो SnapshotManager
पर मौजूद ज़्यादातर तरीके काम नहीं करेंगे.
सार्वजनिक प्रकार |
|
---|---|
CommitCallback
|
टाइपडिफ़std::function< void(const CommitResponse &)>
CommitResponse पाने वाले कॉलबैक टाइप के बारे में बताता है. |
FetchAllCallback
|
टाइपडिफ़std::function< void(const FetchAllResponse &)>
FetchAllResponse पाने वाले कॉलबैक टाइप के बारे में बताता है. |
MaxSizeCallback
|
टाइपडिफ़std::function< void(const MaxSizeResponse &)>
MaxSizeResponse पाने वाले कॉलबैक टाइप के बारे में बताता है. |
OpenCallback
|
टाइपडिफ़std::function< void(const OpenResponse &)>
OpenResponse पाने वाले कॉलबैक टाइप के बारे में बताता है. |
ReadCallback
|
टाइपडिफ़std::function< void(const ReadResponse &)>
ReadResponse पाने वाले कॉलबैक टाइप के बारे में बताता है. |
SnapshotSelectUICallback
|
टाइपडिफ़std::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
तय नहीं करने पर, यह फ़ंक्शन कॉल, आपकी तय की गई data_source
वैल्यू के साथ FetchAllBlocking FetchAllResponse(DataSource data_source,
Timeout timeout)
को कॉल करने के बराबर हो जाएगा. साथ ही, 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 साल के डिफ़ॉल्ट टाइम आउट का इस्तेमाल करता है.