nl:: Weave:: DeviceLayer:: SoftwareUpdateManager
สรุป
การสืบทอด
คลาสย่อยที่เป็นที่รู้จักโดยตรง:nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
ประเภทสาธารณะ |
|
---|---|
ActionType{
|
enum เมื่อมีการอัปเดตซอฟต์แวร์ แอปพลิเคชันสามารถเลือกการดําเนินการอย่างใดอย่างหนึ่งต่อไปนี้ให้เป็นส่วนหนึ่งของโค้ดเรียกกลับของ SoftwareUpdateAvailability 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
เมื่อมีการอัปเดตซอฟต์แวร์ แอปพลิเคชันสามารถเลือกการดําเนินการอย่างใดอย่างหนึ่งต่อไปนี้ให้เป็นส่วนหนึ่งของโค้ดเรียกกลับของ SoftwareUpdateAvailability API
ระบบจะตั้งค่าการดําเนินการเริ่มต้นเป็น kAction_Now
พร็อพเพอร์ตี้ | |
---|---|
kAction_ApplicationManaged
|
อนุญาตให้แอปพลิเคชันจัดการส่วนที่เหลือของการอัปเดตซอฟต์แวร์ เช่น การดาวน์โหลด การตรวจสอบความสมบูรณ์ของรูป และติดตั้ง เครื่องของตัวจัดการการอัปเดตซอฟต์แวร์จะย้ายไปยังสถานะ ApplicationManaged ระบบจะระงับการตรวจสอบการอัปเดตซอฟต์แวร์ที่กําหนดเวลาไว้ (หากเปิดใช้) จนกว่าการเรียกแอปพลิเคชัน Abort หรือ ImageInstallComplete API จะถูกระงับ |
kAction_DownloadLater
|
หยุดดาวน์โหลดชั่วคราวเมื่อเริ่มต้น ระบบจะระงับการตรวจหาอัปเดตซอฟต์แวร์ที่กําหนดเวลาไว้ (หากเปิดใช้) เครื่องของรัฐจะยังอยู่ในสถานะดาวน์โหลด เมื่อพร้อมแล้ว แอปพลิเคชันจะเรียกใช้ API การดาวน์โหลดต่อ เพื่อดําเนินการดาวน์โหลดหรือโทรหายกเลิกเพื่อยกเลิกได้ |
kAction_DownloadNow
|
เริ่มดาวน์โหลดทันที ระบบจะสร้างการเรียกเหตุการณ์ kEvent_FetchPartialImageInfo API ทันทีหลังจากนั้น |
kAction_Ignore
|
ไม่ต้องสนใจการดาวน์โหลดทั้งหมด ระบบจะสร้างการเรียกเหตุการณ์ kEvent_Finished API ที่มีข้อผิดพลาด WEhave_DEVICE_ERROR_SOFTWARE_UPDATE_cancelLED หากเลือกตัวเลือกนี้ และระบบจะไม่เรียกใช้ตรรกะการลองใหม่ |
เรียกกลับเหตุการณ์
void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
ประเภทเหตุการณ์
EventType
เหตุการณ์ API ที่สร้างโดยออบเจ็กต์ SoftwareUpdateManager
พร็อพเพอร์ตี้ | |
---|---|
kEvent_ComputeImageIntegrity
|
คํานวณค่าการตรวจสอบความสมบูรณ์ของรูปภาพ ขอให้แอปพลิเคชันคํานวณค่าการตรวจสอบความสมบูรณ์เหนือรูปภาพที่ดาวน์โหลด สร้างเมื่อดาวน์โหลดเสร็จแล้ว |
kEvent_DefaultCheck
|
ตรวจสอบวิธีจัดการเหตุการณ์เริ่มต้น ใช้เพื่อยืนยันการจัดการเหตุการณ์เริ่มต้นที่ถูกต้องในแอปพลิเคชัน แอปพลิเคชันต้องไม่จัดการกับเหตุการณ์นี้ |
kEvent_FetchPartialImageInfo
|
การดึงข้อมูลจะเก็บข้อมูลสถานะรูปภาพที่ดาวน์โหลดไว้บางส่วน เปิดโอกาสให้แอปพลิเคชันเปิดเผยข้อมูลบางส่วนของรูปภาพที่ดาวน์โหลดก่อนหน้านี้ เพื่อให้ระบบดาวน์โหลดต่อจากจุดที่หยุดอัปเดตครั้งล่าสุด URI ของการอัปเดตซอฟต์แวร์ที่มีอยู่จะระบุเป็นพารามิเตอร์อินพุตที่แอปพลิเคชันสามารถใช้เพื่อเปรียบเทียบว่ารูปภาพที่ดาวน์โหลดนั้นตรงกับรูปภาพบางส่วนหรือไม่ แอปพลิเคชันนี้ควรจะแสดงความยาวของรูปภาพบางส่วนในพารามิเตอร์เอาต์พุต PartImageLenInBytes บางส่วน แอปพลิเคชันจะกําหนดค่า PartImageLenInBytes บางส่วนเป็น 0 ได้เพื่อแสดงว่าไม่มีรูปภาพบางส่วนหรือ URI ของรูปภาพบางส่วนไม่ตรงกัน แอปพลิเคชันอาจเลือกไม่สนใจกิจกรรมนี้ด้วยการส่งไปยังเครื่องจัดการเหตุการณ์เริ่มต้น หากดําเนินการนี้ ระบบจะดาวน์โหลดรูปภาพเฟิร์มแวร์ที่ใช้ได้ทั้งหมด |
kEvent_Finished
|
อัปเดตซอฟต์แวร์เรียบร้อยแล้ว สร้างเมื่อการตรวจสอบการอัปเดตซอฟต์แวร์เสร็จสิ้นโดยมีหรือไม่มีข้อผิดพลาด พารามิเตอร์ที่มาพร้อมกับเหตุการณ์นี้ให้เหตุผลของความล้มเหลวนั้น หากความพยายามนั้นไม่สําเร็จเนื่องจากไม่สําเร็จ |
kEvent_PrepareImageStorage
|
จัดเตรียมพื้นที่เก็บข้อมูลรูปภาพใหม่ ขอให้แอปพลิเคชันทําตามขั้นตอนที่จําเป็นเพื่อเตรียมพื้นที่เก็บข้อมูลในเครื่องสําหรับดาวน์โหลดรูปภาพเฟิร์มแวร์ใหม่ แอปพลิเคชันสามารถใช้การทํางานนี้ เช่น การลบหน้า Flash เป็นต้น เหตุการณ์ เตรียมพร้อมรูปภาพพื้นที่เก็บข้อมูลจะสร้างขึ้นในกรณีที่กําลังดาวน์โหลดรูปภาพเฟิร์มแวร์ใหม่เท่านั้น เมื่อการดาวน์โหลดที่หยุดชะงักไว้ก่อนหน้านี้กลับมาทํางานอีกครั้ง จะไม่มีการสร้าง การเตรียมรูปภาพพื้นที่เก็บข้อมูล แอปพลิเคชันต้องส่งสัญญาณว่าการดําเนินการเตรียมความพร้อมเสร็จสมบูรณ์แล้วด้วยการเรียกเมธอด แอปพลิเคชันเลือกที่จะไม่สนใจเหตุการณ์ กําลังเตรียมรูปภาพพื้นที่เก็บข้อมูลโดยส่งผ่านไปยังเครื่องจัดการเหตุการณ์เริ่มต้น หากทํา ระบบจะไปยังสถานะการดาวน์โหลดรูปภาพโดยอัตโนมัติ หากต้องการกลับมาใช้งานการดาวน์โหลดที่หยุดชะงัก แอปพลิเคชันควรคง 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
|
จัดเก็บบล็อกข้อมูลรูปภาพ สร้างเมื่อใดก็ตามที่ได้รับการบล็อกข้อมูลจากเซิร์ฟเวอร์ดาวน์โหลดไฟล์ พารามิเตอร์ที่มาพร้อมกับเหตุการณ์นี้จะให้ข้อมูลและความยาวของข้อมูล เพื่อรองรับการทําให้การดาวน์โหลดหยุดชะงัก แอปพลิเคชันควรรักษาจํานวนไบต์รูปภาพทั้งหมดที่จัดเก็บไว้อย่างถาวร และใช้ค่านี้เมื่อจัดการเหตุการณ์ FetchPartialImageInfo ที่ตามมา |
ลองอีกครั้ง
void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
สถานะ
State
ชั้นเรียนสําหรับเพื่อน
ภายใน::GenericPlatformManagerImpl
friend class Internal::GenericPlatformManagerImpl
ฟังก์ชันสาธารณะ
ล้มเลิก
WEAVE_ERROR Abort( void )
ตรวจสอบเลย
WEAVE_ERROR CheckNow( void )
รับสถานะ
State GetState( void )
ติดตั้งรูปภาพเสร็จสมบูรณ์
WEAVE_ERROR ImageInstallComplete( WEAVE_ERROR aError )
กําลังดําเนินการ
bool IsInProgress( void )
จัดเตรียมพื้นที่เก็บข้อมูลของรูปภาพ
WEAVE_ERROR PrepareImageStorageComplete( WEAVE_ERROR aError )
ตั้งค่าการเรียกกลับเหตุการณ์
WEAVE_ERROR SetEventCallback( void *const aAppState, const EventCallback aEventCallback )
ตั้งค่ากรอบเวลาการค้นหา
WEAVE_ERROR SetQueryIntervalWindow( uint32_t aMinWaitTimeMs, uint32_t aMaxWaitTimeMs )
ตั้งค่าลองใหม่นโยบายการโทรกลับ
void SetRetryPolicyCallback( const RetryPolicyCallback aRetryPolicyCallback )
ฟังก์ชันสาธารณะแบบคงที่
เครื่องจัดการเหตุการณ์เริ่มต้น
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
ฟังก์ชันที่ได้รับการคุ้มครอง
ผู้จัดการการอัปเดตซอฟต์แวร์
SoftwareUpdateManager()=default
ผู้จัดการการอัปเดตซอฟต์แวร์
SoftwareUpdateManager( const SoftwareUpdateManager & )=delete
ผู้จัดการการอัปเดตซอฟต์แวร์
SoftwareUpdateManager( const SoftwareUpdateManager && )=delete
โอเปอเรเตอร์=
SoftwareUpdateManager & operator=( const SoftwareUpdateManager & )=delete
~SoftwareUpdateManager
~SoftwareUpdateManager()=default