nl:: Weave:: Profiles:: DataManagement_Current:: TraitUpdatableDataSink
Zusammenfassung
Übernahme
Übernimmt von:nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
Konstruktoren und Zerstörer |
|
---|---|
TraitUpdatableDataSink(const TraitSchemaEngine *aEngine)
|
Öffentliche Funktionen |
|
---|---|
ClearUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle)
|
|
GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
|
virtual WEAVE_ERROR
Mit einem Pfad-Handle zu einem Knoten, einem TLV-Autor und booleschen Werten, die angeben, ob der Wert null ist oder nicht, werden die Daten aus der Trait-Quelle abgerufen, die eine Benachrichtigung erstellt.
|
GetSubscriptionClient() __OVERRIDE
|
virtual SubscriptionClient *
|
GetUpdateEncoder() __OVERRIDE
|
virtual UpdateEncoder *
|
IsUpdatableDataSink(void) __OVERRIDE
|
virtual bool
|
Lock(SubscriptionClient *apSubClient)
|
void
|
ReadData(TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom)
|
|
SetSubscriptionClient(SubscriptionClient *apSubClient) __OVERRIDE
|
virtual WEAVE_ERROR
|
SetUpdateEncoder(UpdateEncoder *apEncoder) __OVERRIDE
|
virtual WEAVE_ERROR
|
SetUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional)
|
Gibt an, dass das angegebene PropertyPathHandle lokale Änderungen aufweist.
|
Unlock(SubscriptionClient *apSubClient)
|
void
|
Öffentliche Funktionen
ClearUpdated
WEAVE_ERROR ClearUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle )
GetData
virtual WEAVE_ERROR GetData( PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent ) __OVERRIDE
Mit einem Pfad-Handle zu einem Knoten, einem TLV-Autor und booleschen Werten, die angeben, ob der Wert null ist oder nicht, werden die Daten aus der Trait-Quelle abgerufen, die eine Benachrichtigung erstellt.
Wenn das Pfad-Handle kein Blattknoten ist, verarbeitet TDM das Schreiben von Werten für den Autor (z. B. das Öffnen von Containern, das Überschreiben der Struktur usw.). Wenn ein Nicht-Blatt-Knoten null oder nicht vorhanden ist, ruft TDM GetData nicht für seine untergeordneten Elemente auf.
Diese Funktion wird nur für Handles aufgerufen, bei denen Nullwerte zulässig, optional, sitzungsspezifisch oder Blätter sind. Es wird erwartet, dass alle Merkmale mit Handles, für die diese Optionen aktiviert sind, die entsprechende Logik zum Ausfüllen von aIsNull und aIsPresent implementieren.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
GetSubscriptionClient
virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE
GetUpdateEncoder
virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE
IsUpdatableDataSink
virtual bool IsUpdatableDataSink( void ) __OVERRIDE
Sperren
void Lock( SubscriptionClient *apSubClient )
ReadData
WEAVE_ERROR ReadData( TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom )
SetSubscriptionClient
virtual WEAVE_ERROR SetSubscriptionClient( SubscriptionClient *apSubClient ) __OVERRIDE
SetUpdateEncoder
virtual WEAVE_ERROR SetUpdateEncoder( UpdateEncoder *apEncoder ) __OVERRIDE
SetUpdated
WEAVE_ERROR SetUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional )
Gibt an, dass das angegebene PropertyPathHandle lokale Änderungen aufweist.
Die NotificationEngine überschreibt den Handle und seine Nachfolger erst, wenn die Aktualisierungsanfrage verarbeitet wurde. Die Anwendung empfängt kEvent_OnUpdateComplete-Rückrufe für diesen Handle oder für einen seiner Vorgänger mit dem Ergebnis des Aktualisierungsvorgangs. Die Änderung kann bedingt sein oder nicht. Bedingte Datenaktualisierungen gehen verloren, wenn die lokale Kopie der Trait-Instanz nicht mehr mit der des Publishers synchronisiert ist, weil sie vom Publisher selbst oder von einem anderen Client geändert wurde. Bedingte und bedingungslose Mutationen werden nicht gleichzeitig in derselben Trait-Instanz unterstützt.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|