nl::Weave::Profiles::DataManagement_Current::ResourceIdentifier

#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>

מבנה שכולל את מזהה המשאב.

סיכום

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

מספר שלם לא חתום של 64 סיביות שתואם לאובייקט הכללי מסוג DEVICE עם המזהה שצוין בייצוג

ייצוג כללי המקודד כמחרוזת בייטים של 10 אוקטטים. שתי 8 הבייטים הראשונים מקודדים את סוג המשאב כמספר שלם אנדיאני קטן של 16 ביט, ו-8 הבייטים הנותרים מקודדים מזהה משאב endian קטן של 64 ביט.

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

בנייה

ResourceIdentifier()
ליצור ResourceIdentifier בהתאם ל-ResourceID שלא צוין.
ResourceIdentifier(const uint64_t & aNodeId)
בונים ResourceIdentifier מסוג DEVICE על סמך aNodeId נתון.
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
בונים את ResourceIdentifier מהסוג שצוין עם המזהה הנתון.
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
בונים את ResourceIdentifier מהסוג שצוין עם המזהה הנתון.

סוגים ציבוריים

@125{
  RESOURCE_TYPE_RESERVED = 0
}
טיפוסים בני מנייה (enum)
@126 טיפוסים בני מנייה (enum)
מגדיר ערך מיוחד ל-NodeId שמתייחס ל-self.
@127 טיפוסים בני מנייה (enum)

מאפיינים ציבוריים

ResourceId
uint64_t
ResourceIdBytes[8]
uint8_t

פונקציות ציבוריות

FromString(const char *inBuffer, size_t inBufferLen)
ניתוח ייצוג של מחרוזת קנונית של משאב לאובייקט משאב.
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
ניתוח ייצוג של מחרוזת קנונית של משאב לאובייקט משאב.
FromTLV(nl::Weave::TLV::TLVReader & aReader)
מבצעים deserialize של ResourceIdentifier מייצוג TLV לאובייקט הזה.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
מבצעים deserialize של ResourceIdentifier מייצוג TLV לאובייקט הזה.
GetResourceId() const
uint64_t
פונקציית גישה לאחזור ה-ResourceId.
GetResourceType() const
uint16_t
פונקציית גישה לאחזור ה-ResourceType.
ResourceTypeAsString(void) const
const char *
מפיקים ייצוג במחרוזת של ResourceType.
ToString(char *buffer, size_t bufferLen)
ממירים את ResourceIdentifier למחרוזת שניתן להדפיס.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
יוצרים סדרה של המשאב לייצוג TLV באמצעות התג Path::ResourceID.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
מסדרים את המשאב בייצוג של TLV באמצעות תג נתון.

פונקציות סטטיות ציבוריות

ResourceTypeAsString(uint16_t aResourceType)
const char *
יוצרים ייצוג במחרוזת של סוג משאב.

כיתות חברים

operator==
friend bool

סוגים ציבוריים

@125

 @125
מאפיינים
RESOURCE_TYPE_RESERVED

סוג משאב שמור.

טיפוס ה-enum נבחר כך שלא מתנגש עם ערכי enum מסכימה::Weave:::Common::ResourceType enum. בשלב זה, יש שני ערכי ResourceId לסוג המשאב RESERVED: kNodeIdNotSpecified תואם ל-ResourceIdentifier מאוחד, ו-SELF_NODE_ID תואם למשאב שימופה מחדש אל SELF מכל ייצוג אחר.

@126

 @126

מגדיר ערך מיוחד ל-NodeId שמתייחס ל-self.

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

@127

 @127

מאפיינים ציבוריים

ResourceId

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

פונקציות ציבוריות

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

ניתוח ייצוג של מחרוזת קנונית של משאב לאובייקט משאב.

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

פרטים
פרמטרים
[in] inBuffer
מאגר נתונים זמני שמכיל את מזהה המשאב לניתוח
[in] inBufferLen
האורך (בבייטים) של המחרוזת שיש לנתח

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen,
  const uint64_t & aSelfNodeId
)

ניתוח ייצוג של מחרוזת קנונית של משאב לאובייקט משאב.

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

פרטים
פרמטרים
[in] inBuffer
מאגר נתונים זמני שמכיל את מזהה המשאב לניתוח
[in] inBufferLen
האורך (בבייטים) של המחרוזת שיש לנתח
[in] aSelfNodeId
מזהה של 64 ביט שמציין איזה מזהה מכשיר צריך למפות אל SELF_NODE_ID

FromTLV

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

מבצעים deserialize של ResourceIdentifier מייצוג TLV לאובייקט הזה.

פרטים
פרמטרים
[in] aReader
קורא TLV ממוקם על הרכיב ResourceIdentifier
החזרות
WEAVE_NO_ERROR מהצלחה. שגיאות מ-TLVReader אם לא ניתן לקרוא את ResourceIdentifier כמו שצריך.

FromTLV

WEAVE_ERROR FromTLV(
  nl::Weave::TLV::TLVReader & aReader,
  const uint64_t & aSelfNodeId
)

מבצעים deserialize של ResourceIdentifier מייצוג TLV לאובייקט הזה.

פרטים
פרמטרים
[in] aReader
קורא TLV ממוקם על הרכיב ResourceIdentifier
[in] aSelfNodeId
מזהה משאב של 64 ביט שימופה מחדש מהייצוג הסידורי אל SELF_NODE_ID
החזרות
WEAVE_NO_ERROR מהצלחה. שגיאות מ-TLVReader אם לא ניתן לקרוא את ResourceIdentifier כמו שצריך.

GetResourceId

uint64_t GetResourceId() const 

פונקציית גישה לאחזור ה-ResourceId.

GetResourceType

uint16_t GetResourceType() const 

פונקציית גישה לאחזור ה-ResourceType.

ResourceIdentifier

 ResourceIdentifier()

ליצור ResourceIdentifier בהתאם ל-ResourceID שלא צוין.

מזהה המשאב שלא צוין הוא tuple שמכיל סוג משאב RESERVED עם משאב kNodeIdNotSpeficied.

ResourceIdentifier

 ResourceIdentifier(
  const uint64_t & aNodeId
)

בונים ResourceIdentifier מסוג DEVICE על סמך aNodeId נתון.

פרטים
פרמטרים
[in] aNodeId
NodeId של מזהה המשאב הנתון

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

בונים את ResourceIdentifier מהסוג שצוין עם המזהה הנתון.

פרטים
פרמטרים
[in] aResourceType
סוג המשאב שיש לתת לו שם
[in] aResourceId
מזהה המשאב שצריך לתת לו שם

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint8_t *aResourceId,
  size_t aResourceIdLen
)

בונים את ResourceIdentifier מהסוג שצוין עם המזהה הנתון.

פרטים
פרמטרים
[in] aResourceType
סוג המשאב שיש לתת לו שם
[in] aResourceId
מזהה המשאב שיש לתת לו שם, שמיוצג כמערך בייטים
[in] aResourceIdLen
אורך המזהה בבייטים

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

מפיקים ייצוג במחרוזת של ResourceType.

סוגי המשאבים שהומרו הם סוגי המשאבים הרשומים ב-ResourceTypeEnum.h ו-0 (בהתאם ל-Resource_TYPE_RESERVED)

מחרוזת ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

ממירים את ResourceIdentifier למחרוזת שניתן להדפיס.

פרטים
פרמטרים
[in] buffer
מאגר נתונים זמני להדפסה
[in] bufferLen
אורך מאגר הנתונים הזמני

ToTLV

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter
) const 

יוצרים סדרה של המשאב לייצוג TLV באמצעות התג Path::ResourceID.

פרטים
פרמטרים
[in] aWriter
כותב TLV שמבצע סריאליזציה ל-ResourceIdentifier

ToTLV

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter,
  const uint64_t & aTag
) const 

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

פרטים
פרמטרים
[in] aWriter
כותב TLV שצריך לכתוב בו סריאליזציה ל-ResourceIdentifier
[in] aTag
תג שנותנת שם ל-ResourceIdentifier הסידורי

פונקציות סטטיות ציבוריות

ResourceTypeAsString

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

יוצרים ייצוג במחרוזת של סוג משאב.

סוגי המשאבים שהומרו הם סוגי המשאבים הרשומים ב-ResourceTypeEnum.h ו-0 (בהתאם ל-Resource_TYPE_RESERVED)

פרטים
פרמטרים
[in] aResourceType
משאב מסוג 'טיפוסים בני מנייה (enum)' שצריך להמיר לייצוג במחרוזת.

כיתות חברים

אופרטור==

friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)