nl:: Weave:: Profiles:: DataManagement_Legacy:: ProfileDatabase
Dies 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 Letzteres zumindest im Prinzip dem Anwendungsentwickler. Alle interessanten Aufrufe in WDM und alle abstrakten Methoden, die der Profilentwickler implementieren muss, verwenden TLV-codierte Pfad- oder Datenlisten. Dies belastet Profilentwickler und führt in der Praxis zu vielen Codeduplizierungen, wenn der Entwickler denselben Code zum Verpacken und Entpacken von TLV und so weiter geschrieben hat. Zur Vereinfachung stellen wir eine Art „Datenmanagement-Toolkit“ bereit.
Diese Hilfsklasse bietet Unterstützung für das Speichern und Abrufen von Daten, vorausgesetzt, die erforderlichen konkreten ProfileData-Unterklassen wurden bereitgestellt und der LookupProfileData()-Methode unten hinzugefügt.
Öffentliche Funktionen |
|
---|---|
LookupDataFromProfileDescriptor(nl::Weave::TLV::TLVReader & aDescReader, ProfileData **aProfileData)
|
Suchen Sie in der Datenbank nach einem ProfileData-Objekt.
|
LookupProfileData(nl::Weave::TLV::TLVReader & aPathReader, ProfileData **aProfileData)
|
Suchen Sie in der Datenbank nach einem ProfileData-Objekt.
|
LookupProfileData(uint32_t aProfileId, nl::Weave::TLV::TLVReader *aInstanceIdRdr, ProfileData **aResult)=0
|
virtual WEAVE_ERROR
Suchen Sie nach einem ProfileData-Objekt.
|
Retrieve(ReferencedTLVData & aPathList, ReferencedTLVData & aDataList)
|
Rufen Sie 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)
|
Klassen |
|
---|---|
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 einem ProfileData-Objekt.
Diese Dienstprogrammmethode wird verwendet, um ProfileData-Objekte in einer bestimmten ProfileDatabase zu finden. Sie hängt hauptsächlich von den Suchmethoden ab, die vom Implementer der konkreten ProfileDatabase-Unterklasse bereitgestellt werden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg. Andernfalls wird WEAVE_ERROR zurückgegeben, der angibt, dass beim Suchen eines übereinstimmenden ProfileData-Objekts ein Fehler aufgetreten ist.
|
LookupProfileData
WEAVE_ERROR LookupProfileData( nl::Weave::TLV::TLVReader & aPathReader, ProfileData **aProfileData )
Suchen Sie in der Datenbank nach einem ProfileData-Objekt.
Diese Dienstprogrammmethode wird verwendet, um ProfileData-Objekte in einer bestimmten ProfileDatabase zu finden. Sie hängt hauptsächlich von den Suchmethoden ab, die vom Implementer der konkreten ProfileDatabase-Unterklasse bereitgestellt werden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg. Andernfalls wird WEAVE_ERROR zurückgegeben, der angibt, dass beim Suchen eines übereinstimmenden ProfileData-Objekts ein Fehler aufgetreten ist.
|
LookupProfileData
virtual WEAVE_ERROR LookupProfileData( uint32_t aProfileId, nl::Weave::TLV::TLVReader *aInstanceIdRdr, ProfileData **aResult )=0
Suchen Sie nach einem ProfileData-Objekt.
Nach einem bestimmten ProfileData-Objekt mit einer Profil-ID und einer (optionalen) Instanz-ID suchen als TLV-Leser verfügbar.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass kein ProfileData-Objekt gefunden werden kann.
|
Abrufen
WEAVE_ERROR Retrieve( ReferencedTLVData & aPathList, ReferencedTLVData & aDataList )
Rufen Sie eine Datenliste anhand einer Pfadliste ab.
Rufen Sie anhand einer Pfadliste eine Datenliste mit Datenlistenelementen für jeden Pfad in der Pfadliste mit den Daten ab, die das Endgerät dieses Pfads sind.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben. Dieser gibt an, 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.
Schreiben Sie anhand einer Pfadliste und eines TLV-Autors eine Datenliste mit Datenlistenelementen für jeden Pfad in der Pfadliste und den Daten, die das Endgerät dieses Pfads sind.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass die Daten nicht abgerufen oder die gewünschte Datenliste nicht geschrieben werden konnte.
|
Shop
WEAVE_ERROR Store( ReferencedTLVData & aDataList )
Datenliste speichern.
Angesichts einer TLV-codierten Datenliste durchläuft diese Methode das Parsen dieser Liste und das Aufrufen der konkreten Methoden, die von den Unterklassen-Implementierern von ProfileDatabase bereitgestellt werden, um die referenzierten Daten an der richtigen Stelle zu platzieren.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass die gewünschten 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 )