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、可选、临时或叶的句柄调用此函数。预期:任何具有启用这些选项的句柄的 trait 都将实现适当的逻辑来填充 aIsNull 和 aIsPresent。

详细信息
参数
[in] aHandle
相关 PropertyPathHandle。
[in] aTagToWrite
要为 aHandle 编写的代码。
[in,out] aWriter
写入 TLV 元素的作者。
[out] aIsNull
是否将 aHandle 作废?如果是,TDM 会写入 null 元素。如果 aHandle 不是叶,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
)