nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor

#include <src/lib/profiles/device-description/DeviceDescription.h>

يحتوي على معلومات وصفية حول جهاز Weave.

ملخّص

الدلالة والهياكل

WeaveDeviceDescriptor(void)

الأنواع العلنية

@180{
  kMaxSerialNumberLength = 32,
  kMaxPairingCodeLength = 16,
  kMaxRendezvousWiFiESSID = 32,
  kMaxSoftwareVersionLength = WEAVE_CONFIG_MAX_SOFTWARE_VERSION_LENGTH
}
تعداد
تحدّد الحد الأقصى لطول بعض السمات.
@181{
  kFeature_HomeAlarmLinkCapable = 0x00000001,
  kFeature_LinePowered = 0x00000002
}
تعداد
علامات الميزات التي تشير إلى إمكانات معيّنة في الجهاز
@182{
  kFlag_IsRendezvousWiFiESSIDSuffix = 0x01
}
تعداد
تعريفات حقول العلامات

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

Day
uint8_t
يوم تصنيع الجهاز (0 = غير موجود)
DeviceFeatures
uint32_t
حقل بت يشير إلى توفُّر ميزات معيَّنة في الجهاز.
DeviceId
uint64_t
معرف جهاز Weave (0 = غير موجود)
FabricId
uint64_t
رقم تعريف نسيج Weave الذي ينتمي إليه الجهاز (0 = غير موجود)
Flags
uint8_t
حقل بت يحتوي على معلومات إضافية حول الجهاز.
ManufacturingDate
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183
Month
uint8_t
شهر تصنيع الجهاز (1 = كانون الثاني/يناير)
PairingCode[kMaxPairingCodeLength+1]
char
رمز إقران الجهاز (تم إنهاء NUL، عدد الطول 0 = غير موجود)
PairingCompatibilityVersionMajor
uint16_t
الإصدار الرئيسي لتوافق برنامج إقران الأجهزة
PairingCompatibilityVersionMinor
uint16_t
الإصدار الثانوي من برنامج إقران الجهاز
Primary802154MACAddress[8]
uint8_t
عنوان MAC لواجهة 802.15.4 الأساسية (big-endian، كل الأصفار = غير موجودة)
PrimaryWiFiMACAddress[6]
uint8_t
عنوان MAC لواجهة واي فاي الأساسية (big-endian، كل الأصفار = غير موجودة)
ProductId
uint16_t
رمز منتج الجهاز (0 = غير متوفر)
ProductRevision
uint16_t
مراجعة منتج الجهاز (0 = غير موجود)
RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]
char
معرّف SSID لشبكة Wi-Fi للجهاز (تم إنهاء NUL، القيمة 0 = غير موجود)
SerialNumber[kMaxSerialNumberLength+1]
char
الرقم التسلسلي للجهاز (تم إنهاء NUL، عدد الطول 0 = غير موجود)
SoftwareVersion[kMaxSoftwareVersionLength+1]
char
إصدار البرنامج النشط (تم إنهاء NUL، عدد الطول 0 = غير موجود)
VendorId
uint16_t
رمز مورد الجهاز (0 = غير متوفر)
Year
uint16_t
سنة تصنيع الجهاز (النطاق الصالح من 2001 إلى 2099)

الدوال العامة

Clear(void)
void
لمحو وصف الجهاز.

الدوال الثابتة العامة

Decode(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
تفكّ ترميز محتوى المخزن المؤقت للبيانات المقدّم في كائن Weave Device Descriptor.
DecodeTLV(const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
تفكّ ترميز محتوى المخزن المؤقت لبيانات TLV المقدّم في كائن Weave Device Descriptor.
DecodeTLV(nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
تفكّ ترميز وصف الجهاز باستخدام قارئ TLV المهيأ مسبقًا.
DecodeText(const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
تفكّ ترميز محتوى المخزن المؤقت للبيانات النصية المقدّم إلى كائن Weave Device Descriptor.
EncodeTLV(const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
لترميز واصف الجهاز المتوفّر بالتنسيق Weave TLV المكتوب في المخزن المؤقت المقدَّم.
EncodeTLV(const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer)
لترميز واصف الجهاز المقدّم على هيئة Weave TLV المكتوب باستخدام كائن TLVWriter المهيأ مسبقًا.
EncodeText(const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
لترميز واصف الجهاز المقدَّم كنص مكتوب في المخزن المؤقت المقدَّم.
IsZeroBytes(const uint8_t *buf, uint32_t len)
bool
تحقَّق مما إذا كان المخزن المؤقت المحدَّد يحتوي على أصفار فقط.

الأنواع العلنية

@180

 @180

تحدّد الحد الأقصى لطول بعض السمات.

أماكن إقامة
kMaxPairingCodeLength

الحد الأقصى لطول رمز الإقران

kMaxRendezvousWiFiESSID

الحد الأقصى لـ ESSID WiFi لمدة الاستقبال

kMaxSerialNumberLength

الحد الأقصى لطول الرقم التسلسلي

kMaxSoftwareVersionLength

الحدّ الأقصى لطول إصدار البرنامج

@181

 @181

علامات الميزات التي تشير إلى إمكانات معيّنة في الجهاز

أماكن إقامة
kFeature_HomeAlarmLinkCapable

يشير إلى جهاز Nest Protect الذي يتيح الاتصال بلوحة إنذار المنزل.

kFeature_LinePowered

يشير إلى جهاز يتطلب طاقة خط.

@182

 @182

تعريفات حقول العلامات

أماكن إقامة
kFlag_IsRendezvousWiFiESSIDSuffix

يشير إلى أنّ قيمة RendezvousWiFiESSID هي سلسلة لاحقة تظهر في نهاية معرّف ESSID لشبكة واي فاي على الجهاز.

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

يوم

uint8_t Day

يوم تصنيع الجهاز (0 = غير موجود)

DeviceFeatures

uint32_t DeviceFeatures

حقل بت يشير إلى توفُّر ميزات معيَّنة في الجهاز.

DeviceId

uint64_t DeviceId

معرف جهاز Weave (0 = غير موجود)

FabricId

uint64_t FabricId

رقم تعريف نسيج Weave الذي ينتمي إليه الجهاز (0 = غير موجود)

أعلام

uint8_t Flags

حقل بت يحتوي على معلومات إضافية حول الجهاز.

ManufacturingDate

struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183 ManufacturingDate

الشهر

uint8_t Month

شهر تصنيع الجهاز (1 = كانون الثاني/يناير)

PairingCode

char PairingCode[kMaxPairingCodeLength+1]

رمز إقران الجهاز (تم إنهاء NUL، عدد الطول 0 = غير موجود)

PairingCompatibilityVersionMajor

uint16_t PairingCompatibilityVersionMajor

الإصدار الرئيسي لتوافق برنامج إقران الأجهزة

PairingCompatibilityVersionMinor

uint16_t PairingCompatibilityVersionMinor

الإصدار الثانوي من برنامج إقران الجهاز

عنوان 802154MAC الأساسي

uint8_t Primary802154MACAddress[8]

عنوان MAC لواجهة 802.15.4 الأساسية (big-endian، كل الأصفار = غير موجودة)

PrimaryWiFiMACAddress

uint8_t PrimaryWiFiMACAddress[6]

عنوان MAC لواجهة واي فاي الأساسية (big-endian، كل الأصفار = غير موجودة)

ProductId

uint16_t ProductId

رمز منتج الجهاز (0 = غير متوفر)

ProductRevision

uint16_t ProductRevision

مراجعة منتج الجهاز (0 = غير موجود)

RendezvousWiFiESSID

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

معرّف SSID لشبكة Wi-Fi للجهاز (تم إنهاء NUL، القيمة 0 = غير موجود)

SerialNumber

char SerialNumber[kMaxSerialNumberLength+1]

الرقم التسلسلي للجهاز (تم إنهاء NUL، عدد الطول 0 = غير موجود)

SoftwareVersion

char SoftwareVersion[kMaxSoftwareVersionLength+1]

إصدار البرنامج النشط (تم إنهاء NUL، عدد الطول 0 = غير موجود)

VendorId

uint16_t VendorId

رمز مورد الجهاز (0 = غير متوفر)

Year

uint16_t Year

سنة تصنيع الجهاز (النطاق الصالح من 2001 إلى 2099)

الدوال العامة

محو

void Clear(
  void
)

لمحو وصف الجهاز.

WeaveDeviceDescriptor

 WeaveDeviceDescriptor(
  void
)

الدوال الثابتة العامة

Decode

WEAVE_ERROR Decode(
  const uint8_t *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

تفكّ ترميز محتوى المخزن المؤقت للبيانات المقدّم في كائن Weave Device Descriptor.

التفاصيل
المَعلمات
[in] data
مؤشر يشير إلى مخزن مؤقت يحتوي على نص أو بيانات واصف جهاز Weave المرمّز TLV.
[in] dataLen
طول المخزن المؤقت المقدم.
[out] outDesc
مرجع إلى كائن واصف الجهاز المراد تعبئته
قيم الإرجاع
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
إذا كان المخزن المؤقت المقدم غير صالح.
WEAVE_NO_ERROR
عند النجاح
other
رموز خطأ أخرى في Weave أو خاصة بالنظام الأساسي تشير إلى حدوث خطأ يمنع فك ترميز TLV.

DecodeTLV

WEAVE_ERROR DecodeTLV(
  const uint8_t *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

تفكّ ترميز محتوى المخزن المؤقت لبيانات TLV المقدّم في كائن Weave Device Descriptor.

التفاصيل
المَعلمات
[in] data
مؤشر يشير إلى مخزن مؤقت يحتوي على نص بيانات واصف جهاز Weave مرمّز.
[in] dataLen
طول المخزن المؤقت المقدم.
[out] outDesc
مرجع إلى كائن واصف الجهاز المراد تعبئته
قيم الإرجاع
WEAVE_ERROR_WRONG_TLV_TYPE
إذا لم يكن هذا الرمز TLV لوصف الجهاز.
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
في حال العثور على المزيد من بيانات TLV بعد وصف الجهاز.
WEAVE_NO_ERROR
عند النجاح
other
رموز خطأ أخرى في Weave أو نظام أساسي تشير إلى حدوث خطأ يمنع ترميز TLV.

DecodeTLV

WEAVE_ERROR DecodeTLV(
  nl::Weave::TLV::TLVReader & reader,
  WeaveDeviceDescriptor & outDesc
)

تفكّ ترميز وصف الجهاز باستخدام قارئ TLV المهيأ مسبقًا.

التفاصيل
المَعلمات
[in] reader
مرجع إلى قارئ TLV المهيأ مسبقًا.
[out] outDesc
مرجع إلى كائن واصف الجهاز المراد تعبئته
قيم الإرجاع
WEAVE_ERROR_INVALID_TLV_ELEMENT
في حال العثور على معلومات غير صالحة لوصف الجهاز ضمن بيانات TLV،
WEAVE_NO_ERROR
عند النجاح
other
رموز خطأ أخرى في Weave أو خاصة بالنظام الأساسي تشير إلى حدوث خطأ منع فك ترميز TLV.

DecodeText

WEAVE_ERROR DecodeText(
  const char *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

تفكّ ترميز محتوى المخزن المؤقت للبيانات النصية المقدّم إلى كائن Weave Device Descriptor.

التفاصيل
المَعلمات
[in] data
مؤشر يشير إلى مخزن مؤقت يحتوي على نص بيانات واصف جهاز Weave مرمّز.
[in] dataLen
طول المخزن المؤقت المقدم.
[out] outDesc
مرجع إلى كائن واصف الجهاز المراد تعبئته
قيم الإرجاع
WEAVE_ERROR_UNSUPPORTED_DEVICE_DESCRIPTOR_VERSION
إذا كان إصدار البيانات المشفّر غير متوافق.
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
إذا لم يتم تنسيق البيانات المشفرة بشكل صحيح.
WEAVE_ERROR_INCORRECT_STATE
في حال واجه برنامج فك الترميز حالة غير متسقة.
WEAVE_ERROR_BUFFER_TOO_SMALL
عند الوصول إلى نهاية المخزن المؤقت أثناء فك التشفير.
WEAVE_NO_ERROR
عند النجاح

EncodeTLV

WEAVE_ERROR EncodeTLV(
  const WeaveDeviceDescriptor & desc,
  uint8_t *buf,
  uint32_t bufLen,
  uint32_t & outEncodedLen
)

لترميز واصف الجهاز المتوفّر بالتنسيق Weave TLV المكتوب في المخزن المؤقت المقدَّم.

التفاصيل
المَعلمات
[in] desc
مرجع إلى واصف جهاز Weave المطلوب ترميزه.
[out] buf
يشير إلى المخزن المؤقت حيث ستتم كتابة النص المشفّر.
[in] bufLen
طول مدة المخزن المؤقت المقدم.
[out] outEncodedLen
يشير ذلك المصطلح إلى مرجع لمتغير الطول الذي سيتم استبداله بعدد الأحرف المكتوبة في المخزن المؤقت.
قيم الإرجاع
WEAVE_NO_ERROR
عند النجاح
other
رموز خطأ أخرى في Weave أو نظام أساسي تشير إلى حدوث خطأ يمنع ترميز TLV.

EncodeTLV

WEAVE_ERROR EncodeTLV(
  const WeaveDeviceDescriptor & desc,
  nl::Weave::TLV::TLVWriter & writer
)

لترميز واصف الجهاز المقدّم على هيئة Weave TLV المكتوب باستخدام كائن TLVWriter المهيأ مسبقًا.

ويُستخدَم هذا الإجراء لإضافة وصف الجهاز إلى إخراج TLV أكبر.

التفاصيل
المَعلمات
[in] desc
مرجع إلى واصف جهاز Weave المطلوب ترميزه.
[in] writer
يشير إلى كائن TLVWriter المهيأ مسبقًا المراد استخدامه.
قيم الإرجاع
WEAVE_NO_ERROR
عند النجاح
other
رموز خطأ أخرى في Weave أو نظام أساسي تشير إلى حدوث خطأ يمنع ترميز TLV.

EncodeText

WEAVE_ERROR EncodeText(
  const WeaveDeviceDescriptor & desc,
  char *buf,
  uint32_t bufLen,
  uint32_t & outEncodedLen
)

لترميز واصف الجهاز المقدَّم كنص مكتوب في المخزن المؤقت المقدَّم.

التفاصيل
المَعلمات
[in] desc
مرجع إلى واصف جهاز Weave المطلوب ترميزه.
[out] buf
يشير إلى المخزن المؤقت حيث ستتم كتابة النص المشفّر.
[in] bufLen
طول مدة المخزن المؤقت المقدم.
[out] outEncodedLen
يشير ذلك المصطلح إلى مرجع لمتغير الطول الذي سيتم استبداله بعدد الأحرف المكتوبة في المخزن المؤقت.
قيم الإرجاع
WEAVE_ERROR_BUFFER_TOO_SMALL
إذا كان المخزن المؤقت الذي تم توفيره صغيرًا جدًا بالنسبة إلى وصف النص الذي تم إنشاؤه
WEAVE_ERROR_INVALID_ARGUMENT
في حال كان حقل الواصف غير صالح.
WEAVE_NO_ERROR
عند النجاح

IsZeroBytes

bool IsZeroBytes(
  const uint8_t *buf,
  uint32_t len
)

تحقَّق مما إذا كان المخزن المؤقت المحدَّد يحتوي على أصفار فقط.

التفاصيل
المَعلمات
[in] buf
مؤشر إلى المورد الاحتياطي.
[in] len
طول المخزن المؤقت.
قيم الإرجاع
TRUE
إذا كان المخزن المؤقت يحتوي على أصفار فقط.
FALSE
إذا كان المخزن المؤقت يحتوي على أي قيم غير صفرية.