nl::Weave::DeviceLayer::SoftwareUpdateManager

खास जानकारी

इनहेरिटेंस

पहले से मालूम सब-क्लास:
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl

सार्वजनिक प्रकार

ActionType{
  kAction_Ignore,
  kAction_DownloadNow,
  kAction_DownloadLater,
  kAction_ApplicationManaged
}
enum
जब कोई सॉफ़्टवेयर अपडेट उपलब्ध होता है, तो ऐप्लिकेशन SoftwareUpdateAvailable API इवेंट कॉलबैक के हिस्से के तौर पर इनमें से कोई एक कार्रवाई कर सकता है.
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) टाइपडिफ़
void(*
EventType{
  kEvent_PrepareQuery,
  kEvent_PrepareQuery_Metadata,
  kEvent_QueryPrepareFailed,
  kEvent_QuerySent,
  kEvent_SoftwareUpdateAvailable,
  kEvent_FetchPartialImageInfo,
  kEvent_PrepareImageStorage,
  kEvent_StartImageDownload,
  kEvent_StoreImageBlock,
  kEvent_ComputeImageIntegrity,
  kEvent_ResetPartialImageInfo,
  kEvent_ReadyToInstall,
  kEvent_StartInstallImage,
  kEvent_Finished,
  kEvent_DefaultCheck = 100
}
enum
SoftwareUpdateManager ऑब्जेक्ट से जनरेट किए गए एपीआई इवेंट.
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) टाइपडिफ़
void(*
State enum

दोस्तों के लिए क्लास

Internal::GenericPlatformManagerImpl
friend class

सार्वजनिक फ़ंक्शन

Abort(void)
CheckNow(void)
GetState(void)
State
ImageInstallComplete(WEAVE_ERROR aError)
IsInProgress(void)
bool
PrepareImageStorageComplete(WEAVE_ERROR aError)
SetEventCallback(void *const aAppState, const EventCallback aEventCallback)
SetQueryIntervalWindow(uint32_t aMinWaitTimeMs, uint32_t aMaxWaitTimeMs)
SetRetryPolicyCallback(const RetryPolicyCallback aRetryPolicyCallback)
void

सार्वजनिक स्टैटिक फ़ंक्शन

DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void

सुरक्षित फ़ंक्शन

SoftwareUpdateManager()=default
SoftwareUpdateManager(const SoftwareUpdateManager &)=delete
SoftwareUpdateManager(const SoftwareUpdateManager &&)=delete
operator=(const SoftwareUpdateManager &)=delete
~SoftwareUpdateManager()=default

स्ट्रक्चर

nl::Weave::DeviceLayer::SoftwareUpdateManager::RetryParam

यूनियन

nl::Weave::DeviceLayer::SoftwareUpdateManager::InEventParam
nl::Weave::DeviceLayer::SoftwareUpdateManager::OutEventParam

सार्वजनिक प्रकार

ActionType

 ActionType

जब कोई सॉफ़्टवेयर अपडेट उपलब्ध होता है, तो ऐप्लिकेशन SoftwareUpdateAvailable API इवेंट कॉलबैक के हिस्से के तौर पर इनमें से कोई एक कार्रवाई कर सकता है.

डिफ़ॉल्ट कार्रवाई kAction_Now पर सेट हो जाएगी.

प्रॉपर्टी
kAction_ApplicationManaged

इससे ऐप्लिकेशन को सॉफ़्टवेयर अपडेट के बाकी चरणों, जैसे कि डाउनलोड, इमेज इंटिग्रिटी की पुष्टि, और इंस्टॉल करने की अनुमति मिलती है.

सॉफ़्टवेयर अपडेट मैनेजर स्थिति मशीन ऐप्लिकेशन प्रबंधित स्थिति में चली जाएगी. शेड्यूल किए गए सॉफ़्टवेयर अपडेट की जांच (अगर चालू हो) को तब तक निलंबित रखा जाएगा, जब तक कि ऐप्लिकेशन को रद्द करने या ImageInstallComplete API को रद्द करने का अनुरोध नहीं किया जाता.

kAction_DownloadLater

शुरुआत पर डाउनलोड रोकें.

शेड्यूल किए गए सॉफ़्टवेयर अपडेट की जांच (चालू होने पर) निलंबित कर दी जाएंगी. स्टेट मशीन, डाउनलोड की स्थिति में ही रहेगी. ऐप्लिकेशन तैयार होने पर, उसे डाउनलोड करने के लिए 'फिर से शुरू करें' एपीआई का इस्तेमाल करें या रद्द करने के लिए 'रद्द करें' पर कॉल करें.

kAction_DownloadNow

डाउनलोड तुरंत शुरू करें.

इसके तुरंत बाद, kEvent_FetchPartialImageInfo API इवेंट कॉलबैक जनरेट हो जाएगा.

kAction_Ignore

डाउनलोड पर पूरी तरह ध्यान न दें.

अगर यह विकल्प चुना जाता है और फिर से कोशिश करने वाले लॉजिक को शुरू नहीं किया जाता, तो WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED गड़बड़ी के साथ kEvent_Finished API इवेंट कॉलबैक जनरेट होगा.

EventCallback

void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

EventType

 EventType

SoftwareUpdateManager ऑब्जेक्ट से जनरेट किए गए एपीआई इवेंट.

प्रॉपर्टी
kEvent_ComputeImageIntegrity

इमेज के लिए पूरी सुरक्षा देने की सुविधा की जांच वैल्यू का हिसाब लगाएं.

ऐप्लिकेशन से, डाउनलोड की गई इमेज के लिए इंटिग्रिटी जांच की वैल्यू का पता लगाने का अनुरोध किया जाता है. डाउनलोड पूरा होने के बाद जनरेट होता है.

kEvent_DefaultCheck

इवेंट मैनेज करने के डिफ़ॉल्ट तरीके को देखें.

इसका इस्तेमाल ऐप्लिकेशन में, डिफ़ॉल्ट तौर पर इवेंट मैनेज करने के सही तरीके की पुष्टि करने के लिए किया जाता है.

ऐप्लिकेशन को यह इवेंट हैंडल नहीं करना चाहिए.

kEvent_FetchPartialImageInfo

कुछ हद तक डाउनलोड की गई इमेज के लिए, मौजूदा स्थिति की जानकारी फ़ेच करें.

इससे ऐप्लिकेशन को, पहले से डाउनलोड की गई इमेज के बारे में जानकारी ज़ाहिर करने का मौका मिलता है. इससे, डाउनलोड की प्रोसेस वहीं से जारी रखी जा सकती है जहां उसे आखिरी बार रोका गया था. उपलब्ध सॉफ़्टवेयर अपडेट का यूआरआई एक इनपुट पैरामीटर के रूप में दिया जाता है, जिसका इस्तेमाल ऐप्लिकेशन यह तुलना करने के लिए कर सकता है कि क्या डाउनलोड की जा रही इमेज और आंशिक इमेज के बराबर है.

ऐप्लिकेशन से PartialImageLenInBytes आउटपुट पैरामीटर में आंशिक इमेज की लंबाई लौटाने की उम्मीद होती है. यह ऐप्लिकेशन यह दिखाने के लिए PartialImageLenInBytes का मान 0 पर सेट कर सकता है कि कोई आंशिक इमेज मौजूद नहीं है या आंशिक इमेज का यूआरआई मेल नहीं खाता है.

ऐप्लिकेशन इस इवेंट को डिफ़ॉल्ट इवेंट हैंडलर को पास करके इसे अनदेखा करना चुन सकता है. अगर ऐसा किया जाता है, तो सिस्टम हमेशा उपलब्ध फ़र्मवेयर की पूरी इमेज डाउनलोड करेगा.

kEvent_Finished

सॉफ़्टवेयर अपडेट की प्रोसेस पूरी हो गई है.

सॉफ़्टवेयर अपडेट की जांच पूरी होने में गड़बड़ियां होने या उनके बिना होने पर जनरेट होता है. इस इवेंट में शामिल किए गए पैरामीटर, अगर किसी गड़बड़ी की वजह से कोशिश पूरी नहीं हुई, तो इसकी वजह भी बताई जाती है.

kEvent_PrepareImageStorage

नई इमेज को सेव करने की तैयारी करें.

ऐप्लिकेशन को, नई फ़र्मवेयर इमेज डाउनलोड करने के लिए लोकल स्टोरेज तैयार करने के सभी ज़रूरी चरणों को पूरा करने का अनुरोध करता है. ऐप्लिकेशन इसका इस्तेमाल कर सकता है, उदाहरण के लिए, फ़्लैश पेजों को मिटाने के लिए.

AvailableImageStorage इवेंट सिर्फ़ ऐसे मामले में जनरेट होता है जहां नई फ़र्मवेयर इमेज डाउनलोड की जा रही हो. जब पहले से रुका हुआ डाउनलोड फिर से शुरू होता है, तो तैयारImageStorage जनरेट नहीं होता.

ऐप्लिकेशन को PrepareImageStorageComplete() तरीके को कॉल करके, तैयारी पूरी होने का सिग्नल देना होगा. यह इवेंट कॉलबैक में या बाद में ऐसा कर सकता है. अगर वीव टास्क के बजाय किसी और टास्क से कॉल किया जाता है, तो कॉलर को Weave स्टैक का लॉक पकड़ना होगा.

ऐप्लिकेशन, ReadyImageStorage इवेंट को डिफ़ॉल्ट इवेंट हैंडलर को पास करके इसे अनदेखा कर सकता है. ऐसा करने पर, सिस्टम अपने-आप इमेज के डाउनलोड वाले स्टेटस पर चला जाएगा.

किसी रोके गए डाउनलोड को फिर से शुरू करने के लिए, ऐप्लिकेशन को इमेज यूआरआई (इवेंट पैरामीटर के रूप में) को सेव रखना चाहिए. साथ ही, ऐप्लिकेशन को बाद में आने वाले FetchPartialImageInfo इवेंट को हैंडल करते समय इसका इस्तेमाल करना चाहिए.

kEvent_PrepareQuery

ImageQuery मैसेज तैयार करें.

सॉफ़्टवेयर अपडेट की जांच ट्रिगर होने पर जनरेट होता है. यह ऐप्लिकेशन को SofwareUpdate:ImageQuery मैसेज पर प्रॉडक्ट से जुड़ी जानकारी देने का मौका देता है.

kEvent_PrepareQuery_Metadata

ImageQuery अनुरोध के लिए मेटा-डेटा तैयार करें.

यह ऐप्लिकेशन को ज़रूरत के मुताबिक SofwareUpdate:ImageQuery मैसेज में अतिरिक्त मेटा-डेटा जोड़ने का मौका देता है. यह तब जनरेट होता है, जब ऐप्लिकेशन से मेटा-डेटा पाने के लिए तैयार होता है.

kEvent_QueryPrepareFailed

ImageQuery अनुरोध तैयार करने में गड़बड़ी हुई.

यह गड़बड़ी तब जनरेट होती है, जब सॉफ़्टवेयर अपडेट क्वेरी भेजने की तैयारी के दौरान, सिस्टम में कोई गड़बड़ी होती है.

kEvent_QuerySent

ImageQuery के लिए अनुरोध भेजा गया है.

यह जानकारी देने वाला इवेंट है, जिससे यह पता चलता है कि SofwareUpdate:ImageQuery मैसेज भेजा जा चुका है.

kEvent_ReadyToInstall

इमेज, इंस्टॉल किए जाने के लिए तैयार है.

जानकारी देने वाला इवेंट, जिससे पता चलता है कि इमेज इंस्टॉल किए जाने के लिए तैयार है. जांच पूरी होने के बाद इमेज जनरेट की जाती है.

kEvent_ResetPartialImageInfo

कुछ हद तक डाउनलोड की गई इमेज की स्थिति को रीसेट करें.

डाउनलोड की गई इमेज की मौजूदा स्थिति को मिटाने का अनुरोध, ऐप्लिकेशन से करता है. जब भी डाउनलोड की गई इमेज अपनी इंटिग्रिटी जांच में फ़ेल हो जाती है, तब रीसेट PartialImageInfo इवेंट जनरेट होता है. रीसेट आंशिक इमेजइन इवेंट के प्रोसेस हो जाने के बाद, बाद के आने वाले FetchPartialImageInfo इवेंट से यह पता चलना चाहिए कि कोई आंशिक इमेज उपलब्ध नहीं है.

कृपया ध्यान दें कि, ResetPartialImageInfo इवेंट को मैनेज करते समय, ऐप्लिकेशन को इमेज का डेटा मिटाने की ज़रूरत नहीं है.ऐप्लिकेशन को सिर्फ़ इमेज से जुड़ी जानकारी को मिटाने की ज़रूरत होती है. जैसे, यूआरआई और इमेज की कुछ लंबाई.

अगर ऐप्लिकेशन इमेज डाउनलोड को फिर से शुरू करने की सुविधा नहीं देता है, तो हो सकता है कि वह इस इवेंट को डिफ़ॉल्ट इवेंट हैंडलर को पास करके इसे अनदेखा कर दे.

kEvent_SoftwareUpdateAvailable

सॉफ़्टवेयर अपडेट उपलब्ध है.

यह तब जनरेट होता है, जब किसी ऐसी क्वेरी के जवाब में SofwareUpdate:ImageQueryResponse मिलता है जिसमें उपलब्ध अपडेट की जानकारी शामिल होती है.

kEvent_StartImageDownload

इमेज डाउनलोड हो रही है.

इमेज डाउनलोड ट्रांज़ैक्शन शुरू होने के बारे में बताने के लिए जानकारी देने वाला इवेंट.

kEvent_StartInstallImage

इमेज इंस्टॉल करना शुरू करें.

ऐप्लिकेशन से, डाउनलोड की गई फ़र्मवेयर इमेज को इंस्टॉल करने की प्रक्रिया का अनुरोध करता है.

kEvent_StoreImageBlock

इमेज डेटा का कोई ब्लॉक सेव करें.

फ़ाइल डाउनलोड सर्वर से डेटा ब्लॉक मिलने पर जनरेट होता है. इस इवेंट में शामिल पैरामीटर से डेटा और उसकी अवधि की जानकारी मिलती है.

किसी रोके गए डाउनलोड को फिर से शुरू करने की सुविधा देने के लिए, ऐप्लिकेशन को स्टोर की गई इमेज बाइट की कुल संख्या को बनाए रखना चाहिए. साथ ही, ऐप्लिकेशन को इस वैल्यू का इस्तेमाल, आने वाले FetchPartialImageInfo इवेंट को हैंडल करते समय करना चाहिए.

RetryPolicyCallback

void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)

स्थिति

 State

दोस्तों के लिए क्लास

इंटरनल::जेनेरिकPlatformManagerImpl

friend class Internal::GenericPlatformManagerImpl

सार्वजनिक फ़ंक्शन

रद्द करें

WEAVE_ERROR Abort(
  void
)

CheckNow

WEAVE_ERROR CheckNow(
  void
)

GetState

State GetState(
  void
)

ImageInstallComplete

WEAVE_ERROR ImageInstallComplete(
  WEAVE_ERROR aError
)

IsInProgress

bool IsInProgress(
  void
)

PrepareImageStorageComplete

WEAVE_ERROR PrepareImageStorageComplete(
  WEAVE_ERROR aError
)

SetEventCallback

WEAVE_ERROR SetEventCallback(
  void *const aAppState,
  const EventCallback aEventCallback
)

SetQueryIntervalWindow

WEAVE_ERROR SetQueryIntervalWindow(
  uint32_t aMinWaitTimeMs,
  uint32_t aMaxWaitTimeMs
)

SetRetryPolicyCallback

void SetRetryPolicyCallback(
  const RetryPolicyCallback aRetryPolicyCallback
)

सार्वजनिक स्टैटिक फ़ंक्शन

DefaultEventHandler

void DefaultEventHandler(
  void *apAppState,
  EventType aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

सुरक्षित फ़ंक्शन

SoftwareUpdateManager

 SoftwareUpdateManager()=default

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &
)=delete

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &&
)=delete

operator=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~SoftwareUpdateManager

 ~SoftwareUpdateManager()=default