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:: |
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 |
|
||||
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 |
|
||||
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 |
|
||||||
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 |
|
||||
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 |
|
||||
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 |
|
||
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 )