nl:: Weave:: Profiles:: DataManagement_Current
מרחב השמות הזה כולל את כל הממשקים ב-Weave של פרופיל ניהול הנתונים ב-Weave (WDM) שנתמכים כרגע לשימוש בסביבת הייצור.
סיכום
Typedefs |
|
---|---|
CommandFlags
|
typedef |
DataVersion
|
typedefuint64_t
|
EventProcessor
|
typedefvoid *
|
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
|
typedef פונקציה שמספקת רכיב eventData למערכת המשנה לרישום אירועים ביומן. |
FetchExternalEventsFunct)(EventLoadOutContext *aContext)
|
typedef אב טיפוס של פונקציה לאחזור נתוני אירועים באמצעות קריאה חוזרת (callback) בפלטפורמה. |
GenericTraitSinkCatalog
|
typedef |
GenericTraitSourceCatalog
|
typedef |
ImportanceType
|
typedef החשיבות של הרשומה ביומן. |
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
|
typedefvoid(*
איטרטור של נקודת אחיזה של מאפיין. |
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
|
typedef |
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
|
typedefvoid(*
אב טיפוס של פונקציה להתקשרות חזרה מופעל כאשר אירועים חיצוניים נשלחים למנוי מרחוק. |
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
|
typedefvoid(*
אב טיפוס של פונקציה לקריאה חוזרת (callback) שמופעל כאשר אירועים חיצוניים מסולקים ממאגרי הנתונים הזמניים. |
PropertyDictionaryKey
|
typedefuint16_t
|
PropertyPathHandle
|
typedefuint32_t
PropertyPathHandle הוא גיבוב (hash) מספרי ייחודי של 32 ביט של נתיב WDM ביחס לשורש של מופע תכונה. |
PropertySchemaHandle
|
typedefuint16_t
|
SchemaVersion
|
typedefuint16_t
|
SingleResourceSinkTraitCatalog
|
typedef |
SingleResourceSourceTraitCatalog
|
typedef |
TimestampType
|
typedef התוקף והסוג של חותמת הזמן הכלולים ב-EventOptions. |
TraitDataHandle
|
typedefuint16_t
|
duration_t
|
nl::Weave::Profiles::DataManagement_Current::duration_tuint32_t
סוג שמשמש לתיאור משך הזמן, באלפיות השנייה. |
event_id_t
|
nl::Weave::Profiles::DataManagement_Current::event_id_tuint32_t
הסוג של מזהה האירוע. |
timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::timestamp_tuint32_t
סוג שמשמש לתיאור חותמת הזמן באלפיות השנייה. |
utc_timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::utc_timestamp_tuint64_t
סוג שמשמש לתיאור חותמת הזמן לפי שעון UTC באלפיות השנייה. |
משתנים |
|
---|---|
sInstance
|
|
sLogFileName = "topazlog"[]
|
char
|
פונקציות |
|
---|---|
BdxErrorHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, WEAVE_ERROR aErrorCode)
|
void
|
BdxGetBlockHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aIsLastBlock)
|
void
|
BdxRejectHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aReport)
|
void
|
BdxSendAcceptHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg)
|
|
BdxXferDoneHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer)
|
void
|
BdxXferErrorHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError)
|
void
|
CreatePropertyPathHandle(PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey)
|
|
EventWriterTLVCopy(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
פונקציית עזר שמתרגמת רכיב של נתוני אירועים שכבר עברו סריאליזציה למאגר הנתונים הזמני.
|
GetPropertyDictionaryKey(PropertyPathHandle aHandle)
|
PropertyDictionaryKey
|
GetPropertySchemaHandle(PropertyPathHandle aHandle)
|
PropertySchemaHandle
|
IsNullPropertyPathHandle(PropertyPathHandle aHandle)
|
bool
|
IsRootPropertyPathHandle(PropertyPathHandle aHandle)
|
bool
|
IsVersionNewer(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
זוהי הטמעה אופטימלית של האלגוריתם להשוואת גרסאות.
|
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
|
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
|
פונקציית כלי עזר למציאת TraitUpdatableDataSink בקטלוג של TraitDataSink.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
|
תיעוד אירוע מטופס שצורף מראש.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
|
תיעוד אירוע מטופס סריאלי מראש, עם אפשרויות נוספות.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
|
תיעוד אירוע באמצעות התקשרות חזרה.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
|
תיעוד אירוע באמצעות התקשרות חזרה, עם אפשרויות שונות.
|
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
|
LogFreeform פולט מחרוזת חופשית לרצף האירועים שמוגדר כברירת מחדל.
|
LookForElementWithTag(const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader)
|
|
PlainTextWriter(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
פונקציית עזר להחרגת טקסט חופשי כאירוע ניפוי באגים.
|
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
פונקציית עזר להחרגת טקסט חופשי כאירוע ניפוי באגים.
|
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
איגודים |
|
---|---|
nl:: |
האיחוד שמספק מערכת של קבוצות אפליקציות או חותמת זמן לפי שעון UTC. |
ערכים של ספירה
@100
@100
תגים של kNestDebug_StringLogEntryEvent.
מאפיינים | |
---|---|
kTag_Message
|
מחרוזת שמכילה את ההודעה בפועל על תוצאות ניפוי הבאגים. |
kTag_Region
|
קוד לא חתום של 32 סיביות שמציין את האזור ביומן, כלומר המודול שאליו מתייחסת הודעת היומן. |
@101
@101
תגים של kNestDebug_TokenizedLogEntryEvent.
מאפיינים | |
---|---|
kTag_Args
|
מערך של ארגומנטים שיישלחו יחד עם הודעת האסימון. |
kTag_Token
|
ערך לא חתום של 32 ביט שתואם לאסימון. |
@102
@102
תגים לאירועים קבועים.
@104
@104
סוגי ההודעות בפרופיל WDM.
הערכים האלה מצוינים במפרט ניהול הנתונים.
@105
@105
קודי סטטוס ספציפיים ל-WDM.
@147
@147
95@
@95
תגי הגדרות רישום ביומן.
מאפיינים | |
---|---|
kTag_CurrentImportance
|
החשיבות הנוכחית של הרישום ביומן, היא מסוגImportanceType. |
kTag_ImportanceExpiration
|
שעה, לפי שעון UTC (זמן אוניברסלי מתואם), שבו ההגדרות הנוכחיות לרישום גבוה יותר יחזרו לערכי ברירת המחדל. |
kTag_LoggingDestination
|
כתובת URL שמציינת את היעד של העלאת היומן. |
kTag_MaximumLogUploadInterval
|
משך זמן מקסימלי, בשניות, בין ניסיונות הפעלה אוטומטיים של העלאת יומן. |
kTag_MinimumLogUploadInterval
|
משך זמן מינימלי, בשניות, בין ניסיונות הפעלה אוטומטיים להעלאת יומנים. |
kTag_TraitLoggingImportance
|
מערך אופציונלי שממפה באופן סלקטיבי פרופילים שנבחרו לרמות הרישום הגבוהות יותר ביומן. כל רכיב במערך מקבל צורה (profile,path,logging importance) שמעלה באופן סלקטיבי את רישום הרישום ביומן מקבוצת המשנה של המערכת. העדיפות הגבוהה לרישום ביומן של הפרופיל יש לה מובהקות רק כשעדיפות הרישום ביומן חורגת מהחשיבות הנוכחית, וכפופה לזמן התפוגה הזהה לחשיבות הנוכחית. |
96@
@96
תגים ליכולות רישום ביומן.
מאפיינים | |
---|---|
kTag_LogBufferingCapacity
|
מספר שלם לא חתום של 32 ביט שמתאר את יכולת אגירת הנתונים ביומן ב-kB. |
kTag_LoggingVolume
|
מספר שלם לא חתום של 32 ביט שמתאר את נפח הרישום הצפוי ביומן ב-kB ליום. |
kTag_SupportedLogTransports
|
מגוון מנגנונים נתמכים להעברת יומנים. |
kTag_SupportsNonVolatileStorage
|
ערך בוליאני שמציין אם המכשיר תומך באחסון יומנים לא נדיפים. |
kTag_SupportsPerTraitVerbosity
|
ערך בוליאני שמציין אם המכשיר תומך בהגדרות דרגת המלל לפי תכונה. |
kTag_SupportsStreaming
|
ערך בוליאני שמציין אם המכשיר תומך ביומני סטרימינג. |
97@
@97
תגים למטא-נתונים של אירועים.
לסמנטיקה המלאה של ערכי התגים אפשר לעיין במפרט של עיצוב אירועים.
מאפיינים | |
---|---|
kTag_EventData
|
זה שינוי אופציונלי. נתוני האירוע עצמו. אם השדה ריק, ברירת המחדל שלו היא מבנה ריק. |
kTag_EventDeltaSystemTime
|
תג פנימי של WDM, הפרש הזמן מהאירוע הקודם בקידוד. |
kTag_EventDeltaUTCTime
|
תג פנימי של WDM, הפרש הזמן מהאירוע הקודם בקידוד. |
kTag_EventID
|
מספר הרצף של האירוע, מבוטא ככמות לא חתומה של 64 ביט. היא חייבת להיות רציפה, קפיצות ברצף מציינות פערים באירועים. |
kTag_EventImportance
|
חשיבות האירוע. |
kTag_EventResourceID
|
זה שינוי אופציונלי. הערך הוא מזהה המשאב שהאירוע קשור אליו. אם לא כוללים אותו, הערך זהה לערך של kTag_EventSource |
kTag_EventSource
|
NodeID של המכשיר שיצר את האירוע. |
kTag_EventSystemTimestamp
|
זה שינוי אופציונלי. חותמת הזמן של המערכת באלפיות השנייה. |
kTag_EventTraitInstanceID
|
אופציונלי, מופע של התכונה שיצרה את האירוע. |
kTag_EventTraitProfileID
|
חובה. מספר שלם לא חתום של 32 ביט ששווה ל-ProfileID של התכונה. |
kTag_EventType
|
חובה. מספר שלם לא חתום של 16 ביט ששווה ל-wdl.event.id של אירוע מהסוג הזה. |
kTag_EventUTCTimestamp
|
זה שינוי אופציונלי. חותמת זמן לפי שעון UTC של האירוע באלפיות השנייה. |
kTag_ExternalEventStructure
|
תג פנימי לאירועים חיצוניים. לעולם אין להעביר את החוט דרך החוט, לעולם אין להשתמש בו מחוץ לספריית Weave. |
kTag_RelatedEventID
|
זה שינוי אופציונלי. המזהה של אירוע שהאירוע הזה קשור אליו. אם לא צוין, הערך יהיה שווה לערך של kTag_EventID. |
kTag_RelatedEventImportance
|
זה שינוי אופציונלי. החשיבות של האירוע הקשור. אם לא צוין, הערך שווה לערך של kTag_EventImportance. |
98@
@98
הגדרות הפרופיל לתכונת ניפוי הבאגים.
99@
@99
סוגי אירועים של תכונת ניפוי הבאגים ב-Nest.
מאפיינים | |
---|---|
kNestDebug_StringLogEntryEvent
|
אירוע של הודעת ניפוי באגים במחרוזת חופשית. |
kNestDebug_TokenizedHeaderEntryEvent
|
אירוע של העברת פרטי הכותרת שעברו תהליך ליצירת אסימונים. |
kNestDebug_TokenizedLogEntryEvent
|
אירוע של הודעת ניפוי באגים שהומרו לאסימונים. |
CommandFlags
CommandFlags
מאפיינים | |
---|---|
kCommandFlag_ActionTimeValid
|
מגדירים מתי זמן הפעולה תקין. |
kCommandFlag_ExpiryTimeValid
|
מגדירים מתי תפוגה תקפה. |
kCommandFlag_InitiationTimeValid
|
צריך להגדיר מתי שעת ההתחלה תקינה. |
kCommandFlag_IsOneWay
|
מגדירים מתי הפקודה היא חד-כיוונית. |
kCommandFlag_MustBeVersionValid
|
מגדירים מתי השדה 'גרסה' חוקי. |
ImportanceType
ImportanceType
החשיבות של הרשומה ביומן.
החשיבות משמשת כדרך לסינון אירועים לפני שהם נפלטים בפועל ליומן. אחרי שהאירוע מופיע ביומן, לא נדרשים תנאים נוספים להסרת האירוע מהיומן. רמת החשיבות משמשת לתעדוף אחסון האירועים. אם תוסיפו אירוע בעל חשיבות גבוהה למאגר נתונים זמני לחלוטין, האירועים ירדו לפי סדר החשיבות (והגיל) כדי להתאים אותם. לכן, לרמות החשיבות יש ערך יחסי בלבד. אם מערכת משתמשת רק ברמת חשיבות אחת, האירועים מושמטים רק לפי סדר גיל, למשל מאגר נתונים זמני.
מאפיינים | |
---|---|
Debug
|
חשיבות ניפוי הבאגים מציינת רשומות ביומן המעניינות את מפתחי המערכת, ומשמשת בעיקר בשלב הפיתוח. יומני החשיבות של ניפוי הבאגים לא מביאים בחשבון את תקציבי רוחב הפס או תקציבי החשמל של המכשירים המוגבלים. לכן, צריך להשתמש בהם רק לזמן מוגבל במערכות ייצור. |
Info
|
חשיבות המידע מציינת רשומות ביומן שמספקות תובנות וניתוחים נוספים לגבי המערכת שפועלת. רמת הרישום ביומן של המידע עשויה לשמש לפרק זמן ארוך במערכת ייצור, או לשמש כרמת ברירת המחדל של היומן בניסוי שטח. במכשירים עם הגבלת גישה, הרשומות שמתועדות ברמת המידע צריכות להיכלל ברוחב הפס ובתקציב הזיכרון, אבל לא בתקציב האנרגיה. |
Production
|
חשיבות הייצור מציינת את הרשומות ביומן שמשמשות למעקב השוטף והתחזוקה של הסביבה העסקית של Nest. במכשירים מוגבלים, יש להביא בחשבון רשומות שנרשמות ביומן עם חשיבות הפקה בתקציב החשמל והזיכרון, כי אפשר לצפות שהן תמיד יירשמו ביומן ותסיר אותן מהמכשיר. |
ProductionCritical
|
'חשיבות קריטית' לסביבת הייצור מציינת אירועים שהאובדן שלהם ישפיע ישירות על תכונות שמיועדות ללקוחות. אפליקציות עשויות להשתמש באובדן של אירועים קריטיים לייצור כדי לציין כשל במערכת. במכשירים מוגבלים, יש להביא בחשבון רשומות שנרשמות עם 'חשיבות קריטית' לסביבת הייצור, בתקציב החשמל והזיכרון, כי אפשר לצפות שהן תמיד יירשמו ביומן ותורידו אותן מהמכשיר. |
LoggingManagementStates
LoggingManagementStates
מאפיינים | |
---|---|
kLoggingManagementState_Holdoff
|
סיום העומס ביומן; אנחנו לא מפעילים מחדש את היומן עד שתוקף ההשהיה פג. |
kLoggingManagementState_Idle
|
לא מתבצעת הסרה של עומס ביומן, העומס ביומן יכול להתחיל ללא אילוצים. |
kLoggingManagementState_InProgress
|
מתבצעת הפחתת עומס ההתנתקות. |
kLoggingManagementState_Shutdown
|
אין אפשרות לבצע פעולות רישום ביומן. |
Typedefs
CommandFlags
enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags
DataVersion
uint64_t DataVersion
EventProcessor
void * EventProcessor
EventWriterFunct
WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
פונקציה שמספקת רכיב eventData למערכת המשנה לרישום אירועים ביומן.
פונקציות מהסוג הזה אמורות לספק את הרכיב eventData עבור מערכת המשנה לרישום אירועים ביומן. הקריאה לפונקציות מהסוג הזה מתבצעת לאחר שמערכת המשנה של האירועים יוצרת את כל המטא-נתונים הנדרשים של האירועים. הפונקציה נקראת עם אובייקט nl::Weave::TLV::TLVWriter שאליו היא תפיק רכיב TLV יחיד שמתויג kTag_EventData; הערך של הרכיב הזה חייב להיות מבנה שמכיל את נתוני האירוע. צריך ליצור את נתוני האירוע עצמו באמצעות תגי הקשר.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
מוחזר ערכים |
|
PlainTextWriter
EventWriterTLV
FetchExternalEventsFunct
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
אב טיפוס של פונקציה לאחזור נתוני אירועים באמצעות קריאה חוזרת (callback) בפלטפורמה.
בדומה ל-FetchEventsמאז, פונקציית האחזור הזו מחזירה את כל האירועים מ-EventLoadOutContext.mOutboundEventID דרך ExternalEvents.mLastEventID.
מצביע ההקשר הוא מסוג FetchExternalEventsContext. הוא כולל את EventLoadOutContext, עם כמה משתני סיוע לפורמט של ה-TLV. היא כוללת גם הפניה אל המבנה ExternalEvents (אירועים חיצוניים) שנוצר במהלך רישום הקריאה החוזרת (callback). מציין את טווח מזהה האירוע של הקריאה החוזרת.
בחזרה מהפונקציה, EventLoadOutContext.mCurrentEventID אמור לשקף את מזהה האירוע הראשון שלא נכתב בהצלחה למאגר הנתונים הזמני של TLV. הפלטפורמה צריכה לכתוב את הכותרת והנתונים של האירועים לכותב ה-TLV בפורמט הנכון, כפי שצוין בפרוטוקול EventLogging. בנוסף, הפלטפורמה צריכה לשמור על הייחודיות של האירועים וחותמות הזמן.
צריך להפיץ את כל השגיאות שקשורות ל-TLV לרמות גבוהות יותר. למשל, אם ייגמר לכם המקום במאגר הנתונים הזמני, ההודעה תישלח ואז קריאה נוספת לקריאה החוזרת (callback) לפי מזהה האירוע שיישאר.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
מוחזר ערכים |
|
GenericTraitSinkCatalog
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
GenericTraitSourceCatalog
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
ImportanceType
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
החשיבות של הרשומה ביומן.
החשיבות משמשת כדרך לסינון אירועים לפני שהם נפלטים בפועל ליומן. אחרי שהאירוע מופיע ביומן, לא נדרשים תנאים נוספים להסרת האירוע מהיומן. רמת החשיבות משמשת לתעדוף אחסון האירועים. אם תוסיפו אירוע בעל חשיבות גבוהה למאגר נתונים זמני לחלוטין, האירועים ירדו לפי סדר החשיבות (והגיל) כדי להתאים אותם. לכן, לרמות החשיבות יש ערך יחסי בלבד. אם מערכת משתמשת רק ברמת חשיבות אחת, האירועים מושמטים רק לפי סדר גיל, למשל מאגר נתונים זמני.
IteratorCallback
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
איטרטור של נקודת אחיזה של מאפיין.
LoggingBufferHandler
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
NotifyExternalEventsDeliveredFunct
void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
אב טיפוס של פונקציה להתקשרות חזרה מופעל כאשר אירועים חיצוניים נשלחים למנוי מרחוק.
כשהאירועים החיצוניים נשלחים למנוי מרחוק, המנוע יציג התראה לספק האירוע החיצוני. הקריאה החוזרת מכילה את האירוע של המזהה האחרון שנמסר ואת המזהה של המנוי שקיבל את האירוע.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
NotifyExternalEventsEvictedFunct
void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
אב טיפוס של פונקציה לקריאה חוזרת (callback) שמופעל כאשר אירועים חיצוניים מסולקים ממאגרי הנתונים הזמניים.
כשאובייקט האירועים החיצוניים יוסר ממאגר ההודעות היוצאות, המנוע ישלח התראה לספק האירוע החיצוני. הקריאה החוזרת מכילה את האירוע החיצוני שיש להסיר.
פרטים | |||
---|---|---|---|
פרמטרים |
|
PropertyDictionaryKey
uint16_t PropertyDictionaryKey
PropertyPathHandle
uint32_t PropertyPathHandle
PropertyPathHandle הוא גיבוב (hash) מספרי ייחודי של 32 ביט של נתיב WDM ביחס לשורש של מופע תכונה.
הוא מורכב משני חלקים:
- מספר נמוך יותר של 16 ביט שממופה לחלק הסטטי של הסכימה.
- כאשר 16 הביטים הנמוכים יותר מפנים לנתיב בתוך רכיב מילון, מופיע מספר עליון של 16 ביט שמייצג את מפתח המילון המשויך לאלמנט הזה. אם 16 הביטים הנמוכים יותר מפנות לאלמנט שאינו מילון, הערך של 16 הביטים העליונים צריך להיות 0.
כמה מאפיינים:
- לכל תכונה יש מרחב נקודת אחיזה של נתיב הנכס.
- לכל נתיב משנה ייחודי של WDM יהיה מאפיין PropertyPathHandle ייחודי דומה.
- PropertyPathHandles נוצר באופן אוטומטי (נכון לעכשיו באופן ידני) על ידי מהדר של תכונות מ-IDL, ומיוצג כרשימה של ספירה בקובץ הכותרת של התכונה המתאימה.
- עם המבנה הזה, הלוגיקה של האפליקציה אף פעם לא צריכה לטפל ישירות בנתיבי WDM. במקום זאת, האינטראקציות שלהם עם WDM מנוהלות אך ורק באמצעות הכינויים האלה.
- יש שני ערכים שמורים לכינויים של נתיבים שיש להם משמעות ספציפית:
- 0 מציין את הערך NULL כינוי
- 1 מציין כינוי שמצביע לשורש של מופע התכונה.
PropertySchemaHandle
uint16_t PropertySchemaHandle
SchemaVersion
uint16_t SchemaVersion
SingleResourceSinkTraitCatalog
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
SingleResourceSourceTraitCatalog
SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog
TimestampType
enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType
התוקף והסוג של חותמת הזמן הכלולים ב-EventOptions.
TraitDataHandle
uint16_t TraitDataHandle
duration_t
uint32_t duration_t
סוג שמשמש לתיאור משך הזמן, באלפיות השנייה.
event_id_t
uint32_t event_id_t
הסוג של מזהה האירוע.
timestamp_t
uint32_t timestamp_t
סוג שמשמש לתיאור חותמת הזמן באלפיות השנייה.
utc_timestamp_t
uint64_t utc_timestamp_t
סוג שמשמש לתיאור חותמת הזמן לפי שעון UTC באלפיות השנייה.
משתנים
sInstance
LoggingManagement sInstance
sLogFileName
char sLogFileName[] = "topazlog"
פונקציות
BdxErrorHandler
void BdxErrorHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, WEAVE_ERROR aErrorCode )
BdxGetBlockHandler
void BdxGetBlockHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aIsLastBlock )
BdxRejectHandler
void BdxRejectHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aReport )
BdxSendAcceptHandler
WEAVE_ERROR BdxSendAcceptHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg )
BdxXferDoneHandler
void BdxXferDoneHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer )
BdxXferErrorHandler
void BdxXferErrorHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError )
CreatePropertyPathHandle
PropertyPathHandle CreatePropertyPathHandle( PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey )
EventWriterTLVCopy
WEAVE_ERROR EventWriterTLVCopy( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
פונקציית עזר שמתרגמת רכיב של נתוני אירועים שכבר עברו סריאליזציה למאגר הנתונים הזמני.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
מוחזר ערכים |
|
GetPropertyDictionaryKey
PropertyDictionaryKey GetPropertyDictionaryKey( PropertyPathHandle aHandle )
GetPropertySchemaHandle
PropertySchemaHandle GetPropertySchemaHandle( PropertyPathHandle aHandle )
IsNullPropertyPathHandle
bool IsNullPropertyPathHandle( PropertyPathHandle aHandle )
IsRootPropertyPathHandle
bool IsRootPropertyPathHandle( PropertyPathHandle aHandle )
IsVersionNewer
bool IsVersionNewer( const DataVersion & aVersion, const DataVersion & aReference )
זוהי הטמעה אופטימלית של האלגוריתם להשוואת גרסאות.
בצד הלקוח, גרסה שהתקבלה מהשירות היא תמיד הגרסה העדכנית ביותר.
IsVersionNewerOrEqual
bool IsVersionNewerOrEqual( const DataVersion & aVersion, const DataVersion & aReference )
איתור
TraitUpdatableDataSink * Locate( TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog )
פונקציית כלי עזר למציאת TraitUpdatableDataSink בקטלוג של TraitDataSink.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
מצביע אל TraitUpdatableDataSink. הערך NULL אם הכינוי לא קיים או שהוא מפנה ל-TraitDataSink שלא ניתן לעדכון.
|
LogEvent
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData )
תיעוד אירוע מטופס שצורף מראש.
הפונקציה רושמת אירוע שמיוצג בתור nl::Weave::TLV::TLVReader. הכוונה היא שהייצוג של נתוני האירועים כבר עבר סריאליזציה לנפח האחסון שבבסיס ה-nl::Weave::TLV::TLVReader. הרכיב nl::Weave::TLV::TLVReader אמור להכיל לפחות רכיב נתונים אחד, והרכיב הזה חייב להיות מבנה. הרכיב הראשון שנקרא מהקורא נחשב לנתוני אירוע ומאוחסן ביומן האירועים. נתוני האירועים חייבים לכלול תגי הקשר שיפורשו בתוך הסכימה המזוהה על ידי inProfileID ו-inEventType. המערכת תתעלם מהתג של הרכיב הראשון; מערכת רישום האירועים תחליף אותו בתג eventData.
האירוע נרשם אם החשיבות שלו חורגת מסף הרישום ביומן שצוין ב-LoggingConfiguration. אם חשיבות האירוע לא עומדת בסף הנוכחי, היא תוסר והפונקציה תחזיר 0
כמזהה האירוע שמתקבל.
הווריאנט הזה של ההפעלה מציין במרומז את כל האפשרויות של אירועים שמוגדרות כברירת מחדל:
- מצוינת חותמת זמן של האירוע עם השעה הנוכחית במועד השיחה.
- האירוע מסומן כקשור למכשיר שממנו מתבצעת השיחה.
- האירוע הוא עצמאי, ולא קשור לאירועים אחרים.
- האירוע מסומן כלא דחוף,
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
event_id_t מזהה האירוע אם האירוע נכתב ביומן. אחרת, 0.
|
LogEvent
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions )
תיעוד אירוע מטופס סריאלי מראש, עם אפשרויות נוספות.
הפונקציה רושמת אירוע שמיוצג בתור nl::Weave::TLV::TLVReader. הכוונה היא שהייצוג של נתוני האירועים כבר עבר סריאליזציה לנפח האחסון שבבסיס ה-nl::Weave::TLV::TLVReader. הרכיב nl::Weave::TLV::TLVReader אמור להכיל לפחות רכיב נתונים אחד, והרכיב הזה חייב להיות מבנה. הרכיב הראשון שנקרא מהקורא נחשב לנתוני אירוע ומאוחסן ביומן האירועים. נתוני האירועים חייבים לכלול תגי הקשר שיפורשו בתוך הסכימה המזוהה על ידי inProfileID ו-inEventType. המערכת תתעלם מהתג של הרכיב הראשון; מערכת רישום האירועים תחליף אותו בתג eventData.
האירוע נרשם אם החשיבות שלו חורגת מסף הרישום ביומן שצוין ב-LoggingConfiguration. אם חשיבות האירוע לא עומדת בסף הנוכחי, היא תוסר והפונקציה תחזיר 0
כמזהה האירוע שמתקבל.
הווריאנט הזה של ההפעלה מאפשר לקורא להגדיר כל שילוב של EventOptions
:
- חותמת זמן, כאשר ערך ברירת המחדל של 0 הוא השעה הנוכחית במועד השיחה,
- 'root' הקטע של מקור האירוע (מקור האירוע ומזהה התכונה) אם הערך הוא NULL, ברירת המחדל תהיה המכשיר הנוכחי. האירוע מסומן כקשור למכשיר שממנו מתבצעת השיחה.
- מזהה אירוע קשור לקיבוץ מזהי אירועים. כאשר מזהה האירוע הקשור הוא 0, האירוע מסומן כלא קשור לאף אירוע אחר,
- דחיפות; כברירת מחדל לא דחופות.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
event_id_t מזהה האירוע אם האירוע נכתב ביומן. אחרת, 0.
|
LogEvent
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData )
תיעוד אירוע באמצעות התקשרות חזרה.
הפונקציה רושמת אירוע שמיוצג כ-EventWriterFunct ובהקשר appData
ספציפי לאפליקציה. הפונקציה כותבת את המטא-נתונים של האירוע וקוראת ל-inEventWriter
עם הפניה nl::Weave::TLV::TLVWriter והקשר inAppData
, כדי שקוד המשתמש יוכל לפלוט את נתוני האירועים ישירות ליומן האירועים. רישום ביומן של אירועים מהסוג הזה מצמצם את צריכת הזיכרון, כי נתוני האירועים עוברים סריאליזציה ישירות למאגר הנתונים הזמני של היעד. נתוני האירועים חייבים להכיל תגי הקשר שיפורשו בתוך הסכימה המזוהה על ידי inProfileID
ו-inEventType
. המערכת תתעלם מהתג של הרכיב הראשון; מערכת רישום האירועים תחליף אותו בתג eventData.
האירוע נרשם אם החשיבות שלו חורגת מסף הרישום ביומן שצוין ב-LoggingConfiguration. אם חשיבות האירוע לא עומדת בסף הנוכחי, היא תוסר והפונקציה תחזיר 0
כמזהה האירוע שמתקבל.
הווריאנט הזה של ההפעלה מציין במרומז את כל האפשרויות של אירועים שמוגדרות כברירת מחדל:
- מצוינת חותמת זמן של האירוע עם השעה הנוכחית במועד השיחה.
- האירוע מסומן כקשור למכשיר שממנו מתבצעת השיחה.
- האירוע הוא עצמאי, ולא קשור לאירועים אחרים.
- האירוע מסומן כלא דחוף,
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
event_id_t מזהה האירוע אם האירוע נכתב ביומן. אחרת, 0.
|
LogEvent
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
תיעוד אירוע באמצעות התקשרות חזרה, עם אפשרויות שונות.
הפונקציה רושמת אירוע שמיוצג כ-EventWriterFunct ובהקשר appData
ספציפי לאפליקציה. הפונקציה כותבת את המטא-נתונים של האירוע וקוראת ל-inEventWriter
עם הפניה nl::Weave::TLV::TLVWriter והקשר inAppData
, כדי שקוד המשתמש יוכל לפלוט את נתוני האירועים ישירות ליומן האירועים. רישום ביומן של אירועים מהסוג הזה מצמצם את צריכת הזיכרון, כי נתוני האירועים עוברים סריאליזציה ישירות למאגר הנתונים הזמני של היעד. נתוני האירועים חייבים להכיל תגי הקשר שיפורשו בתוך הסכימה המזוהה על ידי inProfileID
ו-inEventType
. המערכת תתעלם מהתג של הרכיב הראשון; מערכת רישום האירועים תחליף אותו בתג eventData.
האירוע נרשם אם החשיבות שלו חורגת מסף הרישום ביומן שצוין ב-LoggingConfiguration. אם חשיבות האירוע לא עומדת בסף הנוכחי, היא תוסר והפונקציה תחזיר 0
כמזהה האירוע שמתקבל.
הווריאנט הזה של ההפעלה מאפשר לקורא להגדיר כל שילוב של EventOptions
:
- חותמת זמן, כאשר ערך ברירת המחדל של 0 הוא השעה הנוכחית במועד השיחה,
- 'root' הקטע של מקור האירוע (מקור האירוע ומזהה התכונה) אם הערך הוא NULL, ברירת המחדל תהיה המכשיר הנוכחי. האירוע מסומן כקשור למכשיר שממנו מתבצעת השיחה.
- מזהה אירוע קשור לקיבוץ מזהי אירועים. כאשר מזהה האירוע הקשור הוא 0, האירוע מסומן כלא קשור לאף אירוע אחר,
- דחיפות; כברירת מחדל לא דחופות.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
החזרות |
event_id_t מזהה האירוע אם האירוע נכתב ביומן. אחרת, 0.
|
LogFreeform
event_id_t LogFreeform( ImportanceType inImportance, const char *inFormat, ... )
LogFreeform פולט מחרוזת חופשית לרצף האירועים שמוגדר כברירת מחדל.
המחרוזת תוצג במבנה אירוע של ניפוי באגים, זהה מבחינה מבנית למחרוזות אחרות שנרשמו ביומן. מזהה פרופיל האירוע יהיה זהה לזה של אירוע ב-Nest Debug, וסוג האירוע יהיה kNestDebug_StringLogEntryEvent
.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
event_id_t מזהה האירוע אם האירוע נכתב ביומן. אחרת, 0.
|
LookForElementWithTag
WEAVE_ERROR LookForElementWithTag( const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader )
PlainTextWriter
WEAVE_ERROR PlainTextWriter( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
פונקציית עזר להחרגת טקסט חופשי כאירוע ניפוי באגים.
אירוע ניפוי הבאגים הוא מבנה עם אזור יומן וטקסט חופשי.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
מוחזר ערכים |
|
PlainTextWriter
WEAVE_ERROR PlainTextWriter( ::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
פונקציית עזר להחרגת טקסט חופשי כאירוע ניפוי באגים.
אירוע ניפוי הבאגים הוא מבנה עם אזור יומן וטקסט חופשי.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
מוחזר ערכים |
|