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)
כשיש עדכון תוכנה זמין, האפליקציה יכולה לבחור באחת מהפעולות הבאות כחלק מקריאה חוזרת (callback) של האירוע 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)
אירועי API שנוצרו על ידי האובייקט 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

כשיש עדכון תוכנה, האפליקציה יכולה לבחור באחת מהפעולות הבאות כחלק מקריאה חוזרת (callback) של האירוע SoftwareUpdateAvailable API.

פעולת ברירת המחדל תוגדר ל-kAction_Now.

מאפיינים
kAction_ApplicationManaged

מאפשר לאפליקציה לנהל את שאר השלבים של עדכון התוכנה כגון הורדה, אימות תקינות תמונה והתקנה.

מחשב המצב של מנהל עדכוני התוכנה יעבור למצב 'מנוהל על ידי אפליקציה'. הבדיקות המתוזמנות של עדכוני תוכנה (אם הן מופעלות) יושעו עד שהאפליקציה תקרא Abort או ImageInstallComplete API.

kAction_DownloadLater

השהיית ההורדה בהתחלה.

הבדיקות המתוזמנות של עדכוני תוכנה (אם הן מופעלות) יושעו. המכשיר במצב הורדה יישאר במצב הורדה. כאשר האפליקציה מוכנה, האפליקציה יכולה לקרוא לממשק ה-API של המשך ההורדה כדי להמשיך בהורדה או לקרוא ל-Abort כדי לבטל.

kAction_DownloadNow

מתחילים בהורדה מיד.

מיד לאחר מכן תיווצר קריאה חוזרת (callback) של אירוע kEvent_fetchPartialImageInfo API.

kAction_Ignore

מתעלמים לגמרי מההורדה.

אם האפשרות הזו נבחרה, והלוגיקה של הניסיונות החוזרים לא תופעל, תיווצר קריאה חוזרת של אירוע kEvent_Finished API עם השגיאה WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED.

EventCallback

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

EventType

 EventType

אירועי API שנוצרו על ידי האובייקט SoftwareUpdateManager.

מאפיינים
kEvent_ComputeImageIntegrity

מחשבים את הערך של בדיקת התקינות של התמונה.

מבקשת מהאפליקציה לחשב ערך בדיקת תקינות בתמונה שהורדתם. נוצר לאחר שההורדה הושלמה.

kEvent_DefaultCheck

לבדוק את התנהגות ברירת המחדל לטיפול באירועים.

משמש לאימות הטיפול הנכון באירועים באפליקציה כברירת מחדל.

אסור לאפליקציות לטפל באירוע הזה.

kEvent_FetchPartialImageInfo

אחזור מידע על המצב הקבוע של תמונה שהורדה באופן חלקי.

מאפשרת לאפליקציה לחשוף מידע לגבי תמונה חלקית שהורדתם בעבר, כדי שניתן יהיה להמשיך את ההורדה מהנקודה שבה היא הופסקה בפעם האחרונה. ה-URI של עדכון התוכנה הזמין מסופק כפרמטר קלט שבו האפליקציה יכולה להשתמש כדי להשוות אם התמונה שמורידים זהה לתמונה החלקית.

האפליקציה צפויה להחזיר את אורך התמונה החלקית בפרמטר הפלט PartialImageLenInBytes. האפליקציה יכולה להגדיר את הערך של PartialImageLenInBytes ל-0 כדי לציין שלא קיימת תמונה חלקית או שה-URI של התמונה החלקית לא תואם.

האפליקציה יכולה להתעלם מהאירוע הזה על ידי העברתו לגורם המטפל באירועים שמוגדר כברירת מחדל. במקרה כזה, המערכת תמיד תוריד את תמונת הקושחה המלאה שזמינה.

kEvent_Finished

תהליך עדכון התוכנה הסתיים.

נוצר כשבדיקת עדכוני תוכנה מסתיימת עם או בלי שגיאות. הפרמטרים שכלולים באירוע הזה מספקים את הסיבה לכישלון אם הניסיון הסתיים בגלל כשל.

kEvent_PrepareImageStorage

הכנה לאחסון של תמונה חדשה.

מבקשת מהאפליקציה לבצע את השלבים שדרושים כדי להכין אחסון מקומי להורדה של תמונת קושחה חדשה. האפליקציה יכולה להשתמש באפשרות הזו, לדוגמה, כדי למחוק דפי Flash.

האירוע PrepareImageStorage נוצר רק במקרה שמורידים תמונת קושחה חדשה. כשממשיכים הורדה שהופסקה בעבר, המערכת לא יוצרת PrepareImageStorage.

האפליקציה חייבת לאותת שפעולת ההכנה הושלמה באמצעות קריאה ל-method PrepareImageStorageComplete(). הוא עשוי לעשות זאת בקריאה החוזרת של האירוע עצמו, או במועד מאוחר יותר. אם מתקבלת קריאה ממשימה אחרת שאינה Weave, המתקשר צריך להחזיק את מנעול Weave מחסנית.

האפליקציה יכולה לבחור להתעלם מהאירוע PrepareImageStorage על ידי העברתו ל-handler שמוגדר כברירת מחדל באירועים. אם זה יקרה, המערכת תמשיך באופן אוטומטי למצב של הורדת התמונה.

כדי לתמוך בהמשך הורדה שהופסקה, האפליקציה צריכה לשמור את ה-URI של התמונה (שמסופק כפרמטר של אירוע), ולהשתמש בו בטיפול באירועי FetchPartialImageInfo הבאים.

kEvent_PrepareQuery

הכנת ההודעה ImageQuery.

נוצר כשמופעלת בדיקת עדכון תוכנה. מאפשרת לאפליקציה לספק מידע שקשור למוצר להודעה SofwareUpdate:ImageQuery.

kEvent_PrepareQuery_Metadata

הכנת מטא-נתונים לבקשת ImageQuery.

מאפשרת לאפליקציה לצרף מטא-נתונים נוספים להודעה של SofwareUpdate:ImageQuery במקרה הצורך. נוצרים כשההטמעה מוכנה לקבלת מטא-נתונים מהאפליקציה.

kEvent_QueryPrepareFailed

שגיאה בהכנת בקשת ImageQuery.

נוצר כשמתרחשת שגיאה בהטמעה בזמן שמתכוננים לשליחת שאילתה על עדכון תוכנה.

kEvent_QuerySent

בקשת ImageQuery נשלחה.

אירוע מידע שמסמן שנשלחה הודעת SofwareUpdate:ImageQuery.

kEvent_ReadyToInstall

התמונה מוכנה להתקנה.

אירוע אינפורמטיבי שמעיד על כך שהתמונה מוכנה להתקנה. נוצרת אחרי שהתמונה עוברת את בדיקת התקינות.

kEvent_ResetPartialImageInfo

איפוס המצב של תמונה שהורדה באופן חלקי.

מבקשת מהאפליקציה לשכוח את המצב הקבוע המשויך לתמונה שהורדתם. אירוע איפוס שיטת הבידינג 'פרטים' נוצר בכל פעם שבדיקת התקינות של תמונה שהורדתם נכשלת. אחרי העיבוד של אירוע איפוס(אתחול)

שימו לב שכשמטפלים באירוע איפוס לשתף את התמונה עם האפליקציה, האפליקציה לא נדרשת לנקות את נתוני התמונה עצמה, אלא רק את פרטי המצב המשויכים לתמונה (כלומר ה-URI ואורך התמונה החלקית).

אם האפליקציה לא תומכת בהמשך הורדת תמונה, הוא עשוי להתעלם מהאירוע הזה על ידי העברה שלו ל-handler שמוגדר כברירת מחדל באירועים.

kEvent_SoftwareUpdateAvailable

יש עדכון תוכנה.

נוצר כאשר SofwareUpdate:ImageQueryResponse מתקבל בתגובה לשאילתה שמכילה מידע על העדכון הזמין.

kEvent_StartImageDownload

הורדת התמונה החלה.

אירוע אינפורמטיבי שמעיד על התחלת עסקה של הורדת תמונה.

kEvent_StartInstallImage

התחלת התקנת התמונה.

האפליקציה מבקשת להיות תהליך של התקנת תמונת קושחה שהורדתם.

kEvent_StoreImageBlock

אחסון בלוק של נתוני תמונה.

נוצר בכל פעם שמתקבל בלוק נתונים משרת להורדת קבצים. הפרמטרים הכלולים באירוע הזה מספקים את הנתונים ואת אורך הנתונים.

כדי להמשיך לתמוך בהורדה שהופסקה, האפליקציה צריכה לשמור על ספירה קבועה של המספר הכולל של הבייטים של התמונות שנשמרו, ולהשתמש בערך הזה בטיפול באירועי FetchPartialImageInfo הבאים.

RetryPolicyCallback

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

מדינה

 State

כיתות חברים

פנימי::GeneralPlatformManagerImpl

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