nl::Weave::Profiles::DataManagement_Current::TraitDataSource

这是一个抽象类。

摘要

继承

继承自nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
直接已知子类nl::Weave::DeviceLayer::Internal::DeviceIdentityTraitDataSource

构造函数和构造函数

TraitDataSource(const TraitSchemaEngine *aEngine)
~TraitDataSource()

公共类型

EventType 枚举

公共属性

mRootIsDirty
bool

受保护的属性

mManagedVersion
bool
mSchemaEngine

公共函数

ClearRootDirty(void)
void
GetSchemaEngine(void) const
GetVersion(void)
uint64_t
IsRootDirty(void) const
bool
Lock(void)
OnCustomCommand(Command *aCommand, const nl::Weave::WeaveMessageInfo *aMsgInfo, nl::Weave::PacketBuffer *aPayload, const uint64_t & aCommandType, const bool aIsExpiryTimeValid, const int64_t & aExpiryTimeMicroSecond, const bool aIsMustBeVersionValid, const uint64_t & aMustBeVersion, nl::Weave::TLV::TLVReader & aArgumentReader)
virtual void
自定义命令的处理程序。
OnCustomCommand(Command *aCommand, const nl::Weave::WeaveMessageInfo *aMsgInfo, nl::Weave::PacketBuffer *aPayload, nl::Weave::TLV::TLVReader & aArgumentReader)
virtual void
自定义命令的处理程序。
OnEvent(uint16_t aType, void *aInEventParam)
virtual WEAVE_ERROR
ReadData(PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter)
SetDirty(PropertyPathHandle aPropertyHandle)
void
SetRootDirty(void)
void
SetVersion(uint64_t version)
void
Unlock(void)

受保护的函数

GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
virtual WEAVE_ERROR
如果有节点的路径句柄、TLV 写入程序和指示值是否为 null 的布尔值,请从用于构建通知的特征源中获取数据。
GetLeafData(PropertyPathHandle aLeafHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter) __OVERRIDE=0
virtual WEAVE_ERROR
获得指向叶节点和 TLV 写入程序的路径句柄,从被调用方获取数据。
IncrementVersion(void)
void

公共类型

EventType

 EventType

公共属性

mRootIsDirty

bool mRootIsDirty

受保护的属性

mManagedVersion

bool mManagedVersion

mSchemaEngine

const TraitSchemaEngine * mSchemaEngine

公共函数

ClearRootDirty

void ClearRootDirty(
  void
)

GetSchemaEngine

const TraitSchemaEngine * GetSchemaEngine(
  void
) const 

GetVersion

uint64_t GetVersion(
  void
)

IsRootDirty 类

bool IsRootDirty(
  void
) const 

锁定

WEAVE_ERROR Lock(
  void
)

OnCustomCommand

virtual void OnCustomCommand(
  Command *aCommand,
  const nl::Weave::WeaveMessageInfo *aMsgInfo,
  nl::Weave::PacketBuffer *aPayload,
  const uint64_t & aCommandType,
  const bool aIsExpiryTimeValid,
  const int64_t & aExpiryTimeMicroSecond,
  const bool aIsMustBeVersionValid,
  const uint64_t & aMustBeVersion,
  nl::Weave::TLV::TLVReader & aArgumentReader
)

自定义命令的处理程序。

这是一个虚拟方法。如果未覆盖,则默认的行为是返回状态代码 Common::kStatus_UnsupportedMessage 的状态报告

OnCustomCommand

virtual void OnCustomCommand(
  Command *aCommand,
  const nl::Weave::WeaveMessageInfo *aMsgInfo,
  nl::Weave::PacketBuffer *aPayload,
  nl::Weave::TLV::TLVReader & aArgumentReader
)

自定义命令的处理程序。

这是一个虚拟方法。如果未覆盖,则默认的行为是返回状态代码 Common::kStatus_UnsupportedMessage 的状态报告

活动

virtual WEAVE_ERROR OnEvent(
  uint16_t aType,
  void *aInEventParam
)

读取数据

WEAVE_ERROR ReadData(
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  TLV::TLVWriter & aWriter
)

沙特阿拉伯航空

void SetDirty(
  PropertyPathHandle aPropertyHandle
)

SetRootDirty

void SetRootDirty(
  void
)

设置版本

void SetVersion(
  uint64_t version
)

特征数据源

 TraitDataSource(
  const TraitSchemaEngine *aEngine
)

解锁

WEAVE_ERROR Unlock(
  void
)

~TraitDataSource

virtual  ~TraitDataSource()

受保护的函数

获取数据

virtual WEAVE_ERROR GetData(
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  nl::Weave::TLV::TLVWriter & aWriter,
  bool & aIsNull,
  bool & aIsPresent
) __OVERRIDE

如果有节点的路径句柄、TLV 写入程序和指示值是否为 null 的布尔值,请从用于构建通知的特征源中获取数据。

如果路径句柄不是叶节点,TDM 会处理向写入器写入值的功能(例如打开容器、使结构体无效等)。如果非叶节点为 null 或不存在,TDM 将不会为其子节点调用 GetData。

系统仅会为可为 null、可选、临时或叶级的句柄调用此函数。我们希望,如果句柄具有已启用这些选项的特征,则将实现相应的逻辑来填充 aIsNull 和 aIsPresent。

详细信息
参数
[in] aHandle
相关 PropertyPathHandle。
[in] aTagToWrite
要为 aHandle 写入的代码。
[in,out] aWriter
要向其中写入 TLV 元素的写入者。
[out] aIsNull
aHandle 是否为空?如果是,TDM 将写入 null 元素。如果 aHandle 不是叶项,TDM 将跳过其子项。
[out] aIsPresent
是否存在 aHandle?如果为 no 且 aHandle 不是叶项,TDM 将跳过路径及其子项。
返回值
WEAVE_NO_ERROR
成功时。
other
无法检索数据并将其写入写入器。

GetLeafData

virtual WEAVE_ERROR GetLeafData(
  PropertyPathHandle aLeafHandle,
  uint64_t aTagToWrite,
  nl::Weave::TLV::TLVWriter & aWriter
) __OVERRIDE=0

获得指向叶节点和 TLV 写入程序的路径句柄,从被调用方获取数据。

详细信息
返回值
WEAVE_NO_ERROR
成功时。
other
无法检索数据并将其写入写入器。

增量版本

void IncrementVersion(
  void
)