nl:: Weave:: Profiles:: DataManagement_Legacy
此命名空间包含 Weave 中即将弃用的 Weave 数据管理 (WDM) 配置文件的所有接口。
摘要
类型定义符 |
|
---|---|
TopicIdentifier
|
typedefuint64_t
主题标识符。 |
函数 |
|
---|---|
CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
|
bool
|
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
|
bool
检查 WDM 专用标记。
|
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
|
停止读取 WDM 数据列表元素。
|
CloseList(nl::Weave::TLV::TLVReader & aReader)
|
停止读取 WDM 路径或数据列表。
|
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
|
使用已弃用的标记和整数实例 ID 对 WDM 路径进行编码。
|
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
|
使用已弃用的标记和字符串实例 ID 对 WDM 路径进行编码。
|
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
|
使用整数配置文件实例 ID 对 WDM 路径进行编码。
|
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
|
使用字节数组实例 ID 对 WDM 路径进行编码。
|
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
|
使用字符串实例 ID 对 WDM 路径进行编码。
|
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
|
完成数据列表元素的写入。
|
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
|
|
EndList(nl::Weave::TLV::TLVWriter & aWriter)
|
完成路径列表或数据列表的编写。
|
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
|
完成路径列表或数据列表的编写。
|
IsPublisherSpecific(const TopicIdentifier & aTopicId)
|
bool
检查主题 ID 是否特定于发布商。
|
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
|
开始读取数据列表。
|
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
|
开始读取数据列表元素。
|
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
|
开始读取路径列表。
|
PublisherSpecificTopicId(void)
|
从头开始生成发布商专有主题 ID。
|
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
|
|
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
|
开始写入数据列表。
|
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
|
开始将数据列表写入给定的 ReferencedTLVData 对象。
|
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
|
开始写入数据列表元素。
|
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
|
|
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
|
开始编写路径列表。
|
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
|
void
|
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
|
void
|
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
|
|
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
|
验证正在读取的 TLV 元素是否具有预期的 WDM 标记。
|
类 |
|
---|---|
nl:: |
Binding 类使用 Weave 代表应用实体管理通信状态。 |
nl:: |
包含 WDM 客户端所需的确认和指示方法定义的抽象类。 |
nl:: |
在 WDM 客户端需要订阅和通知支持时采用的辅助类。 |
nl:: |
特定于应用的 WDM 客户端的抽象基类。 |
nl:: |
特定于应用的 WDM 发布者的抽象基类。 |
nl:: |
抽象 ProfileDatabase 辅助类。 |
nl:: |
WDM 协议引擎类。 |
nl:: |
一个抽象类,包含 WDM 发布商要求的确认和通知方法定义。 |
枚举
@103
@103
属性 | |
---|---|
kStatus_CancelSuccess
|
此旧版状态代码表示订阅已成功取消。 此状态代码表示订阅已成功取消。 |
kStatus_IllegalReadRequest
|
此旧版状态代码表示,发出读取特定数据项的请求的节点无权执行此操作。 此状态代码表示,请求读取特定数据项的节点无权执行该操作。 |
kStatus_IllegalWriteRequest
|
此旧版状态代码表示,发出写入特定数据项的请求的节点无权执行此操作。 此状态代码表示,请求写入特定数据项的节点无权执行此操作。 |
kStatus_InvalidPath
|
此旧版状态代码表示视图或更新请求帧的路径列表中的路径与响应程序的节点驻留架构不匹配。 此状态代码表示视图或更新请求帧的路径列表中的路径与响应程序的节点驻留架构不匹配。 |
kStatus_InvalidVersion
|
此旧版状态代码表示,更新请求中所含数据的版本与发布商上的最新版本不匹配,因此无法应用更新。 此状态代码表示,更新请求中所含数据的版本与发布商上的最新版本不匹配,因此无法应用更新。 |
kStatus_UnknownTopic
|
此旧版状态代码表示取消订阅或通知中提供的主题标识符与接收节点上的任何现有订阅都不匹配。 此状态代码表示取消订阅或通知中提供的主题标识符与接收节点上现有的任何订阅都不匹配。 |
kStatus_UnsupportedSubscriptionMode
|
此旧版状态代码表示接收设备不支持所请求的订阅模式。 此状态代码表示接收设备不支持所请求的订阅模式。 |
@166
@166
WDM 池和表大小。
WDM 定义了其操作所需的各种池和表,如下所述。
客户端事务池:
- kViewPoolSize
- kSubscribePoolSize
- kCancelSubscriptionPoolSize
- kUpdatePoolSize
发布商交易池:
- kNotifyPoolSize
协议引擎表格:
- kTransactionTableSize
- kBindingTableSize
与订阅相关的表:
- kNotifierTableSize(仅限客户端)
- kSubscriptionMgrTableSize(仅限发布商)
请注意,这些都是可配置的数量,并且每个平台的值都显示在关联的 WeaveConfig.h 中。
属性 | |
---|---|
kBindingTableSize
|
这是 WDM 协议引擎中绑定表的默认大小。 此值可通过 WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE 进行配置。 |
kCancelSubscriptionPoolSize
|
这是 WDM 客户端取消订阅请求交易池的默认大小。 此值可通过 WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE 进行配置。 |
kNotifierTableSize
|
这是 WDM 客户端通知表格的默认大小。 此值可通过 WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE 进行配置。 |
kNotifyPoolSize
|
这是 WDM 发布商的通知请求交易池的默认大小。 此值可通过 WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE 进行配置。 |
kSubscribePoolSize
|
这是 WDM 客户端订阅请求交易池的默认大小。 此值可通过 WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE 进行配置。 |
kSubscriptionMgrTableSize
|
这是 WDM 发布商的订阅表的默认大小。 此值可通过 WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE 进行配置。 |
kTransactionTableSize
|
这是 WDM 协议引擎中交易表的默认大小。 此值可通过 WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE 进行配置。 |
kUpdatePoolSize
|
这是 WDM 客户端更新请求事务池的默认大小。 此值可通过 WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE 进行配置。 |
kViewPoolSize
|
这是 WDM 客户端的查看请求事务池的默认大小。 此值可通过 WEAVE_CONFIG_WDM_VIEW_POOL_SIZE 进行配置。 |
@167
@167
WDM 配置文件消息类型。
这些值会在数据管理规范中列出。
注意!!自 2015 年第 1 季度起,旧版 WDM 中使用的消息类型已弃用,并且定义了新的消息类型,这反映了过去的打包和解析详细信息进行了充分的转变,从而证明没有中断。
@168
@168
其他 WDM 专用常量。
属性 | |
---|---|
kDefaultBindingTableIndex
|
包含多个条目的协议引擎绑定表中默认绑定的索引。 |
kInstanceIdNotSpecified
|
在需要配置文件实例规范的调用中,表示“none”。 通常,这表示相关实体上仅出现一个个人资料实例。 |
kResponseTimeoutNotSpecified
|
在请求事务的方法中,表示调用方已拒绝指定超时。 通常,这意味着应使用默认值。 |
kTransactionIdNotSpecified
|
在采用事务 ID 的方法和数据结构中,用于表示“none”或通配符值。 |
kVersionNotSpecified
|
在要求指定数据版本的调用中,表示“无特定版本”。 |
kWeaveTLVControlByteLen
|
|
kWeaveTLVTagLen
|
@169
@169
WDM 专用的状态代码。
属性 | |
---|---|
kStatus_CancelSuccess
|
此旧版状态代码表示订阅已成功取消。 此状态代码表示订阅已成功取消。 |
kStatus_IllegalReadRequest
|
此旧版状态代码表示,发出读取特定数据项的请求的节点无权执行此操作。 此状态代码表示,请求读取特定数据项的节点无权执行该操作。 |
kStatus_IllegalWriteRequest
|
此旧版状态代码表示,发出写入特定数据项的请求的节点无权执行此操作。 此状态代码表示,请求写入特定数据项的节点无权执行此操作。 |
kStatus_InvalidPath
|
此旧版状态代码表示视图或更新请求帧的路径列表中的路径与响应程序的节点驻留架构不匹配。 此状态代码表示视图或更新请求帧的路径列表中的路径与响应程序的节点驻留架构不匹配。 |
kStatus_InvalidVersion
|
此旧版状态代码表示,更新请求中所含数据的版本与发布商上的最新版本不匹配,因此无法应用更新。 此状态代码表示,更新请求中所含数据的版本与发布商上的最新版本不匹配,因此无法应用更新。 |
kStatus_UnknownTopic
|
此旧版状态代码表示取消订阅或通知中提供的主题标识符与接收节点上的任何现有订阅都不匹配。 此状态代码表示取消订阅或通知中提供的主题标识符与接收节点上现有的任何订阅都不匹配。 |
kStatus_UnsupportedSubscriptionMode
|
此旧版状态代码表示接收设备不支持所请求的订阅模式。 此状态代码表示接收设备不支持所请求的订阅模式。 |
@170
@170
数据管理协议标记。
数据管理协议定义了一些要在个人资料数据的 TLV 表示中使用的标记。
和以往一样,新旧 WDM 之间存在兼容性问题。过去,所有这些标记都是针对个人资料进行应用的,这是浪费空间的。现在,我们尽可能使用上下文标记,但在适当情况下我们需要保留旧标记(并建立一种使用这些标记对路径进行编码的机制)。
kTag_WDMDataListElementData 标记在之前的版本中未使用,并且已被代码完全忽略,因此我们不必提供已弃用的版本。
属性 | |
---|---|
kTag_WDMDataList
|
元素是包含路径、可选版本和数据元素的结构的列表。 标记类型:配置文件专属元素类型:数组处置:顶级 |
kTag_WDMDataListElementData
|
元素表示由指定路径所指向且具有指定版本的数据。 标记类型:特定于上下文的元素类型:任何处置:必需 |
kTag_WDMDataListElementData_Deprecated
|
已弃用。 标记类型:特定于上下文的元素类型:任何处置:必需 |
kTag_WDMDataListElementPath
|
元素是数据列表元素的路径组成部分。 标记类型:特定于上下文的元素类型:路径处置:必填 |
kTag_WDMDataListElementPath_Deprecated
|
已弃用。 代码类型:配置文件专属元素类型:路径处置:必填 |
kTag_WDMDataListElementVersion
|
元素是数据列表元素的版本组成部分。 标记类型:特定于上下文的元素类型:整数 处置:必填 |
kTag_WDMDataListElementVersion_Deprecated
|
已弃用。 代码类型:特定于配置文件的元素类型:整数 处置:必填 |
kTag_WDMPathArrayIndexSelector
|
path 元素与架构中的一个数组对应,其中包含的整数元素将用作该数组的索引。 标记类型:特定于配置文件的元素类型:整数 处置:可选 |
kTag_WDMPathArrayValueSelector
|
路径元素与架构中的一个数组对应,封装的元素将用作记录选择器。 标记类型:特定于配置文件的元素类型:结构处置:可选 |
kTag_WDMPathList
|
该元素是 TLV 路径列表。 标记类型:配置文件专属元素类型:数组处置:顶级 |
kTag_WDMPathProfile
|
元素是一个用于开始路径的结构,其中包含配置文件信息(用于解释路径中的标记)。 标记类型:特定于配置文件的元素类型:结构处置:必填 |
kTag_WDMPathProfileId
|
该元素是路径配置文件元素中的配置文件 ID 组件,用于开始 TLV 路径。 标记类型:特定于上下文的元素类型:整数 处置:必填 |
kTag_WDMPathProfileId_Deprecated
|
已弃用。 代码类型:特定于配置文件的元素类型:整数 处置:必填 |
kTag_WDMPathProfileInstance
|
该元素是一个配置文件实例,可能跟在 TLV 路径中的配置文件 ID 后面。 请注意,一个节点不一定包含某个特定配置文件的多个实例,如果只有一个实例,则可以省略此元素。 标记类型:特定于上下文的元素类型:任何处置:可选 |
kTag_WDMPathProfileInstance_Deprecated
|
已弃用。 标记类型:特定于配置文件的元素类型:任何处置:可选 |
@171
@171
区分主题 ID。
感兴趣的主题有 3 个区分开来,所有 3 个 ID 均采用“发布商专用”格式。
属性 | |
---|---|
kAnyTopicId
|
这已预留为通配符主题 ID。 |
kTopicIdNotSpecified
|
这是一个特殊值,用于表示无效或通配符的主题 ID。 |
kTopicIdPublisherSpecificMask
|
它可用作创建或分解 Topci ID 的掩码。 |
WeaveTransportOption
WeaveTransportOption
WDM 传输选项。
这些是 WDM 的互斥传输选项。
属性 | |
---|---|
kTransport_TCP
|
底层传输是 TCP。 可以使用服务管理器或直接使用消息层完成绑定。 |
kTransport_UDP
|
底层传输仅使用 UDP。 |
kTransport_WRMP
|
底层传输仅使用 UDP,但具有“应用支持层”可靠性增强。 |
类型定义符
TopicIdentifier
uint64_t TopicIdentifier
主题标识符。
主题标识符是 64 位数字,具有两种相关用途/语义。首先,它们可以用作一组知名路径(例如“ Nest 烟雾检测器”。以这种方式使用的主题 ID 应与配置文件标识符一样,包含一个供应商代码,以防止不同供应商自主选择的主题 ID 发生冲突,如下所示:
位 48 - 63 | 位 0 - 47 |
供应商 ID | 主题编号 |
WeaveVendorIdentifiers.hpp
函数
CheckTLVType
bool CheckTLVType( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader )
CheckWDMTag
bool CheckWDMTag( uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader )
CloseDataListElement
WEAVE_ERROR CloseDataListElement( nl::Weave::TLV::TLVReader & aReader )
停止读取 WDM 数据列表元素。
此方法假定相关元素是 WDM 数据列表的一部分,因此将 kTLVType_Array 传递给 ExitContainer()。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表示无法退出容器。
|
CloseList
WEAVE_ERROR CloseList( nl::Weave::TLV::TLVReader & aReader )
停止读取 WDM 路径或数据列表。
此方法假定相关列表是最顶层的 TLV 元素,因此将 kTLVType_Sructure 传递给 ExitContainer()。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表示无法退出容器。
|
EncodeDeprecatedPath
WEAVE_ERROR EncodeDeprecatedPath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ... )
使用已弃用的标记和整数实例 ID 对 WDM 路径进行编码。
注意:在 Weave 2.0 之前的版本中,请使用该服务接受的已弃用标记集对路径进行编码。此版本的方法采用数字形式的实例标识符。 此方法会使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) 启动容器,然后使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Incorrect) 插入配置文件 ID。然后,使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Incorrect) 插入实例 ID。这是用于对路径进行编码的已弃用版本之一,新设计应避免使用此格式。
详细信息 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表示无法设置指定路径的格式。
|
EncodeDeprecatedPath
WEAVE_ERROR EncodeDeprecatedPath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ... )
使用已弃用的标记和字符串实例 ID 对 WDM 路径进行编码。
注意:请使用已弃用的标记集对路径进行编码(请参阅 DMConstants.h)。此版本的方法采用实例 ID 字符串。 此方法会使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) 启动容器,然后使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Incorrect) 插入配置文件 ID。然后,使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Incorrect) 插入实例 ID。这是用于对路径进行编码的已弃用版本之一,新设计应避免使用此格式。
详细信息 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表示无法设置指定路径的格式。
|
EncodePath
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ... )
使用整数配置文件实例 ID 对 WDM 路径进行编码。
注意:请编写数据管理中所用类型的 TLV 路径,特别是在开头指定了配置文件名称,以便解释后续路径元素。 此版本的方法采用整数的配置文件实例 ID。
此方法使用 ContextTag(kTag_WDMPathProfileInstance)(用于对路径进行编码的最新版本)插入实例 ID。
详细信息 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表示无法设置指定路径的格式。
|
EncodePath
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ... )
使用字节数组实例 ID 对 WDM 路径进行编码。
注意:请编写数据管理中所用类型的 TLV 路径,特别是在开头指定了配置文件名称,以便解释后续路径元素。 此版本的方法采用字节数组配置文件实例 ID 以及长度。
此方法使用 ContextTag(kTag_WDMPathProfileInstance)(用于对路径进行编码的最新版本)插入实例 ID。
详细信息 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表示无法设置指定路径的格式。
|
EncodePath
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ... )
使用字符串实例 ID 对 WDM 路径进行编码。
注意:请编写数据管理中所用类型的 TLV 路径,特别是在开头指定了配置文件名称,以便解释后续路径元素。 此版本的方法采用字符串配置文件实例 ID。
此方法使用 ContextTag(kTag_WDMPathProfileInstance)(用于对路径进行编码的最新版本)插入实例 ID。
详细信息 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表示无法设置指定路径的格式。
|
EndDataListElement
WEAVE_ERROR EndDataListElement( nl::Weave::TLV::TLVWriter & aWriter )
完成数据列表元素的写入。
为 WDM 数据列表元素的末尾编写 TLV。请注意,这会自动将 kTLVType_Array 类型的 kTLVType_Array 传递到 EndContainer() 调用,并假设我们始终关闭列表项。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表明无法结束容器。
|
EndEncodePath
WEAVE_ERROR EndEncodePath( TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError )
EndList
WEAVE_ERROR EndList( nl::Weave::TLV::TLVWriter & aWriter )
完成路径列表或数据列表的编写。
将 TLV 写入 WDM 路径或数据列表的末尾。另外,敲定作者。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表明无法结束容器。
|
EndList
WEAVE_ERROR EndList( ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter )
完成路径列表或数据列表的编写。
将 TLV 写入 WDM 路径或数据列表的末尾。另外,敲定作者。在这种情况下,系统会传入并修改正在写入 TLV 的 ReferencedTLVData 对象,以反映写入的数据量。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表明无法结束容器。
|
IsPublisherSpecific
bool IsPublisherSpecific( const TopicIdentifier & aTopicId )
检查主题 ID 是否特定于发布商。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果主题 ID 特定于发布商,则为 true,否则为 false
|
OpenDataList
WEAVE_ERROR OpenDataList( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader )
开始读取数据列表。
给定一个新的读取器和数据列表,开始读取列表并验证此过程最初遇到的标记和类型。如果一切顺利,则读取器会在进入列表容器后停止。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR 以反映失败,请打开数据列表和/或验证相关标记和类型。
|
OpenDataListElement
WEAVE_ERROR OpenDataListElement( nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion )
开始读取数据列表元素。
假设读取器位于数据列表元素上,开始读取该元素并验证在此过程中最初遇到的标记和类型。如果一切顺利,读取器最终将定位在数据元素数据上,输入/输出路径读取器将定位在相应的路径上。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
WEAVE_NO_ERROR(如果操作成功),则为与打开和读取数据列表元素关联的 WEAVE_ERROR。
|
OpenPathList
WEAVE_ERROR OpenPathList( ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader )
开始读取路径列表。
给定新的读取器和路径列表后,开始读取列表并验证在此过程中最初遇到的标记和类型。如果一切顺利,则读取器会在进入列表容器后停止。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
如果成功,则为 WEAVE_NO_ERROR;否则,系统会显示 WEAVE_ERROR(表示失败),请打开路径列表并/或验证相关标记和类型。
|
PublisherSpecificTopicId
TopicIdentifier PublisherSpecificTopicId( void )
从头开始生成发布商专有主题 ID。
详细信息 | |
---|---|
返回值 |
新的主题标识符。
|
SendStatusReport
WEAVE_ERROR SendStatusReport( ExchangeContext *aExchangeCtx, StatusReport & aStatus )
StartDataList
WEAVE_ERROR StartDataList( nl::Weave::TLV::TLVWriter & aWriter )
开始写入数据列表。
写入 WDM 数据列表开头的 TLV,例如用作 UpdateRequest() 的主参数。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表明无法启动容器。
|
StartDataList
WEAVE_ERROR StartDataList( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter )
开始将数据列表写入给定的 ReferencedTLVData 对象。
写入 WDM 数据列表开头的 TLV。在本例中,我们假定将数据列表写出到引用的 TLV 数据结构中。写入程序被假定为未初始化,或者在任何情况下都将初始化为指向给定对象。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表明无法启动容器。
|
StartDataListElement
WEAVE_ERROR StartDataListElement( nl::Weave::TLV::TLVWriter & aWriter )
开始写入数据列表元素。
为 WDM 数据列表元素的开头编写 TLV。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表明无法启动容器。
|
StartEncodePath
WEAVE_ERROR StartEncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath )
StartPathList
WEAVE_ERROR StartPathList( nl::Weave::TLV::TLVWriter & aWriter )
开始编写路径列表。
将 TLV 写入 WDM 路径列表的开头,例如用作 ViewRequest() 的主要参数。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,会返回 WEAVE_ERROR,表明无法启动容器。
|
TxnResponseHandler
void TxnResponseHandler( ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg )
TxnTimeoutHandler
void TxnTimeoutHandler( ExchangeContext *anExchangeCtx )
ValidateTLVType
WEAVE_ERROR ValidateTLVType( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader )
根据 TLV 读取器顶部的元素类型检查指定的 TLV 类型,如果不匹配,则返回错误。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
如果匹配,则为 WEAVE_NO_ERROR,否则为 WEAVE_ERROR_WRONG_TLV_TYPE。
|
WeaveTLVTypes.h
ValidateWDMTag
WEAVE_ERROR ValidateWDMTag( uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader )
验证正在读取的 TLV 元素是否具有预期的 WDM 标记。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
WEAVE_NO_ERROR,表示成功时。否则,当解读为 WDM 标记时,如果标记与指定的标记编号不匹配,则标记为 WEAVE_ERROR_INVALID_TLV_TAG。
|