nl
特定于 Weave 的 nlassert.h 替换。
摘要
枚举 |
|
---|---|
@357
|
枚举 |
@358
|
枚举 |
@359
|
枚举 |
@360
|
枚举 |
@361
|
枚举 |
SerializedFieldType{
|
枚举 要使用 TLV 字段写入的 TLV 类型列表。 |
SerializedFieldTypeBits
|
枚举 SerializedFieldType 的位字段。 |
SerializedFieldTypeMasks
|
枚举 用于访问 SerializedFieldType 的位的掩码。 |
类型定义符 |
|
---|---|
Base64CharToValFunct)(uint8_t c)
|
typedefuint8_t(*
|
Base64ValToCharFunct)(uint8_t val)
|
typedefchar(*
|
MemoryAllocate)(size_t size)
|
typedefvoid *(*
内存分配/释放函数指针。 |
MemoryFree)(void *ptr)
|
typedefvoid(*
|
MemoryReallocate)(void *ptr, size_t size)
|
typedefvoid *(*
|
变量 |
|
---|---|
sASN1ErrorFormatter =
{
nl::Weave::ASN1::FormatASN1Error,
NULL
}
|
const ErrorFormatter
|
sElementSize =
{
sizeof(bool),
sizeof(uint8_t),
sizeof(uint16_t),
sizeof(uint32_t),
sizeof(uint64_t),
sizeof(int8_t),
sizeof(int16_t),
sizeof(int32_t),
sizeof(int64_t),
sizeof(float),
sizeof(double),
sizeof(char *),
sizeof(SerializedByteString),
sizeof(void *),
sizeof(void *)
}[]
|
const uint8_t
|
sErrorFormatterList = &sWeaveErrorFormatter
|
const ErrorFormatter *
错误格式化程序函数的链接列表。
|
sErrorStr[WEAVE_CONFIG_ERROR_STR_SIZE]
|
char
用于存储格式化错误字符串的静态缓冲区。
|
sErrorStr[1024]
|
char
此例程会返回一个人类可读的以 NULL 结尾的 C 字符串,该字符串用于描述所提供的与指定配置文件相关联的状态代码。
|
sWeaveErrorFormatter =
{
nl::Weave::FormatWeaveError,
&sASN1ErrorFormatter
}
|
const ErrorFormatter
|
函数 |
|
---|---|
AdjustCalendarDate(uint16_t & year, uint8_t & month, uint8_t & dayOfMonth, int32_t relativeDays)
|
void
|
Base64CharToVal(uint8_t c)
|
uint8_t
|
Base64Decode(const char *in, uint16_t inLen, uint8_t *out, Base64CharToValFunct charToValFunct)
|
uint16_t
|
Base64Decode(const char *in, uint16_t inLen, uint8_t *out)
|
uint16_t
|
Base64Decode32(const char *in, uint32_t inLen, uint8_t *out, Base64CharToValFunct charToValFunct)
|
uint32_t
|
Base64Decode32(const char *in, uint32_t inLen, uint8_t *out)
|
uint32_t
|
Base64Encode(const uint8_t *in, uint16_t inLen, char *out, Base64ValToCharFunct valToCharFunct)
|
uint16_t
|
Base64Encode(const uint8_t *in, uint16_t inLen, char *out)
|
uint16_t
|
Base64Encode32(const uint8_t *in, uint32_t inLen, char *out, Base64ValToCharFunct valToCharFunct)
|
uint32_t
|
Base64Encode32(const uint8_t *in, uint32_t inLen, char *out)
|
uint32_t
|
Base64URLCharToVal(uint8_t c)
|
uint8_t
|
Base64URLDecode(const char *in, uint16_t inLen, uint8_t *out)
|
uint16_t
|
Base64URLEncode(const uint8_t *in, uint16_t inLen, char *out)
|
uint16_t
|
Base64URLValToChar(uint8_t val)
|
char
|
Base64ValToChar(uint8_t val)
|
char
|
CalendarDateToDaysSinceEpoch(uint16_t year, uint8_t month, uint8_t dayOfMonth, uint32_t & daysSinceEpoch)
|
bool
|
CalendarDateToOrdinalDate(uint16_t year, uint8_t month, uint8_t dayOfMonth, uint16_t & dayOfYear)
|
void
|
CalendarTimeToSecondsSinceEpoch(uint16_t year, uint8_t month, uint8_t dayOfMonth, uint8_t hour, uint8_t minute, uint8_t second, uint32_t & secondsSinceEpoch)
|
bool
|
ClearFlag(FlagsT & inFlags, const FlagT inFlag)
|
void
|
DateToManufacturingWeek(uint16_t year, uint8_t month, uint8_t day, uint16_t & mfgYear, uint8_t & mfgWeek)
|
void
|
DaysInMonth(uint16_t year, uint8_t month)
|
uint8_t
|
DaysSinceEpochToCalendarDate(uint32_t daysSinceEpoch, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth)
|
void
|
DaysToMarch1(uint16_t year)
|
uint8_t
|
DeallocateDeserializedStructure(void *aStructureData, const SchemaFieldDescriptor *aFieldDescriptors, SerializationContext *aContext)
|
|
ErrorStr(int32_t err)
|
NL_DLL_EXPORT const char *
此例程会返回一个人类可读、以 NULL 结尾的 C 字符串,用于描述所提供的错误。
|
ExtractManufacturingDateFromSerialNumber(const char *serialNum, uint16_t & year, uint8_t & month, uint8_t & day)
|
|
FindNullifiedFieldsArray(void *aStructureData, const SchemaFieldDescriptor *aSchemaDescriptor, uint8_t *& aNullifiedFields)
|
一个辅助函数,用于查找位于 C 结构体末尾的 nullify fields 数组的位置。
|
FindStatusReportStr(uint32_t inProfileId, uint16_t inStatusCode)
|
const char *
|
FirstWeekdayOfYear(uint16_t year)
|
uint8_t
|
FormatError(char *buf, uint16_t bufSize, const char *subsys, int32_t err, const char *desc)
|
void
生成一个人类可读的以 NULL 结尾的 C 字符串,用于描述所提供的错误。
|
GetArrayElementSize(uint32_t & aOutSize, const FieldDescriptor *aFieldPtr, SerializedFieldType aType)
|
|
GetFlag(const FlagsT & inFlags, const FlagT inFlag)
|
bool
|
IsBase34NoIOChar(char ch)
|
bool
|
IsLeapYear(uint16_t year)
|
bool
|
IsValidFieldType(SerializedFieldType aType)
|
bool
|
IsValidSerialNumber(const char *serialNum)
|
bool
|
LogEvent(TEvent *aEvent)
|
nl::Weave::Profiles::DataManagement::event_id_t
|
LogEvent(TEvent *aEvent, const nl::Weave::Profiles::DataManagement::EventOptions & aOptions)
|
nl::Weave::Profiles::DataManagement::event_id_t
|
ManufacturingWeekToDate(uint16_t mfgYear, uint8_t mfgWeek, uint16_t & year, uint8_t & month, uint8_t & day)
|
void
|
MarchBasedDayOfYearToMonth(uint16_t dayOfYear)
|
uint8_t
|
MarchBasedMonthToDayOfYear(uint8_t month)
|
uint16_t
|
NullifyAllEventFields(TEvent *aEvent)
|
void
|
OrdinalDateToCalendarDate(uint16_t year, uint16_t dayOfYear, uint8_t & month, uint8_t & dayOfMonth)
|
void
|
ReadDataForType(TLVReader & aReader, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool aInArray, SerializationContext *aContext)
|
一个读取器函数,用于基于结构化数据从 TLV 中读取特定条目。
|
ReadNullableDataForType(TLVReader & aReader, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool & aIsNullified, SerializationContext *aContext)
|
一个读取器函数,用于在从 TLV 读取数据之前检查数据是否可为 null/是否可为 null。
|
RegisterErrorFormatter(ErrorFormatter *errFormatter)
|
NL_DLL_EXPORT void
在错误格式化程序的全局列表中添加新的错误格式化程序函数。
|
SecondsSinceEpochToCalendarTime(uint32_t secondsSinceEpoch, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth, uint8_t & hour, uint8_t & minute, uint8_t & second)
|
void
|
SerializedDataToTLVWriter(TLVWriter & aWriter, void *aStructureData, const SchemaFieldDescriptor *aFieldDescriptors)
|
用于将数据结构转换为 TLV 结构的 writer 函数。
|
SerializedDataToTLVWriterHelper(TLVWriter & aWriter, uint8_t aDataTag, void *aAppData)
|
使用容器将 SerializedDataToTLVWriter 包围的封装容器写入函数。
|
SetFlag(FlagsT & inFlags, const FlagT inFlag)
|
void
|
SetFlag(FlagsT & inFlags, const FlagT inFlag, const bool inValue)
|
void
|
StatusReportStr(uint32_t profileId, uint16_t statusCode)
|
const char *
|
TLVReaderToDeserializedData(nl::Weave::TLV::TLVReader & aReader, void *aStructureData, const SchemaFieldDescriptor *aFieldDescriptors, SerializationContext *aContext)
|
用于将 TLV 转换为 C 结构体的读取器函数。
|
TLVReaderToDeserializedDataHelper(nl::Weave::TLV::TLVReader & aReader, uint8_t aDataTag, void *aAppData, SerializationContext *aContext)
|
对单个 TLV 数据元素进行反序列化的辅助函数。
|
WriteArrayData(TLVWriter & aWriter, void *aStructureData, const FieldDescriptor *aFieldPtr)
|
用于编写数组结构的 writer 函数。
|
WriteDataForType(TLVWriter & aWriter, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool aInArray)
|
写入器函数基于结构数据将特定条目写入 TLV。
|
WriteNullableDataForType(TLVWriter & aWriter, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool aIsNullified)
|
写入 TLV 的写入器函数,用于在将数据写入 TLV 之前检查数据是否可为 null/是否可为 null。
|
secondsToMilliseconds(uint32_t seconds)
|
uint32_t
|
结构体 |
|
---|---|
nl:: |
帮助程序,用于封装具有长度的数组。 |
nl:: |
|
nl:: |
用于描述架构结构中的 TLV 字段并将其与 c-struct 中的数据连接的结构。 |
nl:: |
内存分配/释放函数的 c 结构体。 |
nl:: |
用于描述架构结构/结构的 FieldDescriptor 数组的封装容器。 |
nl:: |
包含序列化或反序列化所需的任何上下文或状态的 c 结构体。 |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
数据对与数据 c 结构体和 StructureSchemaDescriptor,用于根据该数据编写 TLV 结构。 |
命名空间 |
|
---|---|
nl:: |
|
nl:: |
此命名空间包含 Weave 中用于蓝牙低功耗 (BLE)(也称为 Bluetooth Smart)的所有接口。 |
nl:: |
|
nl:: |
此命名空间包含 Nest Weave 公钥基础设施 (PKI) 证书的全局符号。 |
nl:: |
|
nl:: |
|
nl:: |
枚举
@357
@357
@358
@358
@359
@359
@360
@360
@361
@361
SerializedFieldType
SerializedFieldType
要使用 TLV 字段写入的 TLV 类型列表。
属性 | |
---|---|
SerializedFieldTypeArray
|
数组类型。 |
SerializedFieldTypeBoolean
|
布尔值类型。 |
SerializedFieldTypeByteString
|
字节字符串类型。 |
SerializedFieldTypeFloatingPoint32
|
32 位浮点类型 |
SerializedFieldTypeFloatingPoint64
|
64 位浮点类型 |
SerializedFieldTypeInt16
|
有符号的 16 位类型。 |
SerializedFieldTypeInt32
|
有符号的 32 位类型。 |
SerializedFieldTypeInt64
|
有符号 64 位类型。 |
SerializedFieldTypeInt8
|
有符号 8 位类型。 |
SerializedFieldTypeStructure
|
用户定义的结构类型。 |
SerializedFieldTypeUInt16
|
无符号 16 位类型。 |
SerializedFieldTypeUInt32
|
无符号 32 位类型。 |
SerializedFieldTypeUInt64
|
无符号 64 位类型。 |
SerializedFieldTypeUInt8
|
无符号 8 位类型。 |
SerializedFieldTypeUTF8String
|
UTF-8 字符串类型。 |
SerializedFieldTypeBits
SerializedFieldTypeBits
SerializedFieldType 的位字段。
SerializedFieldTypeMasks
SerializedFieldTypeMasks
用于访问 SerializedFieldType 的位的掩码。
类型定义符
Base64CharToValFunct
uint8_t(* Base64CharToValFunct)(uint8_t c)
Base64ValToCharFunct
char(* Base64ValToCharFunct)(uint8_t val)
MemoryAllocate
void *(* MemoryAllocate)(size_t size)
内存分配/释放函数指针。
MemoryFree
void(* MemoryFree)(void *ptr)
MemoryReallocate
void *(* MemoryReallocate)(void *ptr, size_t size)
变量
sASN1ErrorFormatter
const ErrorFormatter sASN1ErrorFormatter = { nl::Weave::ASN1::FormatASN1Error, NULL }
sElementSize
const uint8_t sElementSize[] = { sizeof(bool), sizeof(uint8_t), sizeof(uint16_t), sizeof(uint32_t), sizeof(uint64_t), sizeof(int8_t), sizeof(int16_t), sizeof(int32_t), sizeof(int64_t), sizeof(float), sizeof(double), sizeof(char *), sizeof(SerializedByteString), sizeof(void *), sizeof(void *) }
sErrorFormatterList
const ErrorFormatter * sErrorFormatterList = &sWeaveErrorFormatter
错误格式化程序函数的链接列表。
sErrorStr
char sErrorStr[WEAVE_CONFIG_ERROR_STR_SIZE]
用于存储格式化错误字符串的静态缓冲区。
sErrorStr
char sErrorStr[1024]
此例程会返回一个人类可读的以 NULL 结尾的 C 字符串,该字符串用于描述所提供的与指定配置文件相关联的状态代码。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向以 NULL 结尾的 C 字符串的指针,该字符串用于描述指定配置文件中提供的状态代码。
|
WEAVE_CONFIG_SHORT_ERROR_STR
sWeaveErrorFormatter
const ErrorFormatter sWeaveErrorFormatter = { nl::Weave::FormatWeaveError, &sASN1ErrorFormatter }
函数
AdjustCalendarDate
void AdjustCalendarDate( uint16_t & year, uint8_t & month, uint8_t & dayOfMonth, int32_t relativeDays )
Base64CharToVal
uint8_t Base64CharToVal( uint8_t c )
Base64Decode
uint16_t Base64Decode( const char *in, uint16_t inLen, uint8_t *out, Base64CharToValFunct charToValFunct )
Base64Decode
uint16_t Base64Decode( const char *in, uint16_t inLen, uint8_t *out )
Base64Decode32(编码 32)
uint32_t Base64Decode32( const char *in, uint32_t inLen, uint8_t *out, Base64CharToValFunct charToValFunct )
Base64Decode32(编码 32)
uint32_t Base64Decode32( const char *in, uint32_t inLen, uint8_t *out )
Base64Encode
uint16_t Base64Encode( const uint8_t *in, uint16_t inLen, char *out, Base64ValToCharFunct valToCharFunct )
Base64Encode
uint16_t Base64Encode( const uint8_t *in, uint16_t inLen, char *out )
Base64Encode32
uint32_t Base64Encode32( const uint8_t *in, uint32_t inLen, char *out, Base64ValToCharFunct valToCharFunct )
Base64Encode32
uint32_t Base64Encode32( const uint8_t *in, uint32_t inLen, char *out )
Base64网址CharToVal
uint8_t Base64URLCharToVal( uint8_t c )
Base64 网址解码
uint16_t Base64URLDecode( const char *in, uint16_t inLen, uint8_t *out )
Base64网址Encode
uint16_t Base64URLEncode( const uint8_t *in, uint16_t inLen, char *out )
Base64 网址变量
char Base64URLValToChar( uint8_t val )
Base64ValToChar
char Base64ValToChar( uint8_t val )
CalendarDateToDaysSinceEpoch
bool CalendarDateToDaysSinceEpoch( uint16_t year, uint8_t month, uint8_t dayOfMonth, uint32_t & daysSinceEpoch )
CalendarDateToOrdinalDate
void CalendarDateToOrdinalDate( uint16_t year, uint8_t month, uint8_t dayOfMonth, uint16_t & dayOfYear )
CalendarTimeToSecondsSinceEpoch
bool CalendarTimeToSecondsSinceEpoch( uint16_t year, uint8_t month, uint8_t dayOfMonth, uint8_t hour, uint8_t minute, uint8_t second, uint32_t & secondsSinceEpoch )
ClearFlag
void ClearFlag( FlagsT & inFlags, const FlagT inFlag )
DateToManufacturingWeek
void DateToManufacturingWeek( uint16_t year, uint8_t month, uint8_t day, uint16_t & mfgYear, uint8_t & mfgWeek )
DaysInMonth
uint8_t DaysInMonth( uint16_t year, uint8_t month )
DaysSinceEpochToCalendarDate
void DaysSinceEpochToCalendarDate( uint32_t daysSinceEpoch, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth )
DaysToMarch1
uint8_t DaysToMarch1( uint16_t year )
DeallocateDeserializedStructure
WEAVE_ERROR DeallocateDeserializedStructure( void *aStructureData, const SchemaFieldDescriptor *aFieldDescriptors, SerializationContext *aContext )
ErrorStr
NL_DLL_EXPORT const char * ErrorStr( int32_t err )
此例程会返回一个人类可读、以 NULL 结尾的 C 字符串,用于描述所提供的错误。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
指向以 NULL 结尾的 C 字符串,该字符串用于描述所提供的错误。
|
ExtractManufacturingDateFromSerialNumber
WEAVE_ERROR ExtractManufacturingDateFromSerialNumber( const char *serialNum, uint16_t & year, uint8_t & month, uint8_t & day )
FindNullifiedFieldsArray
WEAVE_ERROR FindNullifiedFieldsArray( void *aStructureData, const SchemaFieldDescriptor *aSchemaDescriptor, uint8_t *& aNullifiedFields )
辅助函数,用于查找位于 C 结构体末尾的 nullify fields 数组的位置。
C 结构体的 nullified_fields 成员应位于 Field 描述符数组描述的最后一个成员之后。它不在字段描述符列表中,因为它对于可为 null 事件的创建者和使用者而言是隐藏的实用程序。对于没有可为 null 字段的事件,此结构体成员不存在,但是,通过构建 setter 和 getter,不会发生出界访问。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
FindStatusReportStr
const char * FindStatusReportStr( uint32_t inProfileId, uint16_t inStatusCode )
FirstWeekdayOfYear
uint8_t FirstWeekdayOfYear( uint16_t year )
FormatError
void FormatError( char *buf, uint16_t bufSize, const char *subsys, int32_t err, const char *desc )
生成一个人类可读的以 NULL 结尾的 C 字符串,用于描述所提供的错误。
详细信息 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
GetArrayElementSize
WEAVE_ERROR GetArrayElementSize( uint32_t & aOutSize, const FieldDescriptor *aFieldPtr, SerializedFieldType aType )
GetFlag
bool GetFlag( const FlagsT & inFlags, const FlagT inFlag )
IsBase34NoIOChar
bool IsBase34NoIOChar( char ch )
IsLeapYear
bool IsLeapYear( uint16_t year )
IsValidFieldType
bool IsValidFieldType( SerializedFieldType aType )
IsValidSerialNumber
bool IsValidSerialNumber( const char *serialNum )
LogEvent
nl::Weave::Profiles::DataManagement::event_id_t LogEvent( TEvent *aEvent )
LogEvent
nl::Weave::Profiles::DataManagement::event_id_t LogEvent( TEvent *aEvent, const nl::Weave::Profiles::DataManagement::EventOptions & aOptions )
ManufacturingWeekToDate
void ManufacturingWeekToDate( uint16_t mfgYear, uint8_t mfgWeek, uint16_t & year, uint8_t & month, uint8_t & day )
MarchBasedDayOfYearToMonth
uint8_t MarchBasedDayOfYearToMonth( uint16_t dayOfYear )
MarchBasedMonthToDayOfYear
uint16_t MarchBasedMonthToDayOfYear( uint8_t month )
NullifyAllEventFields
void NullifyAllEventFields( TEvent *aEvent )
OrdinalDateToCalendarDate
void OrdinalDateToCalendarDate( uint16_t year, uint16_t dayOfYear, uint8_t & month, uint8_t & dayOfMonth )
ReadDataForType
WEAVE_ERROR ReadDataForType( TLVReader & aReader, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool aInArray, SerializationContext *aContext )
一个读取器函数,用于基于结构化数据从 TLV 中读取特定条目。
详细信息 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
|
ReadNullableDataForType
WEAVE_ERROR ReadNullableDataForType( TLVReader & aReader, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool & aIsNullified, SerializationContext *aContext )
一个读取器函数,用于在从 TLV 读取数据之前检查数据是否可为 null/是否可为 null。
详细信息 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
|
RegisterErrorFormatter
NL_DLL_EXPORT void RegisterErrorFormatter( ErrorFormatter *errFormatter )
在错误格式化程序的全局列表中添加新的错误格式化程序函数。
详细信息 | |||
---|---|---|---|
参数 |
|
SecondsSinceEpochToCalendarTime
void SecondsSinceEpochToCalendarTime( uint32_t secondsSinceEpoch, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth, uint8_t & hour, uint8_t & minute, uint8_t & second )
SerializedDataToTLVWriter
WEAVE_ERROR SerializedDataToTLVWriter( TLVWriter & aWriter, void *aStructureData, const SchemaFieldDescriptor *aFieldDescriptors )
用于将数据结构转换为 TLV 结构的 writer 函数。
使用 SchemaFieldDescriptor 解读数据结构并向 TLV 写入数据。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
SerializedDataToTLVWriterHelper
WEAVE_ERROR SerializedDataToTLVWriterHelper( TLVWriter & aWriter, uint8_t aDataTag, void *aAppData )
使用容器将 SerializedDataToTLVWriter 包围的封装容器写入函数。
此外,还会将 StructureSchemaPointerPair 拆分为要传递的结构数据和描述符。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
SetFlag
void SetFlag( FlagsT & inFlags, const FlagT inFlag )
SetFlag
void SetFlag( FlagsT & inFlags, const FlagT inFlag, const bool inValue )
StatusReportStr
const char * StatusReportStr( uint32_t profileId, uint16_t statusCode )
TLVReaderToDeserializedData
WEAVE_ERROR TLVReaderToDeserializedData( nl::Weave::TLV::TLVReader & aReader, void *aStructureData, const SchemaFieldDescriptor *aFieldDescriptors, SerializationContext *aContext )
用于将 TLV 转换为 C 结构体的读取器函数。
使用 SchemaFieldDescriptor 解读数据结构。
它必须十分可靠,能够处理未知字段且不会遇到预期字段。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
TLVReaderToDeserializedDataHelper
WEAVE_ERROR TLVReaderToDeserializedDataHelper( nl::Weave::TLV::TLVReader & aReader, uint8_t aDataTag, void *aAppData, SerializationContext *aContext )
对单个 TLV 数据元素进行反序列化的辅助函数。
该函数将 StructureSchemaPointerPair 拆分为结构数据和描述符,以传递给 ReadDataForType。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
WriteArrayData
WEAVE_ERROR WriteArrayData( TLVWriter & aWriter, void *aStructureData, const FieldDescriptor *aFieldPtr )
用于编写数组结构的 writer 函数。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
WriteDataForType
WEAVE_ERROR WriteDataForType( TLVWriter & aWriter, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool aInArray )
写入器函数基于结构数据将特定条目写入 TLV。
详细信息 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
WriteNullableDataForType
WEAVE_ERROR WriteNullableDataForType( TLVWriter & aWriter, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool aIsNullified )
写入 TLV 的写入器函数,用于在将数据写入 TLV 之前检查数据是否可为 null/是否可为 null。
详细信息 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
secondsToMilliseconds
uint32_t secondsToMilliseconds( uint32_t seconds )