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

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

بنية تحوي معرّف أحد الموارد

ملخّص

قد يكون ResourceIdentifier إما معرّف كائن 64 بت معممًا من نوع معيّن أو معرّف UUID. عند التشفير خارجيًا، تتم إتاحة التمثيلات التالية:

عدد صحيح 64 بت غير موقَّع مطابق للعنصر المعمم من النوع DEVICE بالمعرّف المحدد في التمثيل

تمثيل معمم مشفر كسلسلة بايت مكونة من 10 ثُمانيات. تشفر أول ثُمانيتان نوع المورد كعدد صحيح صغير مؤلف من 16 بت، مع ترميز 8 بايت المتبقي لمعرّف مورد 64 بت صغير.

تجسّد معرّفات ResourceIdentifiers أيضًا الاصطلاحات المتوفرة في رمز 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
}
تعداد
@126 تعداد
تُحدِّد قيمة خاصة لـ NodeId تشير إلى "self".
@127 تعداد

السمات العامة

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)
اطّلِع على ResourceIdentifier من تمثيل TLV في هذا الكائن.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
اطّلِع على ResourceIdentifier من تمثيل TLV في هذا الكائن.
GetResourceId() const
uint64_t
دالة موصّل لجلب رقم تعريف المورد.
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 باستخدام علامة مسار السياق::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

نوع مورد محجوز.

يتم اختيار التعداد بحيث لا يتعارض مع قيم التعداد من Schema::Weave:::Common::ResourceType enums. في الوقت الحالي، من الممكن توفير قيمتين لمعرّف الموارد (ResourceId) لنوع المورد المحفوظ: يتجاوب 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
)

اطّلِع على ResourceIdentifier من تمثيل TLV في هذا الكائن.

التفاصيل
المَعلمات
[in] aReader
قارئ TLV موضوع على العنصر ResourceIdentifier
المرتجعات
WEAVE_NO_ERROR عند النجاح. أخطاء من TLVReader في حال تعذّر قراءة ResourceIdentifier بشكل صحيح.

FromTLV

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

اطّلِع على ResourceIdentifier من تمثيل TLV في هذا الكائن.

التفاصيل
المَعلمات
[in] aReader
قارئ TLV موضوع على العنصر ResourceIdentifier
[in] aSelfNodeId
معرف ResourceID بتنسيق 64 بت ستتم إعادة تعيينه من التمثيل المتسلسل إلى SELF_NODE_ID
المرتجعات
WEAVE_NO_ERROR عند النجاح. أخطاء من TLVReader في حال تعذّر قراءة ResourceIdentifier بشكل صحيح.

GetResourceId

uint64_t GetResourceId() const 

دالة موصّل لجلب رقم تعريف المورد.

GetResourceType

uint16_t GetResourceType() const 

دالة موصّل لجلب نوع ResourceType.

ResourceIdentifier

 ResourceIdentifier()

أنشِئ ResourceIdentifier المقابل لمعرّف ResourceID غير محدّد.

معرف المورد غير المحدد هو صف يتكون من نوع مورد محجوز مع مورد 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 (بالتوافق مع FILTER_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 باستخدام علامة مسار السياق::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 (بالتوافق مع FILTER_TYPE_RESERVED)

التفاصيل
المَعلمات
[in] aResourceType
تعداد نوع المورد المطلوب تحويله إلى تمثيل سلسلة.

فصول الصداقة

==

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