nl:: بافت:: سیستم:: پلتفرم:: لایه
خلاصه
توابع | |
---|---|
DidInit ( Layer & aLayer, void *aContext, Error aStatus) | NL_DLL_EXPORT void این یک قلاب مخصوص پلتفرم Weave System Layer پس از مقداردهی اولیه است. |
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 تابع پلتفرم خاص برای دریافت زمان واقعی (مدنی) فعلی در قالب زمان یونیکس میکروثانیه. |
GetClock_RealTimeMS (uint64_t & curTimeMS) | Error تابع پلتفرم خاص برای دریافت زمان واقعی (مدنی) فعلی در قالب زمان یونیکس میلی ثانیه. |
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 System 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 )
این یک قلاب مخصوص پلتفرم Weave System Layer پس از مقداردهی اولیه است.
این ممکن است با بیان تعریف پیش پردازنده، 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 )
تابع پلتفرم خاص برای بدست آوردن زمان سیستم یکنواخت در میکروثانیه.
انتظار می رود این تابع زمان سپری شده را از یک دوره دلخواه و تعریف شده توسط پلت فرم در میکروثانیه برگرداند. پیادهسازیهای پلتفرم موظفند مقداری را که بین راهاندازی مجدد سیستم همیشه در حال افزایش است (یعنی هرگز بسته نمیشود) برگردانند. علاوه بر این، منبع زمانی زیربنایی باید به طور مداوم در هر حالت خواب سیستم که مستلزم راه اندازی مجدد پس از بیداری نیست، علامت بزند.
لازم نیست دوره زمانی که توسط این تابع برگردانده میشود، مانند سایر توابع GetClock...، از جمله GetClock_MonotonicMS() باشد.
انتظار می رود این تابع در هر پلتفرمی که از threading استفاده می کند، ایمن باشد.
جزئیات | |
---|---|
برمی گرداند | زمان سپری شده در میکروثانیه از یک دوره دلخواه و مبتنی بر پلت فرم. |
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
تابع پلتفرم خاص برای دریافت زمان سیستم یکنواخت با وضوح بالا در میکروثانیه.
انتظار می رود این تابع زمان سپری شده را از یک دوره دلخواه و تعریف شده توسط پلت فرم در میکروثانیه برگرداند. مقادیر بازگردانده شده توسط GetClock_MonotonicHiRes() باید همیشه در حال افزایش باشند (یعنی هرگز wrap نکنید). با این حال، تایمر زیربنایی نیازی به تیک زدن مداوم در حالت خواب عمیق سیستم ندارد .
پلتفرم تشویق می شود که GetClock_MonotonicHiRes() را با استفاده از یک تایمر با وضوح بالا که تحت تنظیمات تدریجی ساعت قرار نمی گیرد (slewing) پیاده سازی کند. در پلتفرمهای بدون چنین تایمر، GetClock_MonotonicHiRes() میتواند همان مقدار GetClock_Monotonic را برگرداند.
نیازی نیست که دوره زمانی بازگردانده شده توسط این تابع مانند سایر توابع GetClock... باشد.
انتظار می رود این تابع در هر پلتفرمی که از threading استفاده می کند، ایمن باشد.
جزئیات | |
---|---|
برمی گرداند | زمان سپری شده در میکروثانیه از یک دوره دلخواه و مبتنی بر پلت فرم. |
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
تابع پلتفرم خاص برای دریافت زمان سیستم یکنواخت در میلی ثانیه.
انتظار می رود این تابع زمان سپری شده را از یک دوره دلخواه و تعریف شده توسط پلت فرم در میلی ثانیه برگرداند. پیادهسازیهای پلتفرم موظفند مقداری را که بین راهاندازی مجدد سیستم همیشه در حال افزایش است (یعنی هرگز بسته نمیشود) برگردانند. علاوه بر این، منبع زمانی زیربنایی باید به طور مداوم در هر حالت خواب سیستم که مستلزم راه اندازی مجدد پس از بیداری نیست، علامت بزند.
لازم نیست که دوره زمانی بازگردانده شده توسط این تابع، مانند زمان دیگر توابع GetClock...، از جمله GetClock_Monotonic() باشد.
انتظار می رود این تابع در هر پلتفرمی که از threading استفاده می کند، ایمن باشد.
جزئیات | |
---|---|
برمی گرداند | زمان سپری شده در میلی ثانیه از یک دوره دلخواه و تعریف شده توسط پلت فرم. |
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
تابع پلتفرم خاص برای دریافت زمان واقعی (مدنی) فعلی در قالب زمان یونیکس میکروثانیه.
انتظار می رود این تابع مفهوم زمان واقعی فعلی را که به صورت یک مقدار زمانی یونیکس در مقیاس میکروثانیه بیان می شود، برگرداند. ساعت زیرین باید با سرعت حداقل در ثانیه های کامل (مقادیر 1,000,000) تیک بزند، اما ممکن است سریعتر تیک بزند.
در پلتفرم هایی که قادر به ردیابی بلادرنگ هستند، هر زمان که سیستم با زمان واقعی غیر همگام شود، GetClock_RealTime() باید خطای WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED را برگرداند.
پلتفرم هایی که قادر به ردیابی بلادرنگ نیستند، نباید تابع GetClock_RealTime() را پیاده سازی کنند، در نتیجه باعث می شود تا ویژگی هایی که به دسترسی به زمان واقعی بستگی دارد، در زمان اتصال خراب شوند. از طرف دیگر، چنین پلتفرم هایی ممکن است پیاده سازی ()GetClock_RealTime را ارائه دهند که خطای WEAVE_SYSTEM_ERROR_NOT_SUPPORTED را برمی گرداند.
انتظار می رود این تابع در هر پلتفرمی که از threading استفاده می کند، ایمن باشد.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
| ||||||
ارزش های بازگشتی |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
تابع پلتفرم خاص برای دریافت زمان واقعی (مدنی) فعلی در قالب زمان یونیکس میلی ثانیه.
انتظار می رود این تابع مفهوم زمان واقعی فعلی را که به صورت یک مقدار زمانی یونیکس در مقیاس میلی ثانیه بیان می شود، برگرداند.
برای جزئیات رفتار مورد انتظار، به مستندات 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 این تابع را برای تنظیم مفهوم زمان واقعی فعلی پلت فرم محلی فراخوانی می کند. زمان فعلی جدید به عنوان یک مقدار زمان یونیکس با مقیاس میکروثانیه بیان می شود.
پس از تنظیم، انتظار می رود ساعت پلت فرم زیرین زمان واقعی را با جزئیات حداقل ثانیه کامل ردیابی کند.
در پلتفرم هایی که از ردیابی زمان واقعی پشتیبانی می کنند، تابع SetClock_RealTime() باید خطای WEAVE_SYSTEM_ERROR_ACCESS_DENIED را برگرداند اگر برنامه تماس گیرنده امتیاز تنظیم زمان فعلی را نداشته باشد.
پلتفرم هایی که قادر به ردیابی زمان واقعی نیستند، یا توانایی تنظیم زمان واقعی را ارائه نمی دهند، نباید تابع SetClock_RealTime() را پیاده سازی کنند، در نتیجه ویژگی هایی را که به تنظیم زمان واقعی بستگی دارد، مجبور به شکست در زمان اتصال می کنند. از طرف دیگر، چنین پلتفرم هایی ممکن است پیاده سازی ()SetClock_RealTime را ارائه دهند که خطای WEAVE_SYSTEM_ERROR_NOT_SUPPORTED را برمی گرداند.
انتظار می رود این تابع در هر پلتفرمی که از threading استفاده می کند، ایمن باشد.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
| ||||||
ارزش های بازگشتی |
|
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 System 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 در موفقیت؛ در غیر این صورت، یک خطای خاص که دلیل خرابی خاموش شدن را نشان می دهد. بازگشت وضعیت ناموفق، خاموش شدن را لغو می کند. |