nl:: Weave:: Profiles:: DataManagement_Current:: ResourceIdentifier
#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>
Structure encapsulant l'ID d'une ressource.
Résumé
L'identifiant ResourceIdentifier peut être soit un ID d'objet 64 bits généralisé, d'un type particulier, soit un UUID. En cas d'encodage en externe, les représentations suivantes sont acceptées:
entier non signé de 64 bits correspondant à l'objet généralisé de type DEVICE et à l'ID spécifié dans la représentation
une représentation généralisée encodée sous forme de chaîne d’octets de 10 octets. Les deux premiers octets encodent le type de ressource sous la forme d'un entier Little Endian de 16 bits. Les 8 octets restants codent un petit ID de ressource de 64 bits en endian.
Les ResourceIdentifiers reflètent également les conventions présentes dans le code WDM: un ResourceIdentifier vide correspond à l'ID de nœud de l'appareil DEVICE, et des constructeurs sont fournis pour les cas d'utilisation les plus courants.
Constructeurs et destructeurs |
|
---|---|
ResourceIdentifier()
Construit un ResourceIdentifier correspondant à un ResourceID non spécifié.
|
|
ResourceIdentifier(const uint64_t & aNodeId)
Construit un ResourceIdentifier de type DEVICE à partir d'un aNodeId donné.
|
|
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
Construit l'ResourceIdentifier du type spécifié avec l'ID donné.
|
|
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
Construit l'ResourceIdentifier du type spécifié avec l'ID donné.
|
Types publics |
|
---|---|
@125{
|
enum |
@126
|
enum Définit une valeur spéciale pour NodeId qui fait référence à "self". |
@127
|
enum |
Attributs publics |
|
---|---|
ResourceId
|
uint64_t
|
ResourceIdBytes[8]
|
uint8_t
|
Fonctions publiques |
|
---|---|
FromString(const char *inBuffer, size_t inBufferLen)
|
Analyser une représentation de chaîne canonique d'une ressource dans un objet "resource"
|
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
|
Analyser une représentation de chaîne canonique d'une ressource dans un objet "resource"
|
FromTLV(nl::Weave::TLV::TLVReader & aReader)
|
Désérialiser un ResourceIdentifier d'un représentant TLV dans cet objet
|
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
|
Désérialiser un ResourceIdentifier d'un représentant TLV dans cet objet
|
GetResourceId() const
|
uint64_t
Fonction d'accesseur permettant d'extraire l'ID de ressource.
|
GetResourceType() const
|
uint16_t
Fonction d'accesseur pour récupérer le ResourceType.
|
ResourceTypeAsString(void) const
|
const char *
Permet de produire une représentation du type de ressource sous forme de chaîne.
|
ToString(char *buffer, size_t bufferLen)
|
Convertissez ResourceIdentifier en chaîne imprimable.
|
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
|
Sérialisez la ressource en une représentation TLV à l'aide d'une balise de contexte Path::ResourceID.
|
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
|
Sérialiser la ressource en une représentation TLV à l'aide d'une balise donnée
|
Fonctions statiques publiques |
|
---|---|
ResourceTypeAsString(uint16_t aResourceType)
|
const char *
Produire une représentation sous forme de chaîne d'un type de ressource.
|
Cours pour les amis |
|
---|---|
operator==
|
friend bool
|
Types publics
@125
@125
Propriétés | |
---|---|
RESOURCE_TYPE_RESERVED
|
Type de ressource réservé. L'énumération est choisie de sorte qu'elle n'entre pas en conflit avec les valeurs d'énumération des énumérations Schema::Weave:::Common::ResourceType. À l'heure actuelle, deux valeurs ResourceId sont possibles pour le type de ressource RÉSERVÉ: kNodeIdNotSpecified correspond à un ResourceIdentifier unitaire, et SELF_NODE_ID correspond à une ressource qui est remappée sur SELF à partir de toute autre représentation. |
@126
@126
Définit une valeur spéciale pour NodeId qui fait référence à "self".
Dans certaines interactions WDM, le fait d'avoir une valeur "self" pour la ressource permet de compresser cette information, car elle est redondante par rapport à l'identifiant du nœud source de l'appareil exprimé dans le message Weave lui-même.
@127
@127
Attributs publics
ResourceId
uint64_t ResourceId
ResourceIdBytes
uint8_t ResourceIdBytes[8]
Fonctions publiques
FromString
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen )
Analyser une représentation de chaîne canonique d'une ressource dans un objet "resource"
Convertit la représentation canonique d'une ressource sous forme de chaîne en objet ressource. Notez que seul un sous-ensemble de ressources peut être représenté par une chaîne. En particulier, l'implémentation de la référence dans Weave analyse uniquement les ressources de types canoniques, comme indiqué dans ResourceTypeEnum.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
FromString
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId )
Analyser une représentation de chaîne canonique d'une ressource dans un objet "resource"
Convertit la représentation canonique d'une ressource sous forme de chaîne en objet ressource. Notez que seul un sous-ensemble de ressources peut être représenté par une chaîne. En particulier, l'implémentation de la référence dans Weave analyse uniquement les ressources de types canoniques, comme indiqué dans ResourceTypeEnum.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader )
Désérialiser un ResourceIdentifier d'un représentant TLV dans cet objet
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
WEAVE_NO_ERROR en cas de réussite. Erreurs de TLVReader si l'identifiant ResourceIdentifier ne peut pas être lu correctement.
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId )
Désérialiser un ResourceIdentifier d'un représentant TLV dans cet objet
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
WEAVE_NO_ERROR en cas de réussite. Erreurs de TLVReader si l'identifiant ResourceIdentifier ne peut pas être lu correctement.
|
GetResourceId
uint64_t GetResourceId() const
Fonction d'accesseur permettant d'extraire l'ID de ressource.
GetResourceType
uint16_t GetResourceType() const
Fonction d'accesseur pour récupérer le ResourceType.
ResourceIdentifier
ResourceIdentifier()
Construit un ResourceIdentifier correspondant à un ResourceID non spécifié.
L'ID de ressource non spécifié est un tuple constitué d'un type de ressource RÉSERVÉ et d'une ressource kNodeIdNotSpeficied.
ResourceIdentifier
ResourceIdentifier( const uint64_t & aNodeId )
Construit un ResourceIdentifier de type DEVICE à partir d'un aNodeId donné.
Détails | |||
---|---|---|---|
Paramètres |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint64_t & aResourceId )
Construit l'ResourceIdentifier du type spécifié avec l'ID donné.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen )
Construit l'ResourceIdentifier du type spécifié avec l'ID donné.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
ResourceTypeAsString
const char * ResourceTypeAsString( void ) const
Permet de produire une représentation du type de ressource sous forme de chaîne.
Les types de ressources convertis sont ceux énumérés dans ResourceTypeEnum.h et le 0 (correspondant à RESOURCE_TYPE_RESERVED)
ToString
WEAVE_ERROR ToString( char *buffer, size_t bufferLen )
Convertissez ResourceIdentifier en chaîne imprimable.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter ) const
Sérialisez la ressource en une représentation TLV à l'aide d'une balise de contexte Path::ResourceID.
Détails | |||
---|---|---|---|
Paramètres |
|
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag ) const
Sérialiser la ressource en une représentation TLV à l'aide d'une balise donnée
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
Fonctions statiques publiques
ResourceTypeAsString
const char * ResourceTypeAsString( uint16_t aResourceType )
Produire une représentation sous forme de chaîne d'un type de ressource.
Les types de ressources convertis sont ceux énumérés dans ResourceTypeEnum.h et le 0 (correspondant à RESOURCE_TYPE_RESERVED)
Détails | |||
---|---|---|---|
Paramètres |
|
Cours pour les amis
opérateur==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)