nl:: Weave:: System:: Platform:: Layer
סיכום
פונקציות |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
זהו הוק לאחר האתחול של שכבה ספציפית לפלטפורמה.
|
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 System.
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
זהו הוק לסגירה מראש של שכבת Weave מערכת ספציפית לפלטפורמה.
|
פונקציות
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
זהו הוק לאחר האתחול של שכבה ספציפית לפלטפורמה.
אפשר לבטל את ההגדרה הזו באמצעות הצהרה על הגדרת המעבד (pre-CPU), WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
זהו הוק לסגירה מראש של שכבת Weave מערכת ספציפית לפלטפורמה.
אפשר לבטל את ההגדרה הזו באמצעות הצהרה על הגדרת המעבד (pre-CPU), WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
WEAVE_SYSTEM_NO_ERROR כשהאימות יסתיים בהצלחה. אחרת, תופיע שגיאה ספציפית שמציינת את הסיבה לכשל בהשבתה. החזרת סטטוס 'נכשל' תבטל את הסגירה.
|
DispatchEvent
NL_DLL_EXPORT Error DispatchEvent( Layer & aLayer, void *aContext, Event aEvent )
זהו פתק לשליחת הודעה או אירוע ספציפי לפלטפורמה מסוימת.
אפשר לבטל את ההגדרה הזו באמצעות הצהרה על הגדרת המעבד (pre-CPU), WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
פעולה זו שולחת את האירוע שצוין לטיפול, מבטל את סידור הסוג והארגומנטים מהאירוע למסירה אל שכבת::HandleEvent במערכת Weave עבור השליחה בפועל.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
זהו פתק לשליחת הודעה או אירוע ספציפי לפלטפורמה מסוימת.
אפשר לבטל את ההגדרה הזו באמצעות הצהרה על הגדרת המעבד (pre-CPU), 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 )
זה אירוע ספציפי לפלטפורמה או שרשור בפוסט של הודעה.
אפשר לבטל את ההגדרה הזו באמצעות הצהרה על הגדרת המעבד (pre-CPU), 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 )
זהו פתק לשליחת הודעה או אירוע ספציפי לפלטפורמה מסוימת.
אפשר לבטל את ההגדרה הזו באמצעות הצהרה על הגדרת המעבד (pre-CPU), WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
WillInit
NL_DLL_EXPORT Error WillInit( Layer & aLayer, void *aContext )
זהו הוק לפני האתחול של שכבה ספציפית לפלטפורמה ב-Weave System.
אפשר לבטל את ההגדרה הזו באמצעות הצהרה על הגדרת המעבד (pre-CPU), WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
WEAVE_SYSTEM_NO_ERROR כשהתהליך יסתיים בהצלחה; אחרת, תופיע שגיאה ספציפית המציינת את הסיבה לכשל בהפעלה. החזרת סטטוס 'נכשל' תבטל את האתחול.
|
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
זהו הוק לסגירה מראש של שכבת Weave מערכת ספציפית לפלטפורמה.
אפשר לבטל את ההגדרה הזו באמצעות הצהרה על הגדרת המעבד (pre-CPU), WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
WEAVE_SYSTEM_NO_ERROR כשהאימות יסתיים בהצלחה. אחרת, תופיע שגיאה ספציפית שמציינת את הסיבה לכשל בהשבתה. החזרת סטטוס 'נכשל' תבטל את הסגירה.
|