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

nl:: Weben:: Profile:: DataManagement_Legacy:: ProfilDatenbank

Dies ist eine abstrakte Klasse.

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

Die abstrakte ProfileDatabase Zusatzklasse.

Zusammenfassung

WDM trennt die Protokoll-Implementierung von der Datenmanagement-Implementierung und überlässt letztere zumindest prinzipiell dem Anwendungsentwickler. Alle interessanten Aufrufe in WDM und alle abstrakten Methoden, die der Profilentwickler implementieren muss, verwenden TLV-codierte Pfadlisten oder Datenlisten. Dies stellt eine Belastung für die Profil - Entwickler und in der Praxis wird eine Menge Code - Duplizierung verursacht als Entwickler nach dem Entwickler den gleichen Code für Ein- und Auspacken schreibt TLV und so weiter. Um die Sache ein wenig zu erleichtern, stellen wir eine Art "Datenmanagement-Toolkit" zur Verfügung.

Diese Hilfsklasse bietet Unterstützung zum Speichern und Abrufen von Daten vorgesehen ist, dass der notwendige Beton ProfileData Unterklassen sind auf die zugeführte und hinzugefügt LookupProfileData () Methode unten.

Öffentliche Funktionen

LookupDataFromProfileDescriptor (nl::Weave::TLV::TLVReader & aDescReader, ProfileData **aProfileData)
Suchen Sie ein ProfileData Objekt in der Datenbank.
LookupProfileData (nl::Weave::TLV::TLVReader & aPathReader, ProfileData **aProfileData)
Suchen Sie ein ProfileData Objekt in der Datenbank.
LookupProfileData (uint32_t aProfileId,nl::Weave::TLV::TLVReader *aInstanceIdRdr, ProfileData **aResult)=0
virtual WEAVE_ERROR
Schauen Sie ein bis ProfileData Objekt.
Retrieve ( ReferencedTLVData & aPathList, ReferencedTLVData & aDataList)
Rufen Sie eine Datenliste mit einer Pfadliste ab.
Retrieve ( ReferencedTLVData & aPathList,nl::Weave::TLV::TLVWriter & aWriter)
Schreiben Sie eine Datenliste mit einer Pfadliste.
Store ( ReferencedTLVData & aDataList)
Speichern Sie eine Datenliste.

Geschützte Funktionen

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

Klassen

nl :: Weave :: Profile :: DataManagement_Legacy :: ProfileDatabase :: ProfileData

Die abstrakte ProfileData Hilfs innere Klasse.

Öffentliche Funktionen

LookupDataFromProfileDescriptor

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

Suchen Sie ein ProfileData Objekt in der Datenbank.

Dieses Dienstprogramm Methode wird verwendet , um zu finden ProfileData Objekte in einem bestimmten ProfileDatabase . Es hängt weitgehend von Lookup - Methoden , die von den Implementierer der Beton vorgesehen ProfileDatabase Unterklasse.

Einzelheiten
Parameter
[in] aDescReader
Ein Verweis auf ein TLV reader positioniert an einem WDM - Pfad - dh ein TLV Pfad, der als das erste Element, eine Profilbeschreibung aufweist.
[out] aProfileData
Ein Zeiger, bestimmt einen Zeiger auf das zurückzukehren ProfileData Objekt von Interesse.
Kehrt zurück
WEAVE_NO_ERROR auf Erfolg, Rückkehr sonst eine WEAVE_ERROR einen Fehler anzeigt , ein passendes nachzuschlagen ProfileData Objekt.

Profildaten suchen

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

Suchen Sie ein ProfileData Objekt in der Datenbank.

Dieses Dienstprogramm Methode wird verwendet , um zu finden ProfileData Objekte in einem bestimmten ProfileDatabase . Es hängt weitgehend von Lookup - Methoden , die von den Implementierer der Beton vorgesehen ProfileDatabase Unterklasse.

Einzelheiten
Parameter
[in] aPathReader
Ein Verweis auf ein TLV reader positioniert an einem WDM - Pfad - dh ein TLV Pfad, der als das erste Element, eine Profilbeschreibung aufweist.
[out] aProfileData
Ein Zeiger, bestimmt einen Zeiger auf das zurückzukehren ProfileData Objekt von Interesse.
Kehrt zurück
WEAVE_NO_ERROR auf Erfolg, Rückkehr sonst eine WEAVE_ERROR einen Fehler anzeigt , ein passendes nachzuschlagen ProfileData Objekt.

Profildaten suchen

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

Schauen Sie ein bis ProfileData Objekt.

Schauen Sie eine bestimmte up ProfileData Objekt eine Profil - ID und ein (optional) Instanz - ID angegeben <als vorgesehen TLV Leser.

Einzelheiten
Parameter
[in] aProfileId
Die 32-Bit-Profilnummer des interessierenden Profils.
[in] aInstanceIdRdr
Ein Zeiger auf einen TLV reader positioniert auf Instanzidentifikationsdaten. Wenn keine Instanzkennung angegeben wurde, muss diese NULL sein.
[out] aResult
Ein Zeiger, bestimmt einen Zeiger auf das zurückzukehren ProfileData Objekt von Interesse.
Kehrt zurück
WEAVE_NO_ERROR auf Erfolg. Ansonsten eine Rückkehr WEAVE_ERROR eine Unfähigkeit reflektiert einen finden ProfileData Objekt.

Abrufen

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  ReferencedTLVData & aDataList
)

Rufen Sie eine Datenliste mit einer Pfadliste ab.

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

Einzelheiten
Parameter
[in] aPathList
Ein Verweis auf eine ReferencedTLVData Objekt einen TLV-kodierte Liste von Pfaden repräsentierenden Daten enthält , abzurufen. Dieser Parameter wird während der Ausführung dieser Funktion konstant gehalten.
[out] aDataList
Ein Verweis auf ein ReferencedTLVData Objekt , in dem die abgerufenen Ergebnisse zu schreiben. Die Datenlänge wird erst nach erfolgreicher Ausführung dieser Funktion angepasst.
Kehrt zurück
WEAVE_NO_ERROR auf Erfolg. Ansonsten geben einen WEAVE_ERROR einen Fehler anzeigt , die Datenliste von Interesse abzurufen.

Abrufen

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

Schreiben Sie eine Datenliste mit einer Pfadliste.

Bei einer Liste von Pfaden und einem TLV writer, schreibt eine Datenliste Daten enthält , Listenelement für jeden Pfad in der Pfadliste , und die Daten , die das Endgerät dieses Weges ist.

Einzelheiten
Parameter
[in] aPathList
Ein Verweis auf eine ReferencedTLVData Objekt enthält eine Liste von TLV Pfade repräsentieren Daten abzurufen. Dieser Parameter wird während der Ausführung dieser Funktion konstant gehalten.
[in] aWriter
Ein Verweis auf den TLV Schriftsteller zu verwenden , in der abgerufenen Pfadliste auszuschreiben. Der interne Status des Writers kann im Fehlerfall nicht wiederherstellbar sein.
Kehrt zurück
WEAVE_NO_ERROR auf Erfolg. Ansonsten eine Rückkehr WEAVE_ERROR einen Fehler anzeigt , um die Daten abzurufen oder die Datenliste von Interesse zu schreiben.

Geschäft

WEAVE_ERROR Store(
  ReferencedTLVData & aDataList
)

Speichern Sie eine Datenliste.

Bei einer-TLV codierte Datenliste, geht diese Methode durch den Prozess der diese Liste Parsen und rief die konkreten Methoden zur Verfügung gestellt von ProfileDatabase Unterklasse Implementierer die referenzierten Daten zu setzen , wo sie hingehört.

Einzelheiten
Parameter
[in] aDataList
Ein Verweis auf ein ReferencedTLVData Objekt , um die Daten von Interesse in TLV-kodierte Form enthält.
Kehrt zurück
WEAVE_NO_ERROR auf Erfolg. Ansonsten gibt einen WEAVE_ERROR einen Fehler anzeigt , die Daten von Interesse zu speichern.

Geschützte Funktionen

StoreIntern

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