nl::Weave::Profiles::DataManagement_Legacy

מרחב השמות הזה כולל את כל הממשקים ב-Weave של פרופיל Weave Data Management (WDM) שעומדים לצאת משימוש.

סיכום

ערכים של ספירה

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
טיפוסים בני מנייה (enum)
@166{
  kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
  kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
  kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
  kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
  kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
  kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
  kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
  kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
  kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
טיפוסים בני מנייה (enum)
הגדלים של טבלאות ומאגרי WDM.
@167{
  kMsgType_ViewRequest = 0x10,
  kMsgType_ViewResponse = 0x11,
  kMsgType_SubscribeRequest = 0x12,
  kMsgType_SubscribeResponse = 0x13,
  kMsgType_CancelSubscriptionRequest = 0x14,
  kMsgType_UpdateRequest = 0x15,
  kMsgType_NotifyRequest = 0x16,
  kMsgType_ViewRequest_Deprecated = 0x00,
  kMsgType_ViewResponse_Deprecated = 0x01,
  kMsgType_SubscribeRequest_Deprecated = 0x02,
  kMsgType_SubscribeResponse_Deprecated = 0x03,
  kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
  kMsgType_UpdateRequest_Deprecated = 0x05,
  kMsgType_NotifyRequest_Deprecated = 0x06
}
טיפוסים בני מנייה (enum)
סוגי ההודעות בפרופיל WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
טיפוסים בני מנייה (enum)
קבועים שונים ספציפיים ל-WDM.
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
טיפוסים בני מנייה (enum)
קודי סטטוס ספציפיים ל-WDM.
@170{
  kTag_WDMPathList = 100,
  kTag_WDMPathProfile = 101,
  kTag_WDMPathProfileId = 1,
  kTag_WDMPathProfileInstance = 2,
  kTag_WDMPathProfileId_Deprecated = 102,
  kTag_WDMPathProfileInstance_Deprecated = 103,
  kTag_WDMPathArrayIndexSelector = 104,
  kTag_WDMPathArrayValueSelector = 105,
  kTag_WDMDataList = 200,
  kTag_WDMDataListElementPath = 3,
  kTag_WDMDataListElementVersion = 4,
  kTag_WDMDataListElementData = 5,
  kTag_WDMDataListElementPath_Deprecated = 201,
  kTag_WDMDataListElementVersion_Deprecated = 202,
  kTag_WDMDataListElementData_Deprecated = 203
}
טיפוסים בני מנייה (enum)
תגים של Data Management Protocol.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
טיפוסים בני מנייה (enum)
מזהי נושאים ייחודיים.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
טיפוסים בני מנייה (enum)
אפשרויות העברה של WDM.

Typedefs

TopicIdentifier typedef
uint64_t
מזהה הנושא.

פונקציות

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
בודקים שרכיב TLV שקוראים מכיל את סוג ה-TLV הצפוי.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
בודקים תג ספציפי ל-WDM.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
הפסקת הקריאה של רכיב ברשימת הנתונים של WDM.
CloseList(nl::Weave::TLV::TLVReader & aReader)
הפסקת הקריאה של נתיב WDM או רשימת נתונים
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
קידוד נתיב WDM עם תגים שהוצאו משימוש ומזהה מכונה של מספר שלם.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
קידוד נתיב WDM עם תגים שהוצאו משימוש ומזהה מופע מחרוזת.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
קידוד נתיב WDM עם מזהה מכונה של פרופיל מספר שלם.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
קידוד נתיב WDM עם מזהה מכונה של מערך בייטים.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
קידוד נתיב WDM עם מזהה מופע מחרוזת.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
סיום הכתיבה של רכיב רשימת נתונים.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
מסיימים לכתוב רשימת נתיבים או רשימת נתונים.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
מסיימים לכתוב רשימת נתיבים או רשימת נתונים.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
בודקים אם מזהה הנושא הוא ספציפי לבעל האפליקציה.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
מתחילים לקרוא רשימת נתונים.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
מתחילים לקרוא רכיב של רשימת נתונים.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
מתחילים לקרוא רשימת נתיבים.
PublisherSpecificTopicId(void)
יצירת מזהה נושא ספציפי לבעל התוכן הדיגיטלי מההתחלה.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
מתחילים לכתוב רשימת נתונים.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
מתחילים לכתוב רשימת נתונים לאובייקט ReferencedTLVData נתון.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
מתחילים לכתוב רכיב של רשימת נתונים.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
מתחילים לכתוב רשימת נתיבים.
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
void
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
בודקים שרכיב TLV שנקרא הוא מסוג TLV שמצופה.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
בודקים שרכיב TLV שנקרא מכיל את תג WDM הצפוי.

שיעורים

nl::Weave::Profiles::DataManagement_Legacy::Binding

סיווג Binding מנהל את מצב התקשורת מטעם ישות אפליקציה באמצעות Weave.

nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

מחלקה מופשטת שמכילה הגדרות של שיטות אישור ואינדיקטור שנדרשות על ידי לקוח WDM.

nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier

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

nl::Weave::Profiles::DataManagement_Legacy::DMClient

מחלקת הבסיס המופשטת ללקוחות WDM ספציפיים לאפליקציה.

nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

מחלקת הבסיס המופשטת לבעלי אתרים של WDM ספציפיים לאפליקציה.

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

מחלקת העזר המופשטת ProfileDatabase.

nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine

סוג המנוע של פרוטוקול WDM.

nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

מחלקה מופשטת שמכילה הגדרות של שיטות אישור והתראה שנדרשות על ידי בעל התוכן הדיגיטלי ב-WDM.

ערכים של ספירה

@103

 @103
מאפיינים
kStatus_CancelSuccess

המשמעות של קוד הסטטוס הקודם היא שמינוי בוטל בהצלחה.

המשמעות של קוד הסטטוס הזה היא שהמינוי בוטל בהצלחה.

kStatus_IllegalReadRequest

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

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

kStatus_IllegalWriteRequest

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

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

kStatus_InvalidPath

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

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

kStatus_InvalidVersion

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

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

kStatus_UnknownTopic

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

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

kStatus_UnsupportedSubscriptionMode

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

המשמעות של קוד הסטטוס הזה היא שמצב המינוי המבוקש לא נתמך במכשיר המקבל.

@166

 @166

הגדלים של טבלאות ומאגרי WDM.

WDM מגדיר מאגרים וטבלאות שונים שדרושים לצורך הפעלתו, באופן הבא.

מאגרי עסקאות של לקוחות:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

מאגרי עסקאות של בעלי תוכן דיגיטלי:

  • kNotifyPoolSize

טבלאות מנוע של פרוטוקול:

  • kTransactionTableSize
  • kBindingTableSize

טבלאות שקשורות למינויים:

  • kNotifierTableSize (לקוח בלבד)
  • kSubscriptionMgrTableSize (בעל תוכן דיגיטלי בלבד)

לתשומת ליבכם: אלה כמויות שאפשר להגדיר, ושהערכים לכל פלטפורמה מופיעים ב-WeaveConfig.h המשויך.

מאפיינים
kBindingTableSize

זהו גודל ברירת המחדל של טבלת הקישור במנוע הפרוטוקול WDM.

אפשר להגדיר את הערך הזה באמצעות WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE.

kCancelSubscriptionPoolSize

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

ניתן להגדיר את הערך הזה באמצעות WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE.

kNotifierTableSize

זהו גודל ברירת המחדל של טבלת ההתראות ללקוחות WDM.

אפשר להגדיר את הערך הזה באמצעות WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE.

kNotifyPoolSize

זהו גודל ברירת המחדל של מאגר העסקאות של הבקשות לשליחת התראות עבור בעל אתר ב-WDM.

ניתן להגדיר את הערך הזה באמצעות WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE.

kSubscribePoolSize

זהו גודל ברירת המחדל של מאגר העסקאות של בקשות הרשמה עבור לקוח WDM.

ניתן להגדיר את הערך הזה דרך WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE.

kSubscriptionMgrTableSize

זהו גודל ברירת המחדל של טבלת המינויים למוציאים לאור ב-WDM.

ניתן להגדיר את הערך הזה באמצעות WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE.

kTransactionTableSize

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

אפשר להגדיר את הערך הזה באמצעות WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE.

kUpdatePoolSize

זהו גודל ברירת המחדל של מאגר העסקאות של בקשת העדכון עבור לקוח WDM.

ניתן להגדיר את הערך הזה באמצעות WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE.

kViewPoolSize

זהו גודל ברירת המחדל של מאגר העסקאות של הצגת הבקשה עבור לקוח WDM.

ניתן להגדיר את הערך הזה באמצעות WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

סוגי ההודעות בפרופיל WDM.

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

הערה! נכון להרבעון הראשון של 2015, סוגי ההודעות שבהם נעשה שימוש בגרסאות הקודמות של WDM הוצאו משימוש והוגדרו סוגים חדשים של הודעות. השינוי הזה משקף שינוי משמעותי בנתונים קודמים של אריזה וניתוח כדי להצדיק הפסקה נקייה.

מאפיינים
kMsgType_CancelSubscriptionRequest

הודעה על בקשת מינוי לביטול.

kMsgType_CancelSubscriptionRequest_Deprecated

הוצא משימוש

kMsgType_NotifyRequest

שליחת הודעה לגבי הבקשה.

kMsgType_NotifyRequest_Deprecated

הוצא משימוש

kMsgType_SubscribeRequest

הודעה עם בקשת הרשמה.

kMsgType_SubscribeRequest_Deprecated

הוצא משימוש

kMsgType_SubscribeResponse

'להרשמה' בהודעת תגובה.

kMsgType_SubscribeResponse_Deprecated

הוצא משימוש

kMsgType_UpdateRequest

עדכון הודעת הבקשה.

kMsgType_UpdateRequest_Deprecated

הוצא משימוש

kMsgType_ViewRequest

הצגת הודעת הבקשה.

kMsgType_ViewRequest_Deprecated

הוצא משימוש

kMsgType_ViewResponse

הצגת הודעת התשובה.

kMsgType_ViewResponse_Deprecated

הוצא משימוש

@168

 @168

קבועים שונים ספציפיים ל-WDM.

מאפיינים
kDefaultBindingTableIndex

האינדקס של קישור ברירת המחדל בטבלת קישור מנוע חיפוש עם יותר מרשומה אחת.

kInstanceIdNotSpecified

בשיחות שמחייבות ציון של מופע פרופיל, מציין 'ללא'.

בדרך כלל המשמעות היא שרק מופע אחד של הפרופיל קיים בישות הנדונה.

kResponseTimeoutNotSpecified

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

בדרך כלל המשמעות היא שצריך להשתמש בברירת מחדל.

kTransactionIdNotSpecified

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

kVersionNotSpecified

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

kWeaveTLVControlByteLen

האורך של בייט בקרה של TLV, שמשמש בשיטות תמיכה לקידוד מבני WDM ב-TLV.

kWeaveTLVTagLen

האורך הסטנדרטי בבייטים של תג TLV מלא, המשמש בשיטות תמיכה לקידוד מבני WDM ב-TLV.

@169

 @169

קודי סטטוס ספציפיים ל-WDM.

מאפיינים
kStatus_CancelSuccess

המשמעות של קוד הסטטוס הקודם היא שמינוי בוטל בהצלחה.

המשמעות של קוד הסטטוס הזה היא שהמינוי בוטל בהצלחה.

kStatus_IllegalReadRequest

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

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

kStatus_IllegalWriteRequest

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

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

kStatus_InvalidPath

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

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

kStatus_InvalidVersion

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

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

kStatus_UnknownTopic

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

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

kStatus_UnsupportedSubscriptionMode

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

המשמעות של קוד הסטטוס הזה היא שמצב המינוי המבוקש לא נתמך במכשיר המקבל.

@170

 @170

תגים של Data Management Protocol.

הפרוטוקול לניהול נתונים מגדיר כמה תגים שישמשו בייצוג TLV של נתוני הפרופיל.

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

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

מאפיינים
kTag_WDMDataList

הרכיב הוא רשימת מבנים שמכילים נתיב, גרסה אופציונלית ורכיבי נתונים.

סוג התג: סוג רכיב ספציפי לפרופיל: מערך: מערך: ברמה העליונה

kTag_WDMDataListElementData

הרכיב מייצג את הנתונים שאליהם מצביע נתיב נתון, שיש להם את הגרסה הנתונה.

סוג התג: סוג רכיב ספציפי להקשר: כל פריסה: נדרש

kTag_WDMDataListElementData_Deprecated

הוצא משימוש.

סוג התג: סוג רכיב ספציפי להקשר: כל פריסה: נדרש

kTag_WDMDataListElementPath

הרכיב הוא רכיב הנתיב של רכיב ברשימת נתונים.

סוג התג: סוג רכיב ספציפי להקשר: אופן הנתיב: נדרש

kTag_WDMDataListElementPath_Deprecated

הוצא משימוש.

סוג תג: סוג רכיב ספציפי לפרופיל: תיאור נתיב: חובה

kTag_WDMDataListElementVersion

הרכיב הוא רכיב הגרסה של רכיב ברשימת נתונים.

סוג התג: סוג רכיב ספציפי להקשר: אופן מספר שלם: נדרש

kTag_WDMDataListElementVersion_Deprecated

הוצא משימוש.

סוג התג: סוג רכיב ספציפי לפרופיל: מספר שלם: נדרש

kTag_WDMPathArrayIndexSelector

רכיב הנתיב תואם למערך בסכימה, והרכיב השלם הכלול בו ישמש כאינדקס למערך הזה.

סוג התג: סוג רכיב ספציפי לפרופיל: מספר שלם: אופציונלי

kTag_WDMPathArrayValueSelector

רכיב הנתיב תואם למערך בסכימה, והרכיב המוסתר ישמש כבורר רשומות.

סוג התג: סוג רכיב ספציפי לפרופיל: מערך המבנה: אופציונלי

kTag_WDMPathList

הרכיב הוא רשימה של נתיבים מסוג TLV.

סוג התג: סוג רכיב ספציפי לפרופיל: מערך: מערך: ברמה העליונה

kTag_WDMPathProfile

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

סוג התג: סוג רכיב ספציפי לפרופיל: אופן המבנה: חובה

kTag_WDMPathProfileId

הרכיב הוא רכיב של מזהה פרופיל ברכיב של פרופיל הנתיב שמתחיל נתיב TLV.

סוג התג: סוג רכיב ספציפי להקשר: אופן מספר שלם: נדרש

kTag_WDMPathProfileId_Deprecated

הוצא משימוש.

סוג התג: סוג רכיב ספציפי לפרופיל: מספר שלם: נדרש

kTag_WDMPathProfileInstance

הרכיב הוא מופע של פרופיל, שיכול לעקוב אחרי מזהה הפרופיל בנתיב TLV.

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

סוג התג: סוג רכיב ספציפי להקשר: כל פריסה: אופציונלי

kTag_WDMPathProfileInstance_Deprecated

הוצא משימוש.

סוג התג: סוג רכיב ספציפי לפרופיל: כל פריסה: אופציונלי

@171

 @171

מזהי נושאים ייחודיים.

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

מאפיינים
kAnyTopicId

השדה הזה שמור כמזהה נושא עם תו כללי לחיפוש.

kTopicIdNotSpecified

זהו ערך מיוחד השמור לציון מזהה נושא לא חוקי או תו כללי לחיפוש.

kTopicIdPublisherSpecificMask

הוא משמש כמסכה ליצירה או לפירוק של מזהה Topci.

WeaveTransportOption

 WeaveTransportOption

אפשרויות העברה של WDM.

אלו אפשרויות תחבורה בלעדיות עבור WDM.

מאפיינים
kTransport_TCP

התעבורה הבסיסית היא TCP.

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

kTransport_UDP

התעבורה הבסיסית היא UDP בלבד.

kTransport_WRMP

התעבורה הבסיסית היא UDP בלבד אבל עם "שכבת תמיכה לאפליקציות" לשיפור האמינות.

Typedefs

TopicIdentifier

uint64_t TopicIdentifier

מזהה הנושא.

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

ביט 48 עד 63 ביט 0 עד 47
מזהה הספק מספר הנושא
השימוש/הסמנטיקה השנייה במזהי נושא קיימים במקרה כזה של מינוי דינמי בין לקוח WDM לבין בעל תוכן דיגיטלי. במקרה כזה, בעל האתר יספק תמיד מזהה נושא ייחודי שמייצג את המינוי הספציפי, והוא יעשה זאת גם אם בקשת המינוי נשלחה באמצעות מזהה נושא ידוע או רשימת נתיבים שרירותית. מזהי נושא של טופס זה מזוהים באמצעות קוד ספק 0xFFFF.

למידע נוסף:
WeaveVendorIdentifiers.hpp

פונקציות

CheckTLVType

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

בודקים שרכיב TLV שקוראים מכיל את סוג ה-TLV הצפוי.

בודקים סוג נתון של TLV מול סוג הרכיב בחלק העליון של קורא TLV.

פרטים
פרמטרים
[in] aType
ה-TLVType שיש לבדוק מול רכיב ספציפי
[in] aReader
הפניה לקורא TLV שממוקם ברכיב שצריך לבדוק
החזרות
true iff ב-TLVType של הרכיב ובהתאמת aType.
למידע נוסף:
WeaveTLVTypes.h

CheckWDMTag

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

בודקים תג ספציפי ל-WDM.

בודקים את המספר של תג ספציפי ל-WDM, מ-.../data-management/DMConstants.h, מול התג עצמו בחלק העליון של קורא TLV.

פרטים
פרמטרים
[in] aTagNum
מספר התג שצריך לבדוק מול רכיב TLV ספציפי.
[in] aReader
הפניה לקורא TLV שמצביע על הרכיב שצריך לבדוק.
החזרות
true iff aReader.GetTag() יוצר תג שתואם לאחד מטופסי התג המצופים עבור מספר התג הנתון.

CloseDataListElement

WEAVE_ERROR CloseDataListElement(
  nl::Weave::TLV::TLVReader & aReader
)

הפסקת הקריאה של רכיב ברשימת הנתונים של WDM.

השיטה הזו מניחה שהרכיב המדובר הוא חלק מרשימת נתונים של WDM ולכן מעביר את kTLVType_Array אל ExitContainer().

פרטים
פרמטרים
[in,out] aReader
קורא TLV ממוקם ברכיב של רשימת נתונים של WDM.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR שמשקף חוסר יכולת לצאת ממאגר.

CloseList

WEAVE_ERROR CloseList(
  nl::Weave::TLV::TLVReader & aReader
)

הפסקת הקריאה של נתיב WDM או רשימת נתונים

השיטה הזו מניחה שהרשימה המדוברת היא הרכיב TLV העליון ביותר ולכן מעבירה את kTLVType_Sructure אל ExitContainer().

פרטים
פרמטרים
[in,out] aReader
קורא TLV שממוקם בנתיב או ברשימת נתונים של WDM.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR שמשקף חוסר יכולת לצאת ממאגר.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

קידוד נתיב WDM עם תגים שהוצאו משימוש ומזהה מכונה של מספר שלם.

הערה:יש לקודד נתיב באמצעות קבוצת התגים שהוצאה משימוש ומקובלת בשירות, לפני ש-Weave גרסה 2.0. בגרסה הזו של ה-method נעשה שימוש במזהה מכונה מספרי. השיטה הזו מפעילה מאגר תגים עם ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) ואחר כך מוסיפה את מזהה הפרופיל עם ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_deleted). אחר כך היא מוסיפה את מזהה המכונה עם ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_deleted). זוהי אחת מהגרסאות שהוצאו משימוש לקידוד נתיב, ובעיצובים חדשים יש להימנע משימוש בפורמט הזה.

פרטים
פרמטרים
[in] aWriter
הפניה לכותב הTLV ששימש לכתיבת הנתיב.
[in] aTag
הפניה לתג TLV שמוגדר במלואו שחל על הנתיב הזה.
[in] aProfileId
מזהה הפרופיל שבהם יש לפרש את רכיבי הנתיב.
[in] aInstanceId
הפניה למזהה המכונה האופציונלי של הפרופיל שבו צריך להשתמש.
[in] aPathLen
האורך של רשימת רכיבי הנתיב, שסביר להניח שהוא 0, מעבר למציין הפרופיל הראשוני.
[in] ...
הרשימה האופציונלית של אורך משתנה של תגי נתיב נוספים.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, הפונקציה מחזירה WEAVE_ERROR שמשקף חוסר יכולת לעצב את הנתיב הנתון.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

קידוד נתיב WDM עם תגים שהוצאו משימוש ומזהה מופע מחרוזת.

הערה: קידוד נתיב באמצעות קבוצת תגים שהוצאה משימוש (מידע נוסף זמין במאמר DMConstants.h). בגרסה הזו של ה-method נעשה שימוש במחרוזת מזהה מכונה. השיטה הזו מפעילה מאגר תגים עם ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) ואחר כך מוסיפה את מזהה הפרופיל עם ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_deleted). אחר כך היא מוסיפה את מזהה המכונה עם ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_deleted). זוהי אחת מהגרסאות שהוצאו משימוש לקידוד נתיב, ובעיצובים חדשים יש להימנע משימוש בפורמט הזה.

פרטים
פרמטרים
[in] aWriter
הפניה לכותב הTLV ששימש לכתיבת הנתיב.
[in] aTag
הפניה לתג TLV שמוגדר במלואו שחל על הנתיב הזה.
[in] aProfileId
מזהה הפרופיל שבהם יש לפרש את רכיבי הנתיב.
[in] aInstanceId
המחרוזת האופציונלית שמשמשת כמזהה מופע של פרופיל. אם לא צוין מזהה מכונה, הארגומנט הזה יכול להיות NULL.
[in] aPathLen
האורך של רשימת רכיבי הנתיב, שסביר להניח שהוא 0, מעבר למציין הפרופיל הראשוני.
[in] ...
רשימה אופציונלית באורך משתנה של תגי נתיב נוספים.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, הפונקציה מחזירה WEAVE_ERROR שמשקף חוסר יכולת לעצב את הנתיב הנתון.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

קידוד נתיב WDM עם מזהה מכונה של פרופיל מספר שלם.

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

השיטה הזו מוסיפה את מזהה המכונה באמצעות ContextTag(kTag_WDMPathProfileInstance), זו הגרסה העדכנית ביותר לקידוד נתיב.

פרטים
פרמטרים
[in] aWriter
הפניה לכותב הTLV ששימש לכתיבת הנתיב.
[in] aTag
הפניה לתג TLV שמוגדר במלואו שחל על הנתיב הזה.
[in] aProfileId
מזהה הפרופיל שבהם יש לפרש את רכיבי הנתיב.
[in] aInstanceId
הפניה למזהה המופע האופציונלי של הפרופיל שבו צריך להשתמש. אם לא משתמשים במזהה מופע, הערך של הפרמטר צריך להיות kInstanceIdNotSpecified.
[in] aPathLen
האורך של רשימת רכיבי הנתיב, שסביר להניח שהוא 0, מעבר למציין הפרופיל הראשוני.
[in] ...
הרשימה האופציונלית של אורך משתנה של תגי נתיב נוספים.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, הפונקציה מחזירה WEAVE_ERROR שמשקף חוסר יכולת לעצב את הנתיב הנתון.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

קידוד נתיב WDM עם מזהה מכונה של מערך בייטים.

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

השיטה הזו מוסיפה את מזהה המכונה באמצעות ContextTag(kTag_WDMPathProfileInstance), זו הגרסה העדכנית ביותר לקידוד נתיב.

פרטים
פרמטרים
[in] aWriter
הפניה לכותב הTLV ששימש לכתיבת הנתיב.
[in] aTag
הפניה לתג TLV שמוגדר במלואו שחל על הנתיב הזה.
[in] aProfileId
מזהה הפרופיל שבמסגרתו יש לפרש את רכיבי הנתיב.
[in] aInstanceIdLen
האורך של מערך הבייטים שמרכיבים את מזהה המכונה. אם אין מזהה, הערך של הפרמטר הזה יהיה 0.
[in] aInstanceId
מערך הבייטים האופציונליים שמשמש כמזהה מופע של פרופיל. הארגומנט הזה יכול להיות NULL במקרה שלא צוין מזהה מכונה.
[in] aPathLen
האורך של רשימת רכיבי הנתיב, שסביר להניח שהוא 0, מעבר למציין הפרופיל הראשוני.
[in] ...
רשימה אופציונלית באורך משתנה של תגי נתיב נוספים.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, הפונקציה מחזירה WEAVE_ERROR שמשקף חוסר יכולת לעצב את הנתיב הנתון.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

קידוד נתיב WDM עם מזהה מופע מחרוזת.

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

השיטה הזו מוסיפה את מזהה המכונה באמצעות ContextTag(kTag_WDMPathProfileInstance), זו הגרסה העדכנית ביותר לקידוד נתיב.

פרטים
פרמטרים
[in] aWriter
הפניה לכותב הTLV ששימש לכתיבת הנתיב.
[in] aTag
הפניה לתג TLV שמוגדר במלואו שחל על הנתיב הזה.
[in] aProfileId
מזהה הפרופיל שבהם יש לפרש את רכיבי הנתיב.
[in] aInstanceId
המחרוזת האופציונלית שמשמשת כמזהה מופע של פרופיל. אם לא צוין מזהה מכונה, הארגומנט הזה יכול להיות NULL.
[in] aPathLen
האורך של רשימת רכיבי הנתיב, שסביר להניח שהוא 0, מעבר למציין הפרופיל הראשוני.
[in] ...
רשימה אופציונלית באורך משתנה של תגי נתיב נוספים.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, הפונקציה מחזירה WEAVE_ERROR שמשקף חוסר יכולת לעצב את הנתיב הנתון.

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

סיום הכתיבה של רכיב רשימת נתונים.

כותבים את ה-TLV לסוף של רשימת נתונים של WDM. שימו לב שהפעולה הזו מעבירה באופן אוטומטי סוג של kTLVType_Array לקריאה של EndContainer() , בהנחה שאנחנו תמיד סוגרים פריט ברשימה.

פרטים
פרמטרים
[in] aWriter
הפניה לכותב TLV שאיתו צריך לכתוב את סוף הפריט.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR שמשקף חוסר יכולת לסיים קונטיינר.

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

EndList

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

מסיימים לכתוב רשימת נתיבים או רשימת נתונים.

כותבים את ה-TLV לסוף של נתיב WDM או רשימת נתונים. בנוסף, סיכום של הכותב.

פרטים
פרמטרים
[in,out] aWriter
הפניה לכותב TLV שאיתו צריך לכתוב את סוף הרשימה.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR שמשקף חוסר יכולת לסיים קונטיינר.

EndList

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

מסיימים לכתוב רשימת נתיבים או רשימת נתונים.

כותבים את ה-TLV לסוף של נתיב WDM או רשימת נתונים. בנוסף, סיכום של הכותב. במקרה הזה, האובייקט ReferencedTLVData שאליו נכתוב את ה-TLV מועבר ומשתנה כדי לשקף את כמות הנתונים שנכתבה.

פרטים
פרמטרים
[in,out] aList
הפניה לאובייקט ReferenceTLVData שאליו נכתבה הרשימה.
[in] aWriter
הפניה לכותב TLV שאיתו צריך לכתוב את סוף הרשימה.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR שמשקף חוסר יכולת לסיים קונטיינר.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

בודקים אם מזהה הנושא הוא ספציפי לבעל האפליקציה.

פרטים
פרמטרים
[in] aTopicId
בדיקה של מזהה נושא
החזרות
true אם מזהה הנושא הוא ספציפי לבעל תוכן דיגיטלי, false אם מזהה הנושא הוא ספציפי לבעל תוכן דיגיטלי, false

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

מתחילים לקרוא רשימת נתונים.

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

פרטים
פרמטרים
[in] aDataList
רשימת נתונים שמועברת כהפניה לאובייקט ReferencedTLVData. בתרחיש הרגיל, הרשימה עדיין נמצאת במאגר נתונים זמני לאחר הקבלה.
[out] aReader
הפניה לקורא TLV שמשמש לקריאת רשימת הנתונים. הקורא יישאר מצביע בדיוק לפני הפריט הראשון ברשימה.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR שמשקף כשל בפתיחת רשימת הנתונים ו/או מאמת את התגים והסוגים הרלוונטיים.

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

מתחילים לקרוא רכיב של רשימת נתונים.

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

פרטים
פרמטרים
[in] aReader
הפניה לקורא TLV שממוקם ברכיב של רשימת נתונים.
[out] aPathReader
הפניה לקורא TLV שמפנה לרכיב הנתיב של רכיב רשימת הנתונים.
[out] aVersion
הפניה למספר שלם בגרסת 64 ביט שיש להגדיר לגרסת הרכיב של רשימת הנתונים, אם קיימת, או לגרסת kVersionNotSpecified.
החזרות
WEAVE_NO_ERROR במקרה של הצלחה, או WEAVE_ERROR שמשויך לפתיחה ולקריאה של רכיב רשימת הנתונים.

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

מתחילים לקרוא רשימת נתיבים.

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

פרטים
פרמטרים
[in] aPathList
רשימת נתיבים שמועברת כהפניה לאובייקט ReferencedTLVData. בתרחיש הרגיל, הרשימה עדיין נמצאת במאגר נתונים זמני לאחר הקבלה.
[out] aReader
הפניה לקורא TLV שמשמש לקריאת רשימת הנתיבים. הקורא יישאר מצביע בדיוק לפני הנתיב הראשון ברשימה.
החזרות
WEAVE_NO_ERROR לגבי הצלחה; אחרת, WEAVE_ERROR שמשקף כשל בפתיחת רשימת הנתיבים ו/או מאמת את התגים והסוגים הרלוונטיים.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

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

פרטים
החזרות
את מזהה הנושא החדש.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

מתחילים לכתוב רשימת נתונים.

צריך לכתוב את ה-TLV בהתחלה של רשימת נתונים של WDM, למשל כארגומנט הראשי של UpdateRequest().

פרטים
פרמטרים
[in] aWriter
הפניה לכותב של TLV שאיתו צריך להתחיל לכתוב.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR שמשקף חוסר יכולת להפעיל קונטיינר.

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

מתחילים לכתוב רשימת נתונים לאובייקט ReferencedTLVData נתון.

כותבים TLV בתחילת רשימת נתונים של WDM. במקרה הזה, אנחנו מניחים שאנחנו כותבים את רשימת הנתונים במבנה נתונים שיש אליו הפניה מ-TLV. ההנחה היא שהכותב לא מאותחל – או, בכל מקרה, יאותחל כדי להצביע על האובייקט הנתון.

פרטים
פרמטרים
[out] aDataList
הפניה לאובייקט ReferencedTLVData שמיועד להיות היעד של הכותב, ובסופו של דבר מכיל את הנתונים הרצויים.
[in] aWriter
הפניה לכותב של TLV שאיתו צריך להתחיל לכתוב.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR שמשקף חוסר יכולת להפעיל קונטיינר.

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

מתחילים לכתוב רכיב של רשימת נתונים.

צריך לכתוב את ה-TLV בתחילת הרכיב של רשימת הנתונים של WDM.

פרטים
פרמטרים
[in] aWriter
הפניה לכותב של TLV שאיתו צריך להתחיל לכתוב.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR שמשקף חוסר יכולת להפעיל קונטיינר.

StartEncodePath

WEAVE_ERROR StartEncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  TLVType & mOuterContainer,
  TLVType & mPath
)

StartPathList

WEAVE_ERROR StartPathList(
  nl::Weave::TLV::TLVWriter & aWriter
)

מתחילים לכתוב רשימת נתיבים.

צריך לכתוב את ה-TLV בהתחלה של רשימת נתיבים של WDM, למשל כארגומנט הראשי של ViewRequest().

פרטים
פרמטרים
[in] aWriter
הפניה לכותב של TLV שאיתו צריך להתחיל לכתוב.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR שמשקף חוסר יכולת להפעיל קונטיינר.

TxnResponseHandler

void TxnResponseHandler(
  ExchangeContext *anExchangeCtx,
  const IPPacketInfo *anAddrInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

TxnTimeoutHandler

void TxnTimeoutHandler(
  ExchangeContext *anExchangeCtx
)

ValidateTLVType

WEAVE_ERROR ValidateTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

בודקים שרכיב TLV שנקרא הוא מסוג TLV שמצופה.

בודקים סוג נתון של TLV מול סוג הרכיב בראש קורא של TLV ומחזירים שגיאה אם אין התאמה.

פרטים
פרמטרים
[in] aType
ה-TLVType שצריך לאמת מול רכיב ספציפי.
[in] aReader
הפניה לקורא TLV שממוקם ברכיב שצריך לאמת.
החזרות
WEAVE_NO_ERROR אם יש התאמה, או WEAVE_ERROR_WRONG_TLV_TYPE אם אין התאמה.
למידע נוסף:
WeaveTLVTypes.h

ValidateWDMTag

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

בודקים שרכיב TLV שנקרא מכיל את תג WDM הצפוי.

פרטים
פרמטרים
[in] aTagNum
מספר התג בן 32 סיביות של תג WDM הצפוי.
[in] aReader
קורא TLV ממוקם ברכיב המיועד לאימות.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, WEAVE_ERROR_INVALID_TLV_TAG אם התג לא תואם למספר התג הנתון כשמפרשים אותו כתג WDM.