class TraitUpdatableDataSource

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

Base abstract class that represents a particular instance of a trait on a specific resource (publisher).

Application developers are expected to subclass this to make a concrete source that apply data received from client

Public Methods

WEAVE_ERROR HandleUnknownLeafHandle ()

Convenience function for data sinks to handle unknown leaf handles with

a system level tolerance for mismatched schema as defined by

TDM_DISABLE_STRICT_SCHEMA_COMPILANCE.

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

bool IsUpdatableDataSource ()

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

void TraitUpdatableDataSource (const TraitSchemaEngine * aEngine)
WEAVE_ERROR StoreDataElement (PropertyPathHandle aHandle, TLV::TLVReader & aReader, uint8_t aFlags, OnChangeRejection aFunc, void * aContext)

Given a reader that points to a data element conformant to a schema bound to this object, this method processes that data and

invokes the relevant SetLeafData call below for all leaf items in the buffer.

A change rejection function can be passed in as well that will be invoked if the updatable source chooses to reject this data

for any reason.

Protected Methods

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

Defaults to calling SetLeafData if aHandle is a leaf. DataSinks

can optionally implement this if they need to support nullable,

ephemeral, or optional properties.

TODO: make this the defacto API, moving all the logic from

SetLeafData into this function.

void RejectChange (uint16_t aRejectionStatusCode)

Subclass can invoke this if they desire to reject a particular data change

Enumerations

enum EventType
Name Value
kEventDataElementBegin kEventDataSourceMax + 1
kEventDataElementEnd 2
kEventUpdateProcessingComplete 3
kEventDictionaryReplaceBegin 4
kEventDictionaryReplaceEnd 5
kEventDictionaryItemModifyBegin 6
kEventDictionaryItemModifyEnd 7
kEventDictionaryItemDelete 8
kEventUpdateRequestBegin 9
kEventUpdateRequestEnd 10
kEventSubscriptionTerminated 11
kEventUpdatableDataSourceMax 12

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

Records

Friends

class SubscriptionEngine