nl::Weave::System::Platform::Layer

סיכום

פונקציות

DidInit(Layer & aLayer, void *aContext, Error aStatus)
NL_DLL_EXPORT void
זוהי הוק (hook) שכבה של מערכת Weave ספציפית לפלטפורמה, לאחר אתחול.
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
NL_DLL_EXPORT void
זוהי הוק (hook) שכבה לפני השבתה של מערכת שזירה ספציפית לפלטפורמה.
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
NL_DLL_EXPORT Error
זהו הוק (hook) אירוע / שליחת הודעות ספציפי לפלטפורמה.
DispatchEvents(Layer & aLayer, void *aContext)
NL_DLL_EXPORT Error
זהו הוק (hook) אירוע / שליחת הודעות ספציפי לפלטפורמה.
GetClock_Monotonic(void)
uint64_t
פונקציה ספציפית לפלטפורמה לקבלת זמן מערכת מונוטוני במיליוניות השנייה.
GetClock_MonotonicHiRes(void)
uint64_t
פונקציה ספציפית לפלטפורמה, לקבלת זמן מערכת מונוטוני ברזולוציה גבוהה במיליוניות השנייה.
GetClock_MonotonicMS(void)
uint64_t
פונקציה ספציפית לפלטפורמה לקבלת זמן מערכת מונוטוני באלפיות שנייה.
GetClock_RealTime(uint64_t & curTime)
Error
פונקציה ספציפית לפלטפורמה, לקבלת הזמן האמיתי (civil) הנוכחי בפורמט זמן מיקרו-שניות של Unix.
GetClock_RealTimeMS(uint64_t & curTimeMS)
Error
פונקציה ספציפית לפלטפורמה, לקבלת הזמן האמיתי (civil) הנוכחי בפורמט הזמן של Unix.
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
NL_DLL_EXPORT Error
זהו אירוע / הוק (hook) לפוסט של הודעה ספציפית.
SetClock_RealTime(uint64_t newCurTime)
Error
פונקציה ספציפית לפלטפורמה להגדרת הזמן האמיתי (אזרחי) הנוכחי.
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
NL_DLL_EXPORT Error
זהו הוק (hook) אירוע / שליחת הודעות ספציפי לפלטפורמה.
WillInit(Layer & aLayer, void *aContext)
NL_DLL_EXPORT Error
זהו הוק (hook) שכבה לאתחול של מערכת Weave ספציפית לפלטפורמה.
WillShutdown(Layer & aLayer, void *aContext)
NL_DLL_EXPORT Error
זוהי הוק (hook) שכבה לפני השבתה של מערכת שזירה ספציפית לפלטפורמה.

פונקציות

DidInit

NL_DLL_EXPORT void DidInit(
  Layer & aLayer,
  void *aContext,
  Error aStatus
)

זוהי הוק (hook) שכבה של מערכת Weave ספציפית לפלטפורמה, לאחר אתחול.

כדי לבטל את ההגדרה הזו, מצהירים על ההגדרה של המעבד הקדמי, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.

פרטים
פרמטרים
[in,out] aLayer
מתבצעת אתחול של ההפניה למכונה Layer של מערכת Weave.
[in,out] aContext
נתוני הקשר ספציפיים לפלטפורמה שמועברים לשיטת אתחול השכבה, ::Init.
[in] anError
הסטטוס הכולל שמוחזר דרך Layer (השכבה) של מערכת Weave: method.

DidShutdown

NL_DLL_EXPORT void DidShutdown(
  Layer & aLayer,
  void *aContext,
  Error aStatus
)

זוהי הוק (hook) שכבה לפני השבתה של מערכת שזירה ספציפית לפלטפורמה.

כדי לבטל את ההגדרה הזו, מצהירים על ההגדרה של המעבד הקדמי, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.

פרטים
פרמטרים
[in,out] aLayer
הפניה לכיבוי של מופע Layer של מערכת Weave.
[in,out] aContext
נתוני הקשר ספציפיים לפלטפורמה שמועברים לשיטת אתחול השכבה, ::Shutdown.
[in] anError
הסטטוס הכולל שהוחזר באמצעות Layer של מערכת Weave: שיטת הכיבוי.
החזרות
WEAVE_SYSTEM_NO_ERROR על הצלחה; אחרת, שגיאה ספציפית שמציינת את הסיבה לכשל בכיבוי. החזרת הסטטוס 'לא בוצע בהצלחה' תבטל את ההשבתה.

DispatchEvent

NL_DLL_EXPORT Error DispatchEvent(
  Layer & aLayer,
  void *aContext,
  Event aEvent
)

זהו הוק (hook) אירוע / שליחת הודעות ספציפי לפלטפורמה.

כדי לבטל את ההגדרה הזו, מצהירים על ההגדרה של מעבד המידע מראש, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.

הפעולה הזו שולחת את האירוע שצוין לטיפול, מסירה את הסוג והארגומנטים מהאירוע להעברה אל Weave System Layer::HandleEvent לצורך השליחה בפועל.

פרטים
פרמטרים
[in,out] aLayer
הפניה למופע השכבה שעבורו נשלחים אירועים או הודעות.
[in,out] aContext
נתוני הקשר ספציפיים לפלטפורמה שמועברים לשיטת אתחול השכבה, ::Init.
[in] anEvent
אובייקט האירוע הספציפי לפלטפורמה שיש לשלוח לטיפול.
מוחזר ערכים
#WEAVE_SYSTEM_ERROR_BAD_ARGS
אם #aLayer או יעד האירוע הוא NULL.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
אם סוג האירוע לא מזוהה.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
אם מצב האובייקט Layer של מערכת Weave אינו צפוי.
WEAVE_SYSTEM_NO_ERROR
הצלחה.

DispatchEvents

NL_DLL_EXPORT Error DispatchEvents(
  Layer & aLayer,
  void *aContext
)

זהו הוק (hook) אירוע / שליחת הודעות ספציפי לפלטפורמה.

כדי לבטל את ההגדרה הזו, מצהירים על ההגדרה של מעבד המידע מראש, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.

הפעולה הזו משפיעה על לולאת אירוע, בהמתנה בתור שמספק שירות למכונה הזו, מוציאה אירועים מהתור הזה ואז שולחת אותם לטיפול.

פרטים
פרמטרים
[in,out] aLayer
הפניה למופע השכבה שעבורו נשלחים אירועים או הודעות.
[in,out] aContext
נתוני הקשר ספציפיים לפלטפורמה שמועברים לשיטת אתחול השכבה, ::Init.
מוחזר ערכים
#WEAVE_SYSTEM_ERROR_BAD_ARGS
אם הערך של #aLayer או #aContext הוא NULL.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
אם מצב האובייקט Layer של מערכת Weave אינו צפוי.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
אם סוג האירוע לא מזוהה.
WEAVE_SYSTEM_NO_ERROR
הצלחה.

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
)

פונקציה ספציפית לפלטפורמה, לקבלת הזמן האמיתי (civil) הנוכחי בפורמט זמן מיקרו-שניות של Unix.

הפונקציה אמורה להחזיר את התפיסה של הפלטפורמה המקומית לגבי זמן אמת נוכחי, מבוטאת כערך זמן Unix מותאם למיקרו-שניות. השעון הבסיסי נדרש להתאים בקצב של שניות שלמות לפחות (ערכים של 1,000,000), אבל ייתכן שהסימון יתעכב מהר יותר.

באותן פלטפורמות שיכולות לעקוב אחרי זמן אמת, GetClock_RealTime() חייבת להחזיר את השגיאה WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED בכל פעם שהמערכת לא מסתנכרנת עם זמן אמת.

בפלטפורמות שאין להן אפשרות לעקוב בזמן אמת אסור להטמיע את הפונקציה GetClock_RealTime() , ובכך לאלץ כשלים בזמן הקישור בתכונות שתלויות בגישה בזמן אמת. לחלופין, פלטפורמות כאלה עשויות לספק יישום של GetClock_RealTime() שמחזיר את השגיאה WEAVE_SYSTEM_ERROR_NOT_SUPPORTED.

הפונקציה אמורה להיות בטוחה בשרשור בכל פלטפורמה שבה משתמשים בשרשור.

פרטים
פרמטרים
[out] curTime
השעה הנוכחית, מבוטאת כזמן יוניקס מותאם למיקרו-שניות.
מוחזר ערכים
WEAVE_SYSTEM_NO_ERROR
אם השיטה הצליחה.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
אם הפלטפורמה יכולה לבצע מעקב בזמן אמת, אבל כרגע היא לא מסונכרנת.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
אם הפלטפורמה לא יכולה לבצע מעקב בזמן אמת.

GetClock_RealTimeMS

Error GetClock_RealTimeMS(
  uint64_t & curTimeMS
)

פונקציה ספציפית לפלטפורמה, לקבלת הזמן האמיתי (civil) הנוכחי בפורמט הזמן של Unix.

הפונקציה אמורה להחזיר את התפיסה של הפלטפורמה המקומית לגבי זמן אמת נוכחי, מבוטאת כערך זמן Unix בקנה מידה של אלפיות השנייה.

לקבלת פרטים על ההתנהגות הצפויה, אפשר לעיין בתיעוד של GetClock_RealTime() .

פרטים
פרמטרים
[out] curTime
השעה הנוכחית, מבוטאת כזמן יוניקס מותאם לאלפיות השנייה.
מוחזר ערכים
WEAVE_SYSTEM_NO_ERROR
אם השיטה הצליחה.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
אם הפלטפורמה יכולה לבצע מעקב בזמן אמת, אבל כרגע היא לא מסונכרנת.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
אם הפלטפורמה לא יכולה לבצע מעקב בזמן אמת.

PostEvent

NL_DLL_EXPORT Error PostEvent(
  Layer & aLayer,
  void *aContext,
  Object & aTarget,
  EventType aType,
  uintptr_t aArgument
)

זהו אירוע / הוק (hook) לפוסט של הודעה ספציפית.

כדי לבטל את ההגדרה הזו, מצהירים על ההגדרה של מעבד המידע מראש, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.

הפעולה הזו גורמת ליצירת אירוע / הודעה מהסוג שצוין עם הארגומנט שסופק לתור לאירוע / הודעה הספציפי לפלטפורמה של המופע הזה.

פרטים
פרמטרים
[in,out] aLayer
מצביע למופע של השכבה שבו מתפרסם האירוע או ההודעה.
[in,out] aContext
נתוני הקשר ספציפיים לפלטפורמה שמועברים לשיטת אתחול השכבה, ::Init.
[in,out] aTarget
מצביע לאובייקט Layer של מערכת Weave System שמבצע את בקשת הפרסום.
[in] aType
סוג האירוע לפרסום.
[in,out] anArg
הארגומנט שמשויך לאירוע שצריך לפרסם.
החזרות
WEAVE_SYSTEM_NO_ERROR על הצלחה; אחרת, שגיאה ספציפית שמציינת את הסיבה לכשל באתחול.

SetClock_RealTime

Error SetClock_RealTime(
  uint64_t newCurTime
)

פונקציה ספציפית לפלטפורמה להגדרת הזמן האמיתי (אזרחי) הנוכחי.

שזירה מפעילה את הפונקציה הזו כדי להגדיר את התפיסה של הפלטפורמה המקומית לגבי זמן אמת נוכחי. הזמן הנוכחי החדש מבוטא כערך זמן Unix, המותאם למיקרו-שניות.

לאחר ההגדרה, השעון הבסיסי של הפלטפורמה צפוי לעקוב אחרי זמן אמת ברמת פירוט של שניות שלמות לפחות.

בפלטפורמות שתומכות במעקב בזמן אמת, הפונקציה SetClock_RealTime() חייבת להחזיר את השגיאה WEAVE_SYSTEM_ERROR_ACCESS_DENIED אם לאפליקציית הקריאה אין הרשאה להגדיר את השעה הנוכחית.

בפלטפורמות שאין להן אפשרות לעקוב בזמן אמת או שאין בהן אפשרות להגדיר זמן אמת, אסור להטמיע את הפונקציה SetClock_RealTime() וכך לאלץ כשלים בזמן הקישור בתכונות שתלויות בהגדרת זמן אמת. לחלופין, פלטפורמות כאלה עשויות לספק יישום של SetClock_RealTime() שמחזיר את השגיאה WEAVE_SYSTEM_ERROR_NOT_SUPPORTED.

הפונקציה אמורה להיות בטוחה בשרשור בכל פלטפורמה שבה משתמשים בשרשור.

פרטים
פרמטרים
[in] newCurTime
הזמן הנוכחי החדש, מבוטא כזמן יוניקס מותאם למיקרו-שניות.
מוחזר ערכים
WEAVE_SYSTEM_NO_ERROR
אם השיטה הצליחה.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
אם הפלטפורמה לא יכולה לבצע מעקב בזמן אמת.
#WEAVE_SYSTEM_ERROR_ACCESS_DENIED
אם לאפליקציית הקריאה אין הרשאה להגדיר את השעה הנוכחית.

StartTimer

NL_DLL_EXPORT Error StartTimer(
  Layer & aLayer,
  void *aContext,
  uint32_t aMilliseconds
)

זהו הוק (hook) אירוע / שליחת הודעות ספציפי לפלטפורמה.

כדי לבטל את ההגדרה הזו, מצהירים על ההגדרה של מעבד המידע מראש, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.

פרטים
פרמטרים
[in,out] aLayer
הפניה למופע השכבה שעבורו נשלחים אירועים או הודעות.
[in,out] aContext
נתוני הקשר ספציפיים לפלטפורמה שמועברים לשיטת אתחול השכבה, ::Init.
[in] aMilliseconds
מספר אלפיות השנייה שיש להגדיר לטיימר.
מוחזר ערכים
WEAVE_SYSTEM_NO_ERROR
תמיד מצליח אלא אם מבטלים אותו.

WillInit

NL_DLL_EXPORT Error WillInit(
  Layer & aLayer,
  void *aContext
)

זהו הוק (hook) שכבה לאתחול של מערכת Weave ספציפית לפלטפורמה.

כדי לבטל את ההגדרה הזו, מצהירים על ההגדרה של המעבד הקדמי, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.

פרטים
פרמטרים
[in,out] aLayer
מתבצעת אתחול של ההפניה למכונה Layer של מערכת Weave.
[in,out] aContext
נתוני הקשר ספציפיים לפלטפורמה שמועברים לשיטת אתחול השכבה, ::Init.
החזרות
WEAVE_SYSTEM_NO_ERROR על הצלחה; אחרת, שגיאה ספציפית שמציינת את הסיבה לכשל באתחול. החזרת סטטוס 'לא בוצע בהצלחה' תבטל את האתחול.

WillShutdown

NL_DLL_EXPORT Error WillShutdown(
  Layer & aLayer,
  void *aContext
)

זוהי הוק (hook) שכבה לפני השבתה של מערכת שזירה ספציפית לפלטפורמה.

כדי לבטל את ההגדרה הזו, מצהירים על ההגדרה של המעבד הקדמי, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.

פרטים
פרמטרים
[in,out] aLayer
מצביע לכיבוי של מופע Layer של מערכת Weave.
[in,out] aContext
נתוני הקשר ספציפיים לפלטפורמה שמועברים לשיטת אתחול השכבה, ::Shutdown.
החזרות
WEAVE_SYSTEM_NO_ERROR על הצלחה; אחרת, שגיאה ספציפית שמציינת את הסיבה לכשל בכיבוי. החזרת הסטטוס 'לא בוצע בהצלחה' תבטל את ההשבתה.