nl:: Weave:: System:: Platform:: Layer
ملخّص
الدوال |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
هذه عبارة عن طبقة نظام Weave خاصة بالنظام الأساسي وهي عبارة عن عنصر جذب بعد التهيئة.
|
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
هذا عبارة عن عنصر جذب قبل الإغلاق لطبقة نظام Weave خاص بالنظام الأساسي.
|
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
وظيفة خاصة بالنظام الأساسي لضبط الوقت الحقيقي (المدني) الحالي.
|
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
|
NL_DLL_EXPORT Error
يرتبط هذا الحدث بحدث خاص بالنظام الأساسي أو عنصر تحكّم لإرسال الرسائل.
|
WillInit(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
هذا عبارة عن عنصر جذب للتهيئة المسبقة لطبقة نظام Weave خاص بالنظام الأساسي.
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
هذا عبارة عن عنصر جذب قبل الإغلاق لطبقة نظام Weave خاص بالنظام الأساسي.
|
الدوال
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
هذه عبارة عن طبقة نظام Weave خاصة بالنظام الأساسي وهي عبارة عن عنصر جذب بعد التهيئة.
يمكن أن يتم تجاوز ذلك من خلال تأكيد تعريف المعالج الأولي، WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
هذا عبارة عن عنصر جذب قبل الإغلاق لطبقة نظام Weave خاص بالنظام الأساسي.
يمكن أن يتم تجاوز ذلك من خلال تأكيد تعريف المعالج الأولي، 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.
يؤدي هذا إلى إرسال الحدث المحدّد للتعامل معه وإعادة تنظيم النوع والوسيطات من الحدث للتسليم إلى Layer::HandleEvent لنظام Weave للإرسال الفعلي.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||
قيم الإرجاع |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
يرتبط هذا الحدث بحدث خاص بالنظام الأساسي أو عنصر تحكّم لإرسال الرسائل.
يمكن أن يتم تجاوز ذلك من خلال تأكيد تعريف المعالج الأولي، WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
يؤدي هذا إلى حدوث تكرار في الأحداث، والانتظار في قائمة انتظار تعمل على توفير هذا المثيل، وسحب الأحداث من قائمة الانتظار هذه وإرسالها لمعالجتها.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||
قيم الإرجاع |
|
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
وظيفة خاصة بالنظام الأساسي للحصول على وقت النظام الرتيب بالميكرو ثانية.
من المتوقّع أن تعرض هذه الدالة الوقت المنقضي بالميكرو ثانية منذ تاريخ عشوائي يحدّده النظام الأساسي. تلتزم عمليات تنفيذ النظام الأساسي بعرض قيمة تتزايد باستمرار (أي لا تلتف أبدًا) بين عمليات إعادة تشغيل النظام. بالإضافة إلى ذلك، يجب أن يتم وضع علامة متابعة في مصدر الوقت الأساسي أثناء أي أوضاع سكون للنظام لا تستلزم إعادة التشغيل عند التنشيط.
ليس مطلوبًا أن تكون فترة الوقت التي تعرضها هذه الدالة هي نفسها الفترة الزمنية لأي من دوال GetClock... الأخرى، بما في ذلك GetClock_MonotonicMS().
نتوقّع أن تكون هذه الدالة خالية من سلاسل المحادثات على أي نظام أساسي يتيح استخدام سلاسل المحادثات.
التفاصيل | |
---|---|
المرتجعات |
الوقت المنقضي بالميكرو ثانية منذ تاريخ عشوائي تحدّده المنصة
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
الوظيفة الخاصة بالنظام الأساسي للحصول على وقت نظام رتيب عالي الدقة بالميكرو ثانية.
من المتوقّع أن تعرض هذه الدالة الوقت المنقضي بالميكرو ثانية منذ تاريخ عشوائي يحدّده النظام الأساسي. يجب أن تكون القيم التي تعرضها GetClock_MonotonicHiRes() تزيد باستمرار (أي لا يتم التفافها أبدًا). ومع ذلك، ليس مطلوبًا وضع علامة في المربّع بجانب الموقّت الأساسي بشكل متواصل أثناء حالات سكون النظام العميق.
ننصح النظام الأساسي بتنفيذ GetClock_MonotonicHiRes() باستخدام موقّت عالي الدقة لا يخضع لتعديلات تدريجية في الساعة (التغيير). على الأنظمة الأساسية التي لا تحتوي على مثل هذا المؤقت، يمكن أن تعرض GetClock_MonotonicHiRes() القيمة نفسها مثل GetClock_Monotonic().
ليس مطلوبًا أن تكون فترة الوقت التي تعرضها هذه الدالة هي نفسها الفترة في أي من دوال GetClock... الأخرى.
نتوقّع أن تكون هذه الدالة خالية من سلاسل المحادثات على أي نظام أساسي يتيح استخدام سلاسل المحادثات.
التفاصيل | |
---|---|
المرتجعات |
الوقت المنقضي بالميكرو ثانية منذ تاريخ عشوائي تحدّده المنصة
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
الدالة الخاصة بالنظام الأساسي للحصول على وقت النظام الرتيب بالمللي ثانية.
من المتوقع أن تعرض هذه الدالة الوقت المنقضي بالمللي ثانية منذ تاريخ عشوائي محدد من النظام الأساسي. تلتزم عمليات تنفيذ النظام الأساسي بعرض قيمة تتزايد باستمرار (أي لا تلتف أبدًا) بين عمليات إعادة تشغيل النظام. بالإضافة إلى ذلك، يجب أن يتم وضع علامة متابعة في مصدر الوقت الأساسي أثناء أي أوضاع سكون للنظام لا تستلزم إعادة التشغيل عند التنشيط.
ليس مطلوبًا أن تكون فترة الوقت التي تعرضها هذه الدالة هي نفسها الفترة لأي من دوال GetClock... الأخرى، بما في ذلك GetClock_Monotonic().
نتوقّع أن تكون هذه الدالة خالية من سلاسل المحادثات على أي نظام أساسي يتيح استخدام سلاسل المحادثات.
التفاصيل | |
---|---|
المرتجعات |
الوقت المنقضي بالمللي ثانية منذ حقبة عشوائية تحدّدها النظام الأساسي
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
هي وظيفة خاصة بالنظام الأساسي للحصول على الوقت الحقيقي (المدني) الحالي بتنسيق توقيت Unix بالميكرو ثانية.
من المتوقّع أن تعرض هذه الدالة فكرة النظام الأساسي المحلي عن الوقت الفعلي في الوقت الحالي، ويتم التعبير عنها بقيمة وقت Unix مُقسَّمة إلى ميكرو ثانية. يجب أن يتم تحديد الساعة الأساسية بمعدّل لا يقل عن ثوانٍ كاملة (القيم 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 )
وظيفة خاصة بالنظام الأساسي لضبط الوقت الحقيقي (المدني) الحالي.
يستدعي 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 خاص بالنظام الأساسي.
يمكن أن يتم تجاوز ذلك من خلال تأكيد تعريف المعالج الأولي، WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
||||
المرتجعات |
WEAVE_SYSTEM_NO_ERROR عند النجاح؛ وإلا، سيظهر خطأ محدد يشير إلى سبب إخفاق التهيئة. سيؤدي عرض الحالة "غير ناجحة" إلى إلغاء الإعداد.
|
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
هذا عبارة عن عنصر جذب قبل الإغلاق لطبقة نظام Weave خاص بالنظام الأساسي.
يمكن أن يتم تجاوز ذلك من خلال تأكيد تعريف المعالج الأولي، WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
||||
المرتجعات |
WEAVE_SYSTEM_NO_ERROR عند النجاح؛ وإلا، فإن خطأً محددًا يشير إلى سبب إخفاق إيقاف التشغيل. ستؤدي إعادة الحالة "غير ناجحة" إلى إلغاء الإيقاف.
|