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{
  RESOURCE_TYPE_RESERVED = 0
}
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
[in] inBuffer
Un tampon contenant l'ID de ressource à analyser
[in] inBufferLen
Longueur (en octets) de la chaîne à analyser.

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
[in] inBuffer
Un tampon contenant l'ID de ressource à analyser
[in] inBufferLen
Longueur (en octets) de la chaîne à analyser.
[in] aSelfNodeId
ID de 64 bits qui indique l'ID d'appareil à mapper à un SELF_NODE_ID

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
[in] aReader
Un lecteur TLV positionné sur l'élément ResourceIdentifier
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
[in] aReader
Un lecteur TLV positionné sur l'élément ResourceIdentifier
[in] aSelfNodeId
Un ResourceID 64 bits qui sera remappé à partir de la représentation sérialisée sur SELF_NODE_ID
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
[in] aNodeId
NodeId de l'ID de ressource donné

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

Construit l'ResourceIdentifier du type spécifié avec l'ID donné.

Détails
Paramètres
[in] aResourceType
Type de ressource à nommer
[in] aResourceId
ID de la ressource à nommer

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
[in] aResourceType
Type de ressource à nommer
[in] aResourceId
ID de la ressource à nommer représenté par un tableau d'octets
[in] aResourceIdLen
Longueur de l'ID en octets

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
[in] buffer
Un tampon dans lequel imprimer
[in] bufferLen
Longueur du tampon

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
[in] aWriter
Un rédacteur TLV pour sérialiser l'ResourceIdentifier dans

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
[in] aWriter
Un rédacteur TLV pour sérialiser l'ResourceIdentifier dans
[in] aTag
Une balise nommée ResourceIdentifier sérialisée

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
[in] aResourceType
Énumération de type de ressource à convertir en représentation de chaîne.

Cours pour les amis

opérateur==

friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)