class WeaveDeviceDescriptor
Defined at line 115 of file gen/third_party/openweave-core/src/include/Weave/Profiles/device-description/DeviceDescription.h
Contains descriptive information about a Weave device.
Public Members
uint64_t DeviceId
uint64_t FabricId
uint32_t DeviceFeatures
uint16_t VendorId
uint16_t ProductId
uint16_t ProductRevision
ManufacturingDate
uint8_t[8] Primary802154MACAddress
uint8_t[6] PrimaryWiFiMACAddress
char[33] SerialNumber
char[33] SoftwareVersion
char[33] RendezvousWiFiESSID
char[17] PairingCode
uint16_t PairingCompatibilityVersionMajor
uint16_t PairingCompatibilityVersionMinor
uint8_t Flags
Public Methods
void WeaveDeviceDescriptor ()
void Clear ()
WEAVE_ERROR EncodeText (const WeaveDeviceDescriptor &desc,char *buf,uint32_tbufLen,uint32_t &outEncodedLen)
WEAVE_ERROR EncodeTLV (const WeaveDeviceDescriptor &desc,uint8_t *buf,uint32_tbufLen,uint32_t &outEncodedLen)
WEAVE_ERROR EncodeTLV (const WeaveDeviceDescriptor & desc, nl::Weave::TLV::TLVWriter & writer)
WEAVE_ERROR Decode (const uint8_t *data,uint32_tdataLen,WeaveDeviceDescriptor &outDesc)
WEAVE_ERROR DecodeText (const char *data,uint32_tdataLen,WeaveDeviceDescriptor &outDesc)
WEAVE_ERROR DecodeTLV (const uint8_t *data,uint32_tdataLen,WeaveDeviceDescriptor &outDesc)
WEAVE_ERROR DecodeTLV (nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
bool IsZeroBytes (const uint8_t * buf, uint32_t len)
Enumerations
enum (unnamed)
| Name | Value | Comments |
|---|---|---|
| kMaxSerialNumberLength | 32 |
Maximum serial number length. |
| kMaxPairingCodeLength | 16 |
Maximum pairing code length. |
| kMaxRendezvousWiFiESSID | 32 |
Maximum WiFi ESSID for Rendezvous length. |
| kMaxSoftwareVersionLength | WEAVE_CONFIG_MAX_SOFTWARE_VERSION_LENGTH |
Maximum software version length. |
Defines the maximum length of some attributes.
Defined at line 123 of file gen/third_party/openweave-core/src/include/Weave/Profiles/device-description/DeviceDescription.h
enum (unnamed)
| Name | Value | Comments |
|---|---|---|
| kFeature_HomeAlarmLinkCapable | 0x00000001 |
Indicates a Nest Protect that supports connection to a home alarm panel. |
| kFeature_LinePowered | 0x00000002 |
Indicates a device that requires line power. |
Feature flags indicating specific device capabilities.
Defined at line 134 of file gen/third_party/openweave-core/src/include/Weave/Profiles/device-description/DeviceDescription.h
enum (unnamed)
| Name | Value | Comments |
|---|---|---|
| kFlag_IsRendezvousWiFiESSIDSuffix | 0x01 |
Indicates that the RendezvousWiFiESSID value is a suffix string that |
Flags field definitions.
Defined at line 143 of file gen/third_party/openweave-core/src/include/Weave/Profiles/device-description/DeviceDescription.h
enum (unnamed)
| Name | Value | Comments |
|---|---|---|
| kMaxEncodedTLVLength | 8 /* Control + Profile Tag */ + 8 /* Length */ + (8 * 16) /* Control + Context Tag */ + sizeof(VendorId) + sizeof(ProductId) + sizeof(ProductRevision) + sizeof(ManufacturingDate) + sizeof(SerialNumber) + sizeof(Primary802154MACAddress) + sizeof(PrimaryWiFiMACAddress) + sizeof(RendezvousWiFiESSID) + sizeof(PairingCode) + sizeof(DeviceId) + sizeof(FabricId) + sizeof(SoftwareVersion) + sizeof(PairingCompatibilityVersionMajor) + sizeof(PairingCompatibilityVersionMinor) + 1 |
The max encoded length is computed by evaluating the size of the
Control + Profile Tag = 8 bytes
Not all fields will be populated in all cases, so this represents |
Defines TLV attribute lengths.
Defined at line 174 of file gen/third_party/openweave-core/src/include/Weave/Profiles/device-description/DeviceDescription.h