nl:: Weave:: Profiles:: DataManagement_Current:: TraitUpdatableDataSink
Zusammenfassung
Übernahme
Übernommen 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
Bei einem Pfad-Handle zu einem Knoten, einem TLV-Writer und booleschen Werten, die angeben, ob der Wert null ist oder nicht vorhanden ist, werden die Daten von der Trait-Quelle abgerufen, von der eine Benachrichtigung erstellt wird.
|
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)
|
Deklariert, dass der angegebene PropertyPathHandle lokale Änderungen enthält.
|
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
Bei einem Pfad-Handle zu einem Knoten, einem TLV-Writer und booleschen Werten, die angeben, ob der Wert null ist oder nicht vorhanden ist, werden die Daten von der Trait-Quelle abgerufen, von der eine Benachrichtigung erstellt wird.
Wenn das Pfad-Handle kein Blattknoten ist, verarbeitet TDM das Schreiben von Werten für den Writer (z. B. Öffnen von Containern, NULL-Wert der Struktur usw.). Wenn ein Nicht-Blatt-Knoten null ist oder nicht vorhanden ist, ruft TDM GetData für seine untergeordneten Knoten nicht auf.
Diese Funktion wird nur für Handles aufgerufen, die Nullwerte zulässig, optional, sitzungsspezifisch oder Blattteile sind. Es wird erwartet, dass alle Merkmale mit Handles, für die diese Optionen aktiviert sind, eine 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 )
Deklariert, dass der angegebene PropertyPathHandle lokale Änderungen enthält.
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 ihrer Ancestors 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 synchron 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 |
|