nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

Das ist eine abstrakte Klasse.

#include <src/lib/profiles/data-management/Legacy/ProfileDatabase.h>

Die abstrakte Hilfsklasse ProfileDatabase.

Zusammenfassung

WDM trennt die Protokollimplementierung von der Datenverwaltungsimplementierung und überlässt – zumindest im Prinzip – den Großteil der Protokollimplementierung dem Anwendungsentwickler. Alle interessanten Aufrufe in WDM und alle abstrakten Methoden, die der Profilentwickler implementieren muss, nehmen TLV-codierte Pfadlisten oder Datenlisten. Dies stellt eine Belastung für die Profilentwickler dar und führt in der Praxis zu einer erheblichen Duplizierung von Code, nachdem der Entwickler denselben Code zum Verpacken und Entpacken von TLV und so weiter geschrieben hat. Der Einfachheit halber stellen wir eine Art „Datenverwaltungs-Toolkit“ zur Verfügung.

Diese Hilfsklasse unterstützt das Speichern und Abrufen von Daten, vorausgesetzt, die erforderlichen konkreten ProfileData-Unterklassen wurden bereitgestellt und der Methode LookupProfileData() unten hinzugefügt.

Öffentliche Funktionen

LookupDataFromProfileDescriptor(nl::Weave::TLV::TLVReader & aDescReader, ProfileData **aProfileData)
Suchen Sie in der Datenbank nach dem Objekt ProfileData.
LookupProfileData(nl::Weave::TLV::TLVReader & aPathReader, ProfileData **aProfileData)
Suchen Sie in der Datenbank nach dem Objekt ProfileData.
LookupProfileData(uint32_t aProfileId, nl::Weave::TLV::TLVReader *aInstanceIdRdr, ProfileData **aResult)=0
virtual WEAVE_ERROR
Suchen Sie ein ProfileData-Objekt.
Retrieve(ReferencedTLVData & aPathList, ReferencedTLVData & aDataList)
Ruft eine Datenliste anhand einer Pfadliste ab.
Retrieve(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVWriter & aWriter)
Schreiben Sie eine Datenliste anhand einer Pfadliste aus.
Store(ReferencedTLVData & aDataList)
Datenliste speichern

Geschützte Funktionen

StoreInternal(nl::Weave::TLV::TLVReader & aPathReader, uint64_t aVersion, nl::Weave::TLV::TLVReader & aDataReader)

Kurse

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase::ProfileData

Die abstrakte innere Hilfsklasse ProfileData.

Öffentliche Funktionen

LookupDataFromProfileDescriptor

WEAVE_ERROR LookupDataFromProfileDescriptor(
  nl::Weave::TLV::TLVReader & aDescReader,
  ProfileData **aProfileData
)

Suchen Sie in der Datenbank nach dem Objekt ProfileData.

Diese Dienstmethode wird verwendet, um ProfileData-Objekte in einer bestimmten ProfileDatabase zu finden. Sie hängt weitgehend von den Suchmethoden ab, die vom Implementierer der konkreten Unterklasse ProfileDatabase bereitgestellt werden.

Details
Parameter
[in] aDescReader
Ein Verweis auf einen TLV-Leser, der sich in einem WDM-Pfad befindet, d.h. ein TLV-Pfad, der als erstes Element eine Profilbeschreibung enthält.
[out] aProfileData
Ein Zeiger, der einen Zeiger auf das relevante Objekt ProfileData zurückgeben soll.
Rückgabe
WEAVE_NO_ERROR bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass ein übereinstimmendes ProfileData-Objekt nicht gesucht werden kann.

LookupProfileData

WEAVE_ERROR LookupProfileData(
  nl::Weave::TLV::TLVReader & aPathReader,
  ProfileData **aProfileData
)

Suchen Sie in der Datenbank nach dem Objekt ProfileData.

Diese Dienstmethode wird verwendet, um ProfileData-Objekte in einer bestimmten ProfileDatabase zu finden. Sie hängt weitgehend von den Suchmethoden ab, die vom Implementierer der konkreten Unterklasse ProfileDatabase bereitgestellt werden.

Details
Parameter
[in] aPathReader
Ein Verweis auf einen TLV-Leser, der sich in einem WDM-Pfad befindet, d.h. ein TLV-Pfad, der als erstes Element eine Profilbeschreibung enthält.
[out] aProfileData
Ein Zeiger, der einen Zeiger auf das relevante Objekt ProfileData zurückgeben soll.
Rückgabe
WEAVE_NO_ERROR bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass ein übereinstimmendes ProfileData-Objekt nicht gesucht werden kann.

LookupProfileData

virtual WEAVE_ERROR LookupProfileData(
  uint32_t aProfileId,
  nl::Weave::TLV::TLVReader *aInstanceIdRdr,
  ProfileData **aResult
)=0

Suchen Sie ein ProfileData-Objekt.

Schlagen Sie ein bestimmtes ProfileData-Objekt anhand einer Profil-ID und einer (optionalen) Instanz-ID<, die als TLV-Leser bereitgestellt werden, nach.

Details
Parameter
[in] aProfileId
Die 32-Bit-Profilnummer des gewünschten Profils.
[in] aInstanceIdRdr
Ein Zeiger auf einen TLV-Leser, der sich bei den Instanzkennungsdaten befindet. Wenn keine Instanzkennung angegeben wurde, ist dieser Wert NULL.
[out] aResult
Ein Zeiger, der einen Zeiger auf das relevante Objekt ProfileData zurückgeben soll.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil kein ProfileData-Objekt gefunden werden konnte.

Abrufen

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  ReferencedTLVData & aDataList
)

Ruft eine Datenliste anhand einer Pfadliste ab.

Rufen Sie bei einer Liste von Pfaden eine Datenliste ab, die Datenlistenelemente für jeden Pfad in der Pfadliste der Daten enthält, die das Terminal dieses Pfads sind.

Details
Parameter
[in] aPathList
Ein Verweis auf ein ReferencedTLVData-Objekt, das eine TLV-codierte Liste von Pfaden enthält, die die abzurufenden Daten darstellen. Dieser Parameter bleibt während der Ausführung dieser Funktion konstant.
[out] aDataList
Ein Verweis auf ein ReferencedTLVData-Objekt, in das die abgerufenen Ergebnisse geschrieben werden sollen. Die Datenlänge wird erst nach erfolgreicher Ausführung dieser Funktion angepasst.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, was bedeutet, dass die relevante Datenliste nicht abgerufen werden konnte.

Abrufen

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Schreiben Sie eine Datenliste anhand einer Pfadliste aus.

Erstellen Sie mit einer Liste von Pfaden und einem TLV-Schreibenden eine Datenliste, die Datenlistenelemente für jeden Pfad in der Pfadliste und die Daten enthält, die das Terminal dieses Pfads sind.

Details
Parameter
[in] aPathList
Ein Verweis auf ein ReferencedTLVData-Objekt, das eine Liste von TLV-Pfaden enthält, die die abzurufenden Daten darstellen. Dieser Parameter bleibt während der Ausführung dieser Funktion konstant.
[in] aWriter
Ein Verweis auf den TLV-Writer, der beim Schreiben der abgerufenen Pfadliste verwendet werden soll. Der interne Status für den Autor kann im Falle eines Fehlers nicht wiederhergestellt werden.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, was bedeutet, dass die Daten nicht abgerufen oder die relevante Datenliste nicht ausgegeben werden konnte.

Speichern

WEAVE_ERROR Store(
  ReferencedTLVData & aDataList
)

Datenliste speichern

Bei einer TLV-codierten Datenliste durchläuft diese Methode das Parsen dieser Liste und das Aufrufen der konkreten Methoden, die von den Implementern der Unterklasse ProfileDatabase bereitgestellt werden, um die referenzierten Daten an der Stelle zu platzieren, an der sie gehören.

Details
Parameter
[in] aDataList
Ein Verweis auf ein ReferencedTLVData-Objekt, das die relevanten Daten in TLV-codierter Form enthält.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, was bedeutet, dass die relevanten Daten nicht gespeichert werden konnten.

Geschützte Funktionen

StoreInternal

WEAVE_ERROR StoreInternal(
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t aVersion,
  nl::Weave::TLV::TLVReader & aDataReader
)