Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl:: Weben:: Profile:: DataManagement_Current:: TraitUpdatableDataSink

Zusammenfassung

Erbe

Erbt von:
  nl::Weave::Profiles::DataManagement_Current::TraitDataSink
  nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate

Konstruktoren und Destruktoren

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 Handelte zu einem Knoten, ein TLV Schriftsteller und booleans der angibt , ob der Wert null ist oder nicht vorhanden ist , erhält die Daten aus dem Merkmale Quelle , die eine benachrichtigen bauen.
GetSubscriptionClient () __OVERRIDE
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 das angegebene PropertyPathHandle lokale Änderungen aufweist.
Unlock ( SubscriptionClient *apSubClient)
void

Öffentliche Funktionen

LöschenAktualisiert

WEAVE_ERROR ClearUpdated(
  SubscriptionClient *apSubClient,
  PropertyPathHandle aPropertyHandle
)

Daten bekommen

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

Bei einem Pfad Handelte zu einem Knoten, ein TLV Schriftsteller und booleans der angibt , ob der Wert null ist oder nicht vorhanden ist , erhält die Daten aus dem Merkmale Quelle , die eine benachrichtigen bauen.

Wenn das Pfadhandle kein Blattknoten ist, verarbeitet TDM das Schreiben von Werten in den Writer (wie das Öffnen von Containern, das Aufheben 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, die nullable, optional, ephemeral oder leafs sind. Es wird erwartet, dass alle Merkmale mit Handles, bei denen diese Optionen aktiviert sind, eine geeignete Logik zum Auffüllen von aIsNull und aIsPresent implementieren.

Einzelheiten
Parameter
[in] aHandle
Das fragliche PropertyPathHandle.
[in] aTagToWrite
Das Tag, das für das aHandle geschrieben werden soll.
[in,out] aWriter
Der Autor schreibt TLV Elemente.
[out] aIsNull
Ist aHandle ungültig? Wenn ja, schreibt TDM ein Nullelement. Wenn aHandle kein Blatt ist, überspringt TDM seine untergeordneten Elemente.
[out] aIsPresent
Ist aHandle vorhanden? Wenn nein und wenn aHandle kein Blatt ist, überspringt TDM den Pfad und seine Kinder.
Rückgabewerte
WEAVE_NO_ERROR
Auf Erfolg.
other
Konnte Daten nicht abrufen und in den Writer schreiben.

GetSubscriptionClient

virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE

GetUpdateEncoder

virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE

IsUpdatableDataSink

virtual bool IsUpdatableDataSink(
  void
) __OVERRIDE

Sperren

void Lock(
  SubscriptionClient *apSubClient
)

Daten lesen

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

SetAktualisiert

WEAVE_ERROR SetUpdated(
  SubscriptionClient *apSubClient,
  PropertyPathHandle aPropertyHandle,
  bool aIsConditional
)

Deklariert, dass das angegebene PropertyPathHandle lokale Änderungen aufweist.

Die NotificationEngine nicht außer Kraft setzen den Griff und seine Nachkommen , bis die Aktualisierungsanforderung verarbeitet wurde. Die Anwendung erhält kEvent_OnUpdateComplete-Callbacks für dieses Handle oder für einen seiner Vorfahren mit dem Ergebnis des Aktualisierungsvorgangs. Die Änderung kann bedingt sein oder nicht. Bedingte Datenaktualisierungen gehen verloren, wenn die lokale Kopie der Merkmalsinstanz nicht mehr mit der des Herausgebers synchron ist, weil sie vom Herausgeber selbst oder von einem anderen Client mutiert wurde. Bedingte und unbedingte Mutationen werden nicht gleichzeitig in derselben Merkmalsinstanz unterstützt.

Einzelheiten
Parameter
[in] apSubClient
Ein Zeiger auf die SubscriptionClient diese Senke zu verwalten.
[in] aPropertyHandle
Ein beliebiges gültiges PropertyPathHandle für diese Trait-Instanz.
[in] aIsConditional
True für eine bedingte Aktualisierung; sonst falsch.
Rückgabewerte
WEAVE_NO_ERROR
wenn das Eigenschafts-Handle erfolgreich zu den Eigenschaften hinzugefügt wurde, die an den Besitzer des Merkmals gesendet werden sollen.
WEAVE_ERROR_INVALID_ARGUMENT
wenn der Griff oder die SubscriptionClient Zeiger sind ungültig.
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
wenn die Merkmalsinstanz bereits mit der entgegengesetzten Bedingung aktualisiert wird.
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
wenn aIsConditional true ist, aber die Merkmalsinstanz keine gültige Version hat.
WEAVE_ERROR_WDM_PATH_STORE_FULL
wenn kein Speicher zum Speichern des Pfads vorhanden ist.
Other
WEAVE_ERROR-Codes je nach Fehler.

TraitUpdateableDataSink

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

Freischalten

void Unlock(
  SubscriptionClient *apSubClient
)