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 un ID d'objet généralisé 64 bits d'un type particulier ou un UUID. Lorsqu'elles sont encodées en externe, les représentations suivantes sont acceptées:

Entier de 64 bits non signé correspondant à l'objet généralisé de type DEVICE avec l'ID spécifié dans la représentation

une représentation généralisée encodée sous la forme d'une chaîne d'octets de 10 octets. Les deux premiers octets encodent le type de ressource sous la forme d'un entier small-endian de 16 bits, les 8 octets restants codant un ID de ressource small endian de 64 bits.

Les objets ResourceIdentifiers incorporent également les conventions présentes dans tout le code WDM: un ResourceIdentifier vide correspond à l'ID de nœud de l'APPAREIL, et des constructeurs sont fournis pour les cas d'utilisation les plus courants.

Constructeurs et destructeurs

ResourceIdentifier()
Construisez un identifiant ResourceIdentifier correspondant à un ID de ressource non spécifié.
ResourceIdentifier(const uint64_t & aNodeId)
Construire un ResourceIdentifier de type DEVICE en fonction d'un aNodeId donné.
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
Construisez l'élément ResourceIdentifier du type spécifié avec l'ID donné.
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
Construisez l'identifiant ResourceIdentifier du type spécifié avec l'ID donné.

Types publics

@125{
  RESOURCE_TYPE_RESERVED = 0
}
énum
@126 énum
Définit une valeur spéciale pour NodeId qui fait référence à "self".
@127 énum

Attributs publics

ResourceId
uint64_t
ResourceIdBytes[8]
uint8_t

Fonctions publiques

FromString(const char *inBuffer, size_t inBufferLen)
Analyser une représentation sous forme de chaîne canonique d'une ressource dans un objet ressource.
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
Analyser une représentation sous forme de chaîne canonique d'une ressource dans un objet ressource.
FromTLV(nl::Weave::TLV::TLVReader & aReader)
Désérialiser un identifiant ResourceIdentifier à partir d'une représentation TLV dans cet objet
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
Désérialiser un identifiant ResourceIdentifier à partir d'une représentation TLV dans cet objet
GetResourceId() const
uint64_t
Une fonction d'accesseur pour récupérer le ResourceId.
GetResourceType() const
uint16_t
Fonction d'accesseur permettant d'extraire le ResourceType.
ResourceTypeAsString(void) const
const char *
Produire une représentation sous forme de chaîne de l'élément ResourceType.
ToString(char *buffer, size_t bufferLen)
Convertissez ResourceIdentifier en une chaîne imprimable.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
Sérialisez la ressource dans 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érialisez la ressource dans 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 d'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 RESERVED (RÉSERVÉ) : kNodeIdNotSpecified correspond à un ResourceIdentifier unitaire, et SELF_NODE_ID correspond à une ressource qui sera remappé 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, la valeur "self" pour la ressource permet de compresser ces informations, car elles sont redondantes par rapport à l'ID du nœud source de l'appareil exprimé dans Weave. s'envoyer un message

@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 sous forme de chaîne canonique d'une ressource dans un objet ressource.

Convertit la représentation sous forme de chaîne canonique d'une ressource en objet ressource. Notez que seul un sous-ensemble de ressources peut être représenté sous forme de chaîne. En particulier, l'implémentation de référence dans Weave n'analyse que les ressources de types canoniques tels qu'indiqués 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 sous forme de chaîne canonique d'une ressource dans un objet ressource.

Convertit la représentation sous forme de chaîne canonique d'une ressource en objet ressource. Notez que seul un sous-ensemble de ressources peut être représenté sous forme de chaîne. En particulier, l'implémentation de référence dans Weave n'analyse que les ressources de types canoniques tels qu'indiqués 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 64 bits indiquant l'ID d'appareil à mapper sur un SELF_NODE_ID

FromTLV

WEAVE_ERROR FromTLV(
  nl::Weave::TLV::TLVReader & aReader
)

Désérialiser un identifiant ResourceIdentifier à partir d'une représentation TLV dans cet objet

Détails
Paramètres
[in] aReader
Lecteur TLV positionné sur l'élément ResourceIdentifier
Renvoie
WEAVE_NO_ERROR en cas de réussite. Erreurs de TLVReader si ResourceIdentifier ne peut pas être lu correctement.

FromTLV

WEAVE_ERROR FromTLV(
  nl::Weave::TLV::TLVReader & aReader,
  const uint64_t & aSelfNodeId
)

Désérialiser un identifiant ResourceIdentifier à partir d'une représentation TLV dans cet objet

Détails
Paramètres
[in] aReader
Lecteur TLV positionné sur l'élément ResourceIdentifier
[in] aSelfNodeId
Un ID de ressource de 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 ResourceIdentifier ne peut pas être lu correctement.

GetResourceId

uint64_t GetResourceId() const 

Fonction d'accesseur permettant d'extraire le ResourceId.

GetResourceType

uint16_t GetResourceType() const 

Fonction d'accesseur permettant d'extraire le ResourceType.

ResourceIdentifier

 ResourceIdentifier()

Construisez un identifiant ResourceIdentifier correspondant à un ID de ressource non spécifié.

L'ID de ressource non spécifié est un tuple composé d'un type de ressource RESERVED (RÉSERVÉ) avec une ressource kNodeIdNotSpeficied.

ResourceIdentifier

 ResourceIdentifier(
  const uint64_t & aNodeId
)

Construire un ResourceIdentifier de type DEVICE en fonction 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
)

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

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

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint8_t *aResourceId,
  size_t aResourceIdLen
)

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

Détails
Paramètres
[in] aResourceType
Type d'une ressource à nommer
[in] aResourceId
ID de la ressource à nommer, représenté sous la forme d'un tableau d'octets
[in] aResourceIdLen
Longueur de l'ID en octets

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

Produire une représentation sous forme de chaîne de l'élément ResourceType.

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 une chaîne imprimable.

Détails
Paramètres
[in] buffer
Un tampon dans lequel imprimer
[in] bufferLen
Longueur de la mémoire tampon

ToTLV

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter
) const 

Sérialisez la ressource dans 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'identifiant ResourceIdentifier dans

ToTLV

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter,
  const uint64_t & aTag
) const 

Sérialisez la ressource dans 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'identifiant ResourceIdentifier dans
[in] aTag
Une balise nommant l'identifiant ResourceIdentifier sérialisé

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 du type de ressource à convertir en représentation sous forme de chaîne.

Cours d'amis

opérateur==

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