class IGetDataDelegate

Defined at line 268 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Profiles/data-management/Current/TraitData.h

Public Methods

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

Given a path handle to a leaf node and a TLV writer, get the data from the callee.

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

Given a path handle to a node, a TLV writer, and booleans indicating whether the

value is null or not present, get the data from the trait source that will build a

notify. If the path handle is not a leaf node, TDM will handle writing values to

the writer (like opening containers, nullifying the struct, etc). If a non-leaf

node is null or not present, TDM will not call GetData for its children.

This function will only be called for handles that are nullable, optional,

ephemeral, or leafs. The expectation is that any traits with handles that

have those options enabled will implement appropriate logic to populate

aIsNull and aIsPresent.

Parameters

aHandle [in] The PropertyPathHandle in question.
aTagToWrite [in] The tag to write for the aHandle.
aWriter [in] The writer to write TLV elements to.
aIsNull [out] Is aHandle nullified? If yes, TDM will write a null element. If aHandle is not a leaf, TDM will skip over its children.
aIsPresent [out] Is aHandle present? If no and if aHandle is not a leaf, TDM will skip over the path and its children.
WEAVE_ERROR GetNextDictionaryItemKey (PropertyPathHandle aDictionaryHandle, uintptr_t & aContext, PropertyDictionaryKey & aKey)

Given a handle to a particular dictionary and some context (that is usable by the delegate to track state between

invocations), return the next dictionary item key.

The context is initially set to 0 on the first call. There-after, the application is allowed to store any data

(up to width of a pointer) within that variable and it will be passed in un-modified on successive invocations.