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

Il s'agit d'une classe abstraite.

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

La classe auxiliaire abstraite ProfileDatabase.

Résumé

WDM sépare l'implémentation du protocole de l'implémentation de la gestion des données et, au moins en principe, laisse la plupart de ces deux tâches incomber au développeur de l'application. Tous les appels intéressants dans WDM et toutes les méthodes abstraites dont le développeur de profils a besoin pour implémenter des listes de chemins ou de données encodés en TLV. Cela représente une charge pour les développeurs de profils et, dans la pratique, entraîne une duplication importante du code, car les développeurs ont écrit le même code pour empaqueter et décompresser TLV, etc. Pour vous faciliter la tâche, nous proposons une sorte de "kit de gestion des données".

Cette classe auxiliaire permet de stocker et de récupérer des données, à condition que les sous-classes ProfileData concrètes nécessaires aient été fournies et ajoutées à la méthode LookupProfileData() ci-dessous.

Fonctions publiques

LookupDataFromProfileDescriptor(nl::Weave::TLV::TLVReader & aDescReader, ProfileData **aProfileData)
Recherchez un objet ProfileData dans la base de données.
LookupProfileData(nl::Weave::TLV::TLVReader & aPathReader, ProfileData **aProfileData)
Recherchez un objet ProfileData dans la base de données.
LookupProfileData(uint32_t aProfileId, nl::Weave::TLV::TLVReader *aInstanceIdRdr, ProfileData **aResult)=0
virtual WEAVE_ERROR
Recherchez un objet ProfileData.
Retrieve(ReferencedTLVData & aPathList, ReferencedTLVData & aDataList)
Récupérez une liste de données à partir d'une liste de chemins d'accès.
Retrieve(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVWriter & aWriter)
Écrivez une liste de données en fonction d'une liste de chemins d'accès.
Store(ReferencedTLVData & aDataList)
Stockez une liste de données.

Fonctions protégées

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

Classes

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

Classe interne auxiliaire ProfileData abstraite.

Fonctions publiques

LookupDataFromProfileDescriptor

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

Recherchez un objet ProfileData dans la base de données.

Cette méthode utilitaire permet de rechercher des objets ProfileData dans un objet ProfileDatabase spécifique. Cela dépend en grande partie des méthodes de recherche fournies par l'outil d'implémentation de la sous-classe ProfileDatabase concrète.

Détails
Paramètres
[in] aDescReader
Référence à un lecteur TLV placé sur un chemin WDM (par exemple, un chemin TLV dont le premier élément est une description de profil).
[out] aProfileData
Pointeur destiné à renvoyer un pointeur vers l'objet ProfileData qui vous intéresse.
Renvoie
WEAVE_NO_ERROR en cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR indiquant l'échec de la recherche d'un objet ProfileData correspondant.

LookupProfileData

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

Recherchez un objet ProfileData dans la base de données.

Cette méthode utilitaire permet de rechercher des objets ProfileData dans un objet ProfileDatabase spécifique. Cela dépend en grande partie des méthodes de recherche fournies par le responsable de la mise en œuvre de la sous-classe ProfileDatabase concrète.

Détails
Paramètres
[in] aPathReader
Référence à un lecteur TLV placé sur un chemin WDM (par exemple, un chemin TLV dont le premier élément est une description de profil).
[out] aProfileData
Pointeur destiné à renvoyer un pointeur vers l'objet ProfileData qui vous intéresse.
Renvoie
WEAVE_NO_ERROR en cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR indiquant l'échec de la recherche d'un objet ProfileData correspondant.

LookupProfileData

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

Recherchez un objet ProfileData.

Rechercher un objet ProfileData spécifique à partir d'un ID de profil et d'un ID d'instance (facultatif) fourni en tant que lecteur TLV.

Détails
Paramètres
[in] aProfileId
Numéro de profil 32 bits du profil qui vous intéresse.
[in] aInstanceIdRdr
Un pointeur vers un lecteur TLV positionné sur les données d'identifiant d'instance. Si aucun identifiant d'instance n'a été fourni, la valeur est NULL.
[out] aResult
Pointeur destiné à renvoyer un pointeur vers l'objet ProfileData qui vous intéresse.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant une incapacité à trouver un objet ProfileData.

Récupérer

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  ReferencedTLVData & aDataList
)

Récupérez une liste de données à partir d'une liste de chemins d'accès.

À partir d'une liste de chemins, récupérez une liste de données contenant des éléments de liste de données pour chaque chemin du chemin d'accès et listez les données du terminal de ce chemin.

Détails
Paramètres
[in] aPathList
Référence à un objet ReferencedTLVData contenant une liste de chemins d'accès encodés en TLV représentant les données à récupérer. Ce paramètre reste constant tout au long de l'exécution de cette fonction.
[out] aDataList
Référence à un objet ReferencedTLVData dans lequel écrire les résultats récupérés. La longueur des données n'est ajustée qu'une fois que cette fonction a été exécutée correctement.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR indiquant l'échec de la récupération de la liste de données qui vous intéresse.

Récupérer

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

Rédigez une liste de données en fonction d'une liste de chemins d'accès.

À partir d'une liste de chemins d'accès et d'un rédacteur TLV, créez une liste de données contenant des éléments de liste de données pour chaque chemin de la liste de chemins d'accès, ainsi que les données correspondant au terminal de ce chemin.

Détails
Paramètres
[in] aPathList
Référence à un objet ReferencedTLVData contenant une liste de chemins d'accès TLV représentant les données à récupérer. Ce paramètre reste constant tout au long de l'exécution de cette fonction.
[in] aWriter
Référence au rédacteur TLV à utiliser pour écrire la liste des chemins récupérés. L'état interne du rédacteur peut être irrécupérable en cas d'erreur.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR indiquant un échec de récupération des données ou d'écriture de la liste de données qui vous intéresse.

Boutique

WEAVE_ERROR Store(
  ReferencedTLVData & aDataList
)

Stockez une liste de données.

À partir d'une liste de données encodée au format TLV, cette méthode passe par l'analyse de cette liste et l'appel des méthodes concrètes fournies par les outils d'implémentation de la sous-classe ProfileDatabase pour placer les données référencées à leur place.

Détails
Paramètres
[in] aDataList
Référence à un objet ReferencedTLVData contenant les données d'intérêt encodées en TLV.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR indiquant un échec de stockage des données d'intérêt.

Fonctions protégées

StoreInternal

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