nl:: Weave:: DeviceLayer:: SoftwareUpdateManager
สรุป
การสืบทอด
คลาสย่อยที่รู้จักโดยตรง:nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
ประเภทสาธารณะ |
|
---|---|
ActionType{
|
enum เมื่อมีการอัปเดตซอฟต์แวร์ แอปพลิเคชันจะสามารถเลือกการทำงานอย่างใดอย่างหนึ่งต่อไปนี้ ซึ่งเป็นส่วนหนึ่งของการเรียกกลับของเหตุการณ์ SoftwareUpdateAvailable API |
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventType{
|
enum เหตุการณ์ API ที่ออบเจ็กต์ SoftwareUpdateManager สร้างขึ้น |
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
|
typedefvoid(*
|
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:: |
สหภาพ |
|
---|---|
nl:: |
|
nl:: |
ประเภทสาธารณะ
ActionType
ActionType
เมื่อมีการอัปเดตซอฟต์แวร์ แอปพลิเคชันจะสามารถเลือกการทำงานอย่างใดอย่างหนึ่งต่อไปนี้ ซึ่งเป็นส่วนหนึ่งของการเรียกกลับของเหตุการณ์ SoftwareUpdateAvailable API
การกระทำเริ่มต้นจะได้รับการตั้งค่าเป็น kAction_Now
พร็อพเพอร์ตี้ | |
---|---|
kAction_ApplicationManaged
|
อนุญาตให้แอปพลิเคชันจัดการขั้นตอนที่เหลือของการอัปเดตซอฟต์แวร์ เช่น การดาวน์โหลด การตรวจสอบความสมบูรณ์ของรูปภาพ และการติดตั้ง เครื่องแสดงสถานะเครื่องมือจัดการการอัปเดตซอฟต์แวร์จะย้ายไปยังสถานะ ApplicationManaged แล้ว การตรวจสอบการอัปเดตซอฟต์แวร์ที่กําหนดเวลาไว้ (หากเปิดใช้) จะถูกระงับจนกว่าแอปพลิเคชันจะเรียกใช้ API ยกเลิกหรือ ImageInstallComplete |
kAction_DownloadLater
|
หยุดการดาวน์โหลดชั่วคราวเมื่อเริ่ม การตรวจสอบการอัปเดตซอฟต์แวร์ที่กําหนดเวลาไว้ (หากเปิดใช้อยู่) จะถูกระงับ เครื่องที่สถานะจะยังคงอยู่ในสถานะดาวน์โหลด เมื่อพร้อมแล้ว แอปพลิเคชันจะเรียกใช้ API การดาวน์โหลดต่อได้เพื่อดำเนินการดาวน์โหลดต่อ หรือเรียกใช้ "ล้มเลิกเพื่อยกเลิก" |
kAction_DownloadNow
|
เริ่มดาวน์โหลดทันที ระบบจะสร้างการเรียกกลับของเหตุการณ์ 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 แอปพลิเคชันต้องส่งสัญญาณแจ้งว่าการดำเนินการเตรียมเสร็จสมบูรณ์แล้วโดยเรียกใช้เมธอด แอปพลิเคชันสามารถเลือกที่จะละเว้นเหตุการณ์ PrepareImageStorage ได้โดยการส่งผ่านไปยังเครื่องจัดการเหตุการณ์เริ่มต้น เมื่อแก้ไขแล้ว ระบบจะไปยังสถานะดาวน์โหลดรูปภาพโดยอัตโนมัติ ในการสนับสนุนการดาวน์โหลดที่หยุดชะงักให้กลับมาทำงานอีกครั้ง แอปพลิเคชันควรเก็บ 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
|
รีเซ็ตสถานะของรูปภาพที่ดาวน์โหลดแล้วบางส่วน ขอให้แอปพลิเคชันลืมสถานะที่เกิดขึ้นอยู่ซึ่งเชื่อมโยงกับรูปภาพที่ดาวน์โหลด เหตุการณ์รีเซ็ตรหัสผ่านบางส่วนจะสร้างขึ้นเมื่อรูปภาพที่ดาวน์โหลดไม่ผ่านการตรวจสอบความสมบูรณ์ หลังจากระบบประมวลผลเหตุการณ์รีเซ็ตรหัสผ่านบางส่วนแล้ว เหตุการณ์ FetchPartialImageInfo ที่ตามมาควรระบุว่าไม่มีรูปภาพบางส่วนพร้อมใช้งาน โปรดทราบว่าเมื่อจัดการเหตุการณ์รีเซ็ตรหัสผ่านบางส่วน แอปพลิเคชันไม่จำเป็นต้องล้างข้อมูลรูปภาพ แต่จะมีเพียงข้อมูลสถานะที่เชื่อมโยงกับรูปภาพเท่านั้น (กล่าวคือ URI และความยาวของรูปภาพบางส่วน) หากแอปพลิเคชันไม่สนับสนุนการกลับมาดาวน์โหลดอิมเมจอีกครั้ง แอปพลิเคชันอาจไม่สนใจเหตุการณ์นี้ด้วยการส่งไปยังเครื่องจัดการเหตุการณ์เริ่มต้น |
kEvent_SoftwareUpdateAvailable
|
มีการอัปเดตซอฟต์แวร์ สร้างเมื่อได้รับ SofwareUpdate:ImageQueryResponse ในการตอบรับการค้นหาที่มีข้อมูลของอัปเดตที่มีอยู่ |
kEvent_StartImageDownload
|
เริ่มดาวน์โหลดรูปภาพแล้ว เหตุการณ์ที่ให้ข้อมูลเพื่อส่งสัญญาณการเริ่มต้นธุรกรรมการดาวน์โหลดรูปภาพ |
kEvent_StartInstallImage
|
เริ่มการติดตั้งอิมเมจ ขอให้แอปพลิเคชันเป็นขั้นตอนการติดตั้งอิมเมจเฟิร์มแวร์ที่ดาวน์โหลดมา |
kEvent_StoreImageBlock
|
จัดเก็บข้อมูลรูปภาพ 1 บล็อก สร้างขึ้นเมื่อใดก็ตามที่ได้รับบล็อกข้อมูลจากเซิร์ฟเวอร์ดาวน์โหลดไฟล์ พารามิเตอร์ที่รวมอยู่ในเหตุการณ์นี้จะให้ข้อมูลและความยาวของข้อมูล หากต้องการสนับสนุนการดาวน์โหลดที่หยุดชะงักให้กลับมาทำงานอีกครั้ง แอปพลิเคชันควรที่จะนับจำนวนไบต์รูปภาพทั้งหมดที่เก็บไว้อย่างต่อเนื่อง และใช้ค่านี้เมื่อจัดการเหตุการณ์ 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
โอเปอเรเตอร์=
SoftwareUpdateManager & operator=( const SoftwareUpdateManager & )=delete
~โปรแกรมจัดการการอัปเดตซอฟต์แวร์
~SoftwareUpdateManager()=default