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

Il s'agit d'une classe abstraite.

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

Classe auxiliaire ProfileDatabase abstraite.

Résumé

WDM sépare l'implémentation du protocole de l'implémentation de la gestion des données et, du moins en principe, c'est le développeur de l'application qui relève la plupart de cette dernière. Tous les appels intéressants dans WDM et toutes les méthodes abstraites dont le développeur de profils doit implémenter sont des listes de chemins ou de données encodées en TLV. Cela alourdit la charge des développeurs de profils et, dans la pratique, entraîne une grande duplication de code en tant que développeur après qu'il a écrit le même code pour empaqueter et décompresser TLV, etc. Pour vous faciliter la tâche, nous fournissons une sorte de "boîte à outils 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érer une liste de données à partir d'une liste de chemins d'accès
Retrieve(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVWriter & aWriter)
Écrire une liste de données à partir d'une liste de chemins d'accès
Store(ReferencedTLVData & aDataList)
Stocker 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 ProfileDatabase particulier. Elle dépend en grande partie des méthodes de recherche fournies par l'outil de mise en œuvre de la sous-classe ProfileDatabase concrète.

Détails
Paramètres
[in] aDescReader
Référence à un lecteur TLV positionné sur un chemin WDM, c'est-à-dire un chemin TLV dont le premier élément correspond à 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, renvoie WEAVE_ERROR indiquant que la recherche d'un objet ProfileData correspondant n'a pas abouti.

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 ProfileDatabase particulier. Elle dépend en grande partie des méthodes de recherche fournies par l'outil de mise en œuvre de la sous-classe ProfileDatabase concrète.

Détails
Paramètres
[in] aPathReader
Référence à un lecteur TLV positionné sur un chemin WDM, c'est-à-dire un chemin TLV dont le premier élément correspond à 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, renvoie WEAVE_ERROR indiquant que la recherche d'un objet ProfileData correspondant n'a pas abouti.

LookupProfileData

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

Recherchez un objet ProfileData.

Recherchez 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
Pointeur vers un lecteur TLV positionné au niveau des données d'identifiant d'instance. Si aucun identifiant d'instance n'a été fourni, la valeur doit être 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 WEAVE_ERROR reflétant l'impossibilité de trouver un objet ProfileData.

Récupérer

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  ReferencedTLVData & aDataList
)

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

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

Détails
Paramètres
[in] aPathList
Référence à un objet ReferencedTLVData contenant une liste de chemins 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'après l'exécution réussie de cette fonction.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR indiquant un échec de la récupération de la liste des données qui vous intéresse.

Récupérer

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

Écrire une liste de données à partir d'une liste de chemins d'accès

À partir d'une liste de chemins et d'un rédacteur TLV, rédigez une liste de données contenant les éléments de chaque chemin de la liste, ainsi que les données qui sont le terminal de ce chemin.

Détails
Paramètres
[in] aPathList
Référence à un objet ReferencedTLVData contenant une liste de chemins 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 WEAVE_ERROR, indiquant que la récupération des données ou l'écriture de la liste de données qui vous intéressent n'ont pas abouti.

Stocker

WEAVE_ERROR Store(
  ReferencedTLVData & aDataList
)

Stocker une liste de données

À partir d'une liste de données encodée en TLV, cette méthode consiste à analyser cette liste et à appeler les méthodes concrètes fournies par les utilisateurs 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 qui vous intéressent, sous forme encodée en TLV.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR indiquant un échec de stockage des données qui vous intéressent.

Fonctions protégées

StoreInternal

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