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 的状态报告

OnEvent

virtual WEAVE_ERROR OnEvent(
  uint16_t aType,
  void *aInEventParam
)

ReadData

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

SetDirty

void SetDirty(
  PropertyPathHandle aPropertyHandle
)

SetRootDirty

void SetRootDirty(
  void
)

SetVersion

void SetVersion(
  uint64_t version
)

TraitDataSource

 TraitDataSource(
  const TraitSchemaEngine *aEngine
)

解锁

WEAVE_ERROR Unlock(
  void
)

~TraitDataSource

virtual  ~TraitDataSource()

受保护的函数

GetData

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 元素。如果句柄不是叶项,TDM 将跳过其子项。
[out] aIsPresent
是否存在 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
无法检索数据并将其写入写入器。

IncrementVersion

void IncrementVersion(
  void
)