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) typedef
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) typedef
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

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

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

kAction_DownloadLater

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

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

kAction_DownloadNow

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

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

kAction_Ignore

डाउनलोड को पूरी तरह अनदेखा करें.

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

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

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

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

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

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

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

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

kEvent_PrepareQuery

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

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

kEvent_PrepareQuery_Metadata

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

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

kEvent_QueryPrepareFailed

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

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

kEvent_QuerySent

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

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

kEvent_ReadyToInstall

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

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

kEvent_ResetPartialImageInfo

आंशिक रूप से डाउनलोड की गई इमेज की स्थिति रीसेट करें.

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

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

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

kEvent_SoftwareUpdateAvailable

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

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

kEvent_StartImageDownload

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

इमेज डाउनलोड से जुड़ा लेन-देन शुरू होने का संकेत देने वाला इवेंट.

kEvent_StartInstallImage

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

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

kEvent_StoreImageBlock

चित्र डेटा का एक ब्लॉक संग्रहित करें.

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

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

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

ऑपरेटर=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~SoftwareUpdateManager

 ~SoftwareUpdateManager()=default