nl::Weave::Profiles::DataManagement_Current::TraitDataSink

这是一个抽象类。

摘要

继承

沿用自: nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::ISetDataDelegate
直接已知的子类: nl::Weave::Profiles::DataManagement_Current::TraitUpdatableDataSink

构造函数和析构函数

TraitDataSink(const TraitSchemaEngine *aEngine)
~TraitDataSink()

公共类型

ChangeFlags 枚举
EventType 枚举
OnChangeRejection)(uint16_t aRejectionStatusCode, uint64_t aVersion, void *aContext) typedef

受保护的属性

mSchemaEngine

公共函数

ClearVersion(void)
void
GetSchemaEngine(void) const
GetSubscriptionClient()
virtual SubscriptionClient *
GetUpdateEncoder()
virtual UpdateEncoder *
GetVersion(void) const
uint64_t
检索驻留在此接收器中的数据的当前版本。
HandleUnknownLeafHandle(void)
此便捷函数可供数据接收器处理未知的叶句柄,并且对不匹配的架构具有系统级容错(如 TDM_DISABLE_STRICT_SCHEMA_COMPILANCE 所定义)。
IsUpdatableDataSink(void)
virtual bool
IsVersionNewer(DataVersion & aVersion)
virtual bool
IsVersionValid(void) const
bool
返回用于确定版本是否有效的布尔值。
OnEvent(uint16_t aType, void *aInEventParam)
virtual WEAVE_ERROR
SetSubscriptionClient(SubscriptionClient *apSubClient)
virtual WEAVE_ERROR
SetUpdateEncoder(UpdateEncoder *apEncoder)
virtual WEAVE_ERROR
StoreDataElement(PropertyPathHandle aHandle, TLV::TLVReader & aReader, uint8_t aFlags, OnChangeRejection aFunc, void *aContext, TraitDataHandle aDatahandle)
假设读取器指向符合与此对象的架构相符的数据元素,此方法会处理该数据,并为缓冲区中的所有叶项调用下面的相关 SetLeafData 调用。

受保护的函数

GetLastNotifyVersion(void) const
uint64_t
RejectChange(uint16_t aRejectionStatusCode)
void
SetData(PropertyPathHandle aHandle, nl::Weave::TLV::TLVReader & aReader, bool aIsNull) __OVERRIDE
virtual WEAVE_ERROR
给定节点的路径句柄、TLV 读取器以及是否收到 null 类型的指示,请在被调用方中设置数据。
SetLastNotifyVersion(uint64_t version)
void
SetLeafData(PropertyPathHandle aLeafHandle, nl::Weave::TLV::TLVReader & aReader) __OVERRIDE=0
virtual WEAVE_ERROR
给定叶节点的路径句柄和 TLV 读取器,请在被调用方中设置叶级数据。
SetVersion(uint64_t version)
void

联合体

nl::Weave::Profiles::DataManagement_Current::TraitDataSink::InEventParam

公共类型

ChangeFlags

 ChangeFlags

EventType

 EventType

OnChangeRejection

WEAVE_ERROR(* OnChangeRejection)(uint16_t aRejectionStatusCode, uint64_t aVersion, void *aContext)

受保护的属性

mSchemaEngine

const TraitSchemaEngine * mSchemaEngine

公共函数

ClearVersion

void ClearVersion(
  void
)

GetSchemaEngine

const TraitSchemaEngine * GetSchemaEngine(
  void
) const 

GetSubscriptionClient

virtual SubscriptionClient * GetSubscriptionClient()

GetUpdateEncoder

virtual UpdateEncoder * GetUpdateEncoder()

GetVersion

uint64_t GetVersion(
  void
) const 

检索驻留在此接收器中的数据的当前版本。

HandleUnknownLeafHandle

WEAVE_ERROR HandleUnknownLeafHandle(
  void
)

此便捷函数可供数据接收器处理未知的叶句柄,并且对不匹配的架构具有系统级容错(如 TDM_DISABLE_STRICT_SCHEMA_COMPILANCE 所定义)。

IsUpdatableDataSink

virtual bool IsUpdatableDataSink(
  void
)

IsVersionNewer

virtual bool IsVersionNewer(
  DataVersion & aVersion
)

IsVersionValid

bool IsVersionValid(
  void
) const 

返回用于确定版本是否有效的布尔值。

OnEvent

virtual WEAVE_ERROR OnEvent(
  uint16_t aType,
  void *aInEventParam
)

SetSubscriptionClient

virtual WEAVE_ERROR SetSubscriptionClient(
  SubscriptionClient *apSubClient
)

SetUpdateEncoder

virtual WEAVE_ERROR SetUpdateEncoder(
  UpdateEncoder *apEncoder
)

StoreDataElement

WEAVE_ERROR StoreDataElement(
  PropertyPathHandle aHandle,
  TLV::TLVReader & aReader,
  uint8_t aFlags,
  OnChangeRejection aFunc,
  void *aContext,
  TraitDataHandle aDatahandle
)

假设读取器指向符合与此对象的架构相符的数据元素,此方法会处理该数据,并为缓冲区中的所有叶项调用下面的相关 SetLeafData 调用。

您还可以传入更改拒绝函数,如果接收器出于任何原因选择拒绝此数据,系统会调用该函数。

详细信息
返回值
WEAVE_NO_ERROR
成功时。
other
在写入数据时遇到错误。

TraitDataSink

 TraitDataSink(
  const TraitSchemaEngine *aEngine
)

~TraitDataSink

virtual  ~TraitDataSink()

受保护的函数

GetLastNotifyVersion

uint64_t GetLastNotifyVersion(
  void
) const 

RejectChange

void RejectChange(
  uint16_t aRejectionStatusCode
)

SetData

virtual WEAVE_ERROR SetData(
  PropertyPathHandle aHandle,
  nl::Weave::TLV::TLVReader & aReader,
  bool aIsNull
) __OVERRIDE

给定节点的路径句柄、TLV 读取器以及是否收到 null 类型的指示,请在被调用方中设置数据。

TDM 只会针对可为 null、可选、临时或叶的句柄调用此函数。如果 aHandle 是非叶节点且已作废,TDM 将不会为其子节点调用 SetData。

详细信息
参数
[in] aHandle
相关 PropertyPathHandle。
[in,out] aReader
要读取的 TLV 读取器。
[out] aIsNull
是否将 aHandle 作废?
返回值
WEAVE_NO_ERROR
成功时。
other
无法从读取器中读取数据。

SetLastNotifyVersion

void SetLastNotifyVersion(
  uint64_t version
)

SetLeafData

virtual WEAVE_ERROR SetLeafData(
  PropertyPathHandle aLeafHandle,
  nl::Weave::TLV::TLVReader & aReader
) __OVERRIDE=0

给定叶节点的路径句柄和 TLV 读取器,请在被调用方中设置叶级数据。

详细信息
返回值
WEAVE_NO_ERROR
成功时。
other
无法从读取器中读取数据。

SetVersion

void SetVersion(
  uint64_t version
)