class TraitDataSource

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

Public Members

bool mRootIsDirty

Protected Members

bool mManagedVersion
const TraitSchemaEngine * mSchemaEngine

Public Methods

void TraitDataSource (const TraitSchemaEngine * aEngine)
void ~TraitDataSource ()

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

const TraitSchemaEngine * GetSchemaEngine ()

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

uint64_t GetVersion ()
bool IsUpdatableDataSource ()

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

bool IsVersionEqual (DataVersion & aVersion)

Check if version is equal to the internal trait version

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

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

Interactions with the underlying data has to always be done within a locked context. This applies to both the app logic

(e.g., a publisher when modifying its source data) as well as to the core WDM logic (when trying to access that published

data). This is required of both publishers and clients.

WEAVE_ERROR Unlock ()
void SetDirty (PropertyPathHandle aPropertyHandle)
WEAVE_ERROR Unlock (bool aSkipVersionIncrement)
void DeleteKey (PropertyPathHandle aPropertyHandle)
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)

This API has been deprecated.

void OnCustomCommand (Command * aCommand, const nl::Weave::WeaveMessageInfo * aMsgInfo, nl::Weave::PacketBuffer * aPayload, nl::Weave::TLV::TLVReader & aArgumentReader)

API with all meta information housed within the Command

object.

WEAVE_ERROR OnEvent (uint16_t aType, void * aInEventParam)

Invoked either by the base class or by an external agent (like the subscription engine) to signal the occurrence of an event

(of type EventType). Sub-classes are expected to over-ride this if they desire to be made known of these events.

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

void SetRootDirty ()

Set of functions to be called by the intermediate graph solver on the notification engine for marking/clearing this entire

data source as dirty

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

void ClearRootDirty ()

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

bool IsRootDirty ()

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

void SetVersion (uint64_t version)

Set current version of the data in this source.

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

Protected Methods

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

Defaults to calling GetLeafData if aHandle is a leaf. DataSources

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

GetLeafData into this function.

WEAVE_ERROR GetLeafData (PropertyPathHandle aLeafHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter)
WEAVE_ERROR GetNextDictionaryItemKey (PropertyPathHandle aDictionaryHandle, uintptr_t & aContext, PropertyDictionaryKey & aKey)

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

void IncrementVersion ()

Increment current version of the data in this source.

Enumerations

enum EventType
Name Value
kEventDataSourceMax 0

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

Friends

class WdmUpdateServerTest