nl:: Weave:: System:: Platform:: Layer
สรุป
ฟังก์ชัน |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
นี่เป็นฮุก Layer หลังการเริ่มต้นของ Weave System เฉพาะแพลตฟอร์ม
|
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
นี่คือฮุกก่อนปิดระบบ Weave System Layer ของแต่ละแพลตฟอร์ม
|
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
|
NL_DLL_EXPORT Error
นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม
|
DispatchEvents(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม
|
GetClock_Monotonic(void)
|
uint64_t
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบโมโนโทนในหน่วยไมโครวินาที
|
GetClock_MonotonicHiRes(void)
|
uint64_t
ฟังก์ชันเฉพาะแพลตฟอร์มเพื่อรับเวลาของระบบโมโนโทนิกความละเอียดสูงในหน่วยไมโครวินาที
|
GetClock_MonotonicMS(void)
|
uint64_t
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบแบบโมโนโทนในหน่วยมิลลิวินาที
|
GetClock_RealTime(uint64_t & curTime)
|
Error
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาจริง (พลเมือง) ในปัจจุบันในรูปแบบเวลา Unix แบบไมโครวินาที
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาจริง (พลเมือง) ปัจจุบันในรูปแบบเวลา Unix มิลลิวินาที
|
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
|
NL_DLL_EXPORT Error
นี่คือฮุกกิจกรรมหรือโพสต์ข้อความเฉพาะแพลตฟอร์ม
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการตั้งค่าเวลาจริง (Civil) ปัจจุบัน
|
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
|
NL_DLL_EXPORT Error
นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม
|
WillInit(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
นี่คือฮุกของระบบ Weave เฉพาะแพลตฟอร์ม Layer ฮุกสำหรับเริ่มต้นก่อนเริ่มต้น
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
นี่คือฮุกก่อนปิดระบบ Weave System Layer ของแต่ละแพลตฟอร์ม
|
ฟังก์ชัน
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
นี่เป็นฮุก Layer หลังการเริ่มต้นของ Weave System เฉพาะแพลตฟอร์ม
ซึ่งอาจลบล้างได้โดยยืนยันคำจำกัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
นี่คือฮุกก่อนปิดระบบ Weave System Layer ของแต่ละแพลตฟอร์ม
ซึ่งอาจลบล้างได้โดยยืนยันคำจำกัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
การส่งคืน |
WEAVE_SYSTEM_NO_ERROR เมื่อเสร็จสมบูรณ์ มิเช่นนั้น ข้อผิดพลาดบางอย่างที่ระบุสาเหตุของการปิดเครื่องไม่สำเร็จ การแสดงสถานะที่ไม่สำเร็จจะล้มเลิกการปิดระบบ
|
DispatchEvent
NL_DLL_EXPORT Error DispatchEvent( Layer & aLayer, void *aContext, Event aEvent )
นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม
กรณีนี้อาจลบล้างได้โดยยืนยันคําจํากัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS
การดำเนินการนี้จะมอบหมายเหตุการณ์ที่ระบุสำหรับการจัดการ โดยยกเลิกการกำหนดประเภทและอาร์กิวเมนต์จากเหตุการณ์เพื่อส่งให้กับ Weave System Layer::HandleEvent สำหรับการส่งจริง
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม
กรณีนี้อาจลบล้างได้โดยยืนยันคําจํากัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS
การดำเนินการนี้จะส่งผลต่อการวนซ้ำเหตุการณ์ซึ่งรอคิวที่ให้บริการอินสแตนซ์นี้ โดยจะดึงเหตุการณ์ออกจากคิวนั้น แล้วส่งเหตุการณ์เพื่อจัดการ
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบโมโนโทนในหน่วยไมโครวินาที
ฟังก์ชันนี้คาดว่าจะแสดงผลเวลาที่ผ่านไปในหน่วยไมโครวินาทีตั้งแต่ Epoch ที่กำหนดเองตามแพลตฟอร์ม การใช้งานแพลตฟอร์มจำเป็นต้องส่งคืนค่าที่เพิ่มขึ้นเรื่อยๆ (เช่น ไม่มีการขึ้นบรรทัดใหม่) ระหว่างการรีบูตระบบ นอกจากนี้ ยังจะต้องเลือกอย่างต่อเนื่องระหว่างโหมดสลีปของระบบที่ไม่ได้มีการรีสตาร์ทเมื่อปลุกระบบ
Epoch สำหรับเวลาที่แสดงผลโดยฟังก์ชันนี้ไม่จำเป็นต้องเหมือนกับ Epoch สำหรับฟังก์ชัน GetClock อื่นๆ รวมถึง GetClock_MonotonicMS()
ฟังก์ชันนี้คาดว่าจะใช้ได้กับชุดข้อความบนแพลตฟอร์มทุกชนิดที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การส่งคืน |
เวลาที่ผ่านไปในหน่วยไมโครวินาทีตั้งแต่ Epoch ที่กำหนดเองตามแพลตฟอร์ม
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
ฟังก์ชันเฉพาะแพลตฟอร์มเพื่อรับเวลาของระบบโมโนโทนิกความละเอียดสูงในหน่วยไมโครวินาที
ฟังก์ชันนี้คาดว่าจะแสดงผลเวลาที่ผ่านไปในหน่วยไมโครวินาทีตั้งแต่ Epoch ที่กำหนดเองตามแพลตฟอร์ม ค่าที่แสดงผลโดย GetClock_MonotonicHiRes() ต้องเพิ่มขึ้นตลอดเวลา (เช่น ไม่ตัดคำ) แต่ไม่จำเป็นต้องใช้ตัวจับเวลาที่อยู่เบื้องหลังเพื่อทำเครื่องหมายอย่างต่อเนื่องในช่วงสถานะหลับลึกของระบบ
ขอแนะนำให้แพลตฟอร์มใช้ GetClock_MonotonicHiRes() โดยใช้ตัวจับเวลาความละเอียดสูงที่ไม่ต้องปรับนาฬิกาทีละน้อย (แกว่ง) บนแพลตฟอร์มที่ไม่มีตัวจับเวลา GetClock_MonotonicHiRes() สามารถแสดงผลค่าเดียวกับ GetClock_Monotonic()
Epoch สำหรับเวลาที่แสดงผลโดยฟังก์ชันนี้ไม่จำเป็นต้องเป็นค่าเดียวกันกับฟังก์ชัน GetClock อื่นๆ...
ฟังก์ชันนี้คาดว่าจะใช้ได้กับชุดข้อความบนแพลตฟอร์มทุกชนิดที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การส่งคืน |
เวลาที่ผ่านไปในหน่วยไมโครวินาทีตั้งแต่ Epoch ที่กำหนดเองตามแพลตฟอร์ม
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบแบบโมโนโทนในหน่วยมิลลิวินาที
ฟังก์ชันนี้คาดว่าจะแสดงผลเวลาที่ผ่านไปในหน่วยมิลลิวินาที เนื่องจาก Epoch ที่กำหนดเองตามแพลตฟอร์ม การใช้งานแพลตฟอร์มจำเป็นต้องส่งคืนค่าที่เพิ่มขึ้นเรื่อยๆ (เช่น ไม่มีการขึ้นบรรทัดใหม่) ระหว่างการรีบูตระบบ นอกจากนี้ ยังจะต้องเลือกอย่างต่อเนื่องระหว่างโหมดสลีปของระบบที่ไม่ได้มีการรีสตาร์ทเมื่อปลุกระบบ
ไม่จำเป็นต้องระบุ Epoch สำหรับเวลาที่ฟังก์ชันนี้แสดงผลให้เหมือนกับเวลาในฟังก์ชัน GetClock อื่นๆ รวมถึง GetClock_Monotonic()
ฟังก์ชันนี้คาดว่าจะใช้ได้กับชุดข้อความบนแพลตฟอร์มทุกชนิดที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การส่งคืน |
เวลาที่ผ่านไปในหน่วยมิลลิวินาทีตั้งแต่ Epoch ที่แพลตฟอร์มกำหนดตามอำเภอใจ
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาจริง (พลเมือง) ในปัจจุบันในรูปแบบเวลา Unix แบบไมโครวินาที
ฟังก์ชันนี้คาดว่าจะแสดงผลค่าเรียลไทม์ปัจจุบันของแพลตฟอร์มท้องถิ่น โดยแสดงเป็นค่าเวลาของ Unix ที่ปรับขนาดเป็นไมโครวินาที ต้องจับเวลาที่อัตราอย่างน้อย 1 วินาทีเป็นอย่างน้อย (ค่า 1,000,000) แต่อาจเลือกเร็วกว่า
บนแพลตฟอร์มที่สามารถติดตามได้แบบเรียลไทม์ GetClock_RealTime() ต้องส่งคืนข้อผิดพลาด WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED เมื่อใดก็ตามที่ระบบไม่ได้ซิงโครไนซ์กับเรียลไทม์
แพลตฟอร์มที่สามารถติดตามข้อมูลแบบเรียลไทม์ไม่ได้ไม่ควรใช้ฟังก์ชัน GetClock_RealTime() ซึ่งเป็นการบังคับให้ฟีเจอร์ต้องทำงานล้มเหลวด้านเวลาการลิงก์ของฟีเจอร์ที่ต้องเข้าถึงแบบเรียลไทม์ หรือแพลตฟอร์มดังกล่าวอาจจัดเตรียมการใช้งาน GetClock_RealTime() ที่ส่งคืนข้อผิดพลาด WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
ฟังก์ชันนี้คาดว่าจะใช้ได้กับชุดข้อความบนแพลตฟอร์มทุกชนิดที่ใช้การแยกชุดข้อความ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาจริง (พลเมือง) ปัจจุบันในรูปแบบเวลา Unix มิลลิวินาที
ฟังก์ชันนี้คาดว่าจะแสดงผลค่าเรียลไทม์ปัจจุบันของแพลตฟอร์มท้องถิ่น โดยแสดงเป็นค่าเวลาของ Unix ที่ปรับขนาดเป็นมิลลิวินาที
โปรดดูรายละเอียดเกี่ยวกับการทำงานที่ควรจะเป็นในเอกสารประกอบสำหรับ GetClock_RealTime()
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
PostEvent
NL_DLL_EXPORT Error PostEvent( Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument )
นี่คือฮุกกิจกรรมหรือโพสต์ข้อความเฉพาะแพลตฟอร์ม
กรณีนี้อาจลบล้างได้โดยยืนยันคําจํากัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS
การดำเนินการนี้จะโพสต์กิจกรรม / ข้อความของประเภทที่ระบุด้วยอาร์กิวเมนต์ที่ระบุไปยังกิจกรรม / คิวข้อความเฉพาะแพลตฟอร์มของอินสแตนซ์นี้
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
การส่งคืน |
WEAVE_SYSTEM_NO_ERROR เมื่อเริ่มต้นสำเร็จ หรือมีข้อผิดพลาดที่เฉพาะเจาะจงที่ระบุสาเหตุของความล้มเหลวในการเริ่มต้น
|
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการตั้งค่าเวลาจริง (Civil) ปัจจุบัน
Weave เรียกใช้ฟังก์ชันนี้เพื่อกำหนดแนวความคิดของแพลตฟอร์มท้องถิ่นเกี่ยวกับเรียลไทม์ปัจจุบัน เวลาปัจจุบันใหม่จะแสดงเป็นค่าเวลา Unix ที่ปรับขนาดเป็นไมโครวินาที
เมื่อตั้งค่าแล้ว นาฬิกาแพลตฟอร์มเบื้องหลังควรติดตามแบบเรียลไทม์ด้วยความละเอียดอย่างน้อยทั้งวินาที
ในแพลตฟอร์มที่รองรับการติดตามแบบเรียลไทม์ ฟังก์ชัน SetClock_RealTime() ต้องส่งคืนข้อผิดพลาด WEAVE_SYSTEM_ERROR_ACCESS_DENIED หากแอปพลิเคชันการโทรไม่มีสิทธิ์ตั้งเวลาปัจจุบัน
แพลตฟอร์มที่สามารถติดตามข้อมูลแบบเรียลไทม์ไม่ได้ หรือไม่เสนอความสามารถในการตั้งค่าแบบเรียลไทม์ ไม่ควรใช้ฟังก์ชัน SetClock_RealTime() ซึ่งเป็นการบังคับให้ฟีเจอร์ล้มเหลวในเวลาลิงก์ของฟีเจอร์ที่ต้องใช้การตั้งค่าแบบเรียลไทม์ หรือแพลตฟอร์มดังกล่าวอาจมีการติดตั้งใช้งาน SetClock_RealTime() ซึ่งแสดงผลข้อผิดพลาด WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
ฟังก์ชันนี้คาดว่าจะใช้ได้กับชุดข้อความบนแพลตฟอร์มทุกชนิดที่ใช้การแยกชุดข้อความ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
StartTimer
NL_DLL_EXPORT Error StartTimer( Layer & aLayer, void *aContext, uint32_t aMilliseconds )
นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม
กรณีนี้อาจลบล้างได้โดยยืนยันคําจํากัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
WillInit
NL_DLL_EXPORT Error WillInit( Layer & aLayer, void *aContext )
นี่คือฮุกของระบบ Weave เฉพาะแพลตฟอร์ม Layer ฮุกสำหรับเริ่มต้นก่อนเริ่มต้น
ซึ่งอาจลบล้างได้โดยยืนยันคำจำกัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
การส่งคืน |
WEAVE_SYSTEM_NO_ERROR เมื่อเริ่มต้นสำเร็จ หรือมีข้อผิดพลาดที่เฉพาะเจาะจงที่ระบุสาเหตุของความล้มเหลวในการเริ่มต้น การแสดงสถานะที่ไม่สำเร็จจะล้มเลิกการเริ่มต้น
|
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
นี่คือฮุกก่อนปิดระบบ Weave System Layer ของแต่ละแพลตฟอร์ม
ซึ่งอาจลบล้างได้โดยยืนยันคำจำกัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
การส่งคืน |
WEAVE_SYSTEM_NO_ERROR เมื่อเสร็จสมบูรณ์ มิเช่นนั้น ข้อผิดพลาดบางอย่างที่ระบุสาเหตุของการปิดเครื่องไม่สำเร็จ การแสดงสถานะที่ไม่สำเร็จจะล้มเลิกการปิดระบบ
|