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 年第一季度起,之前版本 WDM 中使用的消息类型已弃用,并且定义了新的消息类型,体现了过去的打包和解析细节的充分改变,证明了完全休息的合理性。
@168
@168
其他 WDM 专用常量。
属性 | |
---|---|
kDefaultBindingTableIndex
|
具有多个条目的协议引擎绑定表中默认绑定的索引。 |
kInstanceIdNotSpecified
|
在需要指定配置文件实例的调用中,指明“none”。 大多数情况下,这意味着相关实体上仅存在该资料的一个实例。 |
kResponseTimeoutNotSpecified
|
在请求事务的方法中,表示调用方已拒绝指定超时。 通常,这意味着应使用默认值。 |
kTransactionIdNotSpecified
|
在采用事务 ID 的方法和数据结构中,表示“无”或通配符值。 |
kVersionNotSpecified
|
在需要指定数据版本的调用中,表示“无特定版本”。 |
kWeaveTLVControlByteLen
|
|
kWeaveTLVTagLen
|
@169
@169
WDM 特定状态代码。
属性 | |
---|---|
kStatus_CancelSuccess
|
此旧状态代码表示已成功取消订阅。 此状态代码表示,订阅已成功取消。 |
kStatus_IllegalReadRequest
|
此旧状态代码表示,发出读取特定数据项的请求的节点无权执行该操作。 此状态代码表示,发出读取特定数据项的请求的节点无权执行该操作。 |
kStatus_IllegalWriteRequest
|
此旧状态代码表示,发出写入特定数据项的请求的节点无权执行此操作。 此状态代码表示,发出写入特定数据项的请求的节点无权执行此操作。 |
kStatus_InvalidPath
|
此旧状态代码表示,视图或更新请求帧的路径列表中的路径与响应程序的节点驻留架构不匹配。 此状态代码表示,视图或更新请求帧的路径列表中的路径与响应程序的节点驻留架构不匹配。 |
kStatus_InvalidVersion
|
此旧版状态代码表示,更新请求中所含数据的版本与发布商上的最新版本不匹配,因此无法应用更新。 此状态代码表示,更新请求中所含数据的版本与发布商上的最新版本不匹配,因此无法应用更新。 |
kStatus_UnknownTopic
|
此旧状态代码表示取消请求或通知中提供的主题标识符与接收节点上现有的任何订阅都不匹配。 此状态代码表示,取消请求或通知中提供的主题标识符与接收节点上现有的任何订阅都不匹配。 |
kStatus_UnsupportedSubscriptionMode
|
此旧状态代码表示接收设备不支持所请求的订阅模式。 此状态代码表示接收设备不支持所请求的订阅模式。 |
@170
@170
数据管理协议标记。
数据管理协议定义了一些将在配置数据的 TLV 表示形式中使用的标记。
和以往一样,新 WDM 和旧 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。
这里有三个不同的相关主题 ID,所有这三个 ID 均采用“发布商专有”格式。
属性 | |
---|---|
kAnyTopicId
|
此 ID 已预留为通配符主题 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_Deprecated) 插入配置文件 ID。然后,它会使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated) 插入实例 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_Deprecated) 插入配置文件 ID。然后,它会使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated) 插入实例 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 传递到 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 )
完成路径列表或数据列表的写入。
为 WDM 路径或数据列表的末尾写入 TLV。此外,确定撰写者。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
WEAVE_NO_ERROR。成功时。否则,返回 WEAVE_ERROR,反映无法结束容器。
|
EndList
WEAVE_ERROR EndList( ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter )
完成路径列表或数据列表的写入。
为 WDM 路径或数据列表的末尾写入 TLV。此外,确定撰写者。在这种情况下,系统会传入并修改将 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 )
开始编写路径列表。
为 WDM 路径列表的开头写入 TLV,例如将其设为 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。
|