nl::Weave::Profiles::DataManagement_Current::ResourceIdentifier

#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>

Struttura che incapsula l'ID di una risorsa.

Riepilogo

L'elemento ResourceIdentifier può essere un ID oggetto generalizzato a 64 bit di un tipo particolare o un UUID. Quando viene codificata esternamente, sono supportate le seguenti rappresentazioni:

un numero intero senza segno a 64 bit corrispondente all'oggetto generalizzato di tipo DEVICE con l'ID specificato nella rappresentazione

una rappresentazione generalizzata codificata come una stringa di byte di 10 ottetti. I primi due ottetti codificano il tipo di risorsa come un numero intero small endian a 16 bit, mentre gli altri 8 byte codificano un ID risorsa piccolo endian a 64 bit.

I ResourceIdentifier incarnano anche le convenzioni presenti in tutto il codice WDM: un valore ResourceIdentifier vuoto corrisponde all'ID nodo del dispositivo DEVICE e vengono forniti costruttori per i casi d'uso più comuni.

Costruttori e distruttori

ResourceIdentifier()
Crea un oggetto ResourceIdentifier corrispondente a un ResourceID non specificato.
ResourceIdentifier(const uint64_t & aNodeId)
Crea un valore ResourceIdentifier di tipo DEVICE in base a un determinato aNodeId.
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
Crea l'elemento ResourceIdentifier del tipo specificato con l'ID specificato.
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
Crea l'elemento ResourceIdentifier del tipo specificato con l'ID specificato.

Tipi pubblici

@125{
  RESOURCE_TYPE_RESERVED = 0
}
enum
@126 enum
Definisce un valore speciale per NodeId che fa riferimento a "self".
@127 enum

Attributi pubblici

ResourceId
uint64_t
ResourceIdBytes[8]
uint8_t

Funzioni pubbliche

FromString(const char *inBuffer, size_t inBufferLen)
Analizza una rappresentazione stringa canonica di una risorsa in un oggetto risorsa.
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
Analizza una rappresentazione stringa canonica di una risorsa in un oggetto risorsa.
FromTLV(nl::Weave::TLV::TLVReader & aReader)
Deserializza un ResourceIdentifier da una rappresentazione TLV in questo oggetto.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
Deserializza un ResourceIdentifier da una rappresentazione TLV in questo oggetto.
GetResourceId() const
uint64_t
Una funzione della funzione di accesso per recuperare il ResourceId.
GetResourceType() const
uint16_t
Una funzione della funzione di accesso per recuperare il ResourceType.
ResourceTypeAsString(void) const
const char *
Genera una rappresentazione stringa del valore ResourceType.
ToString(char *buffer, size_t bufferLen)
Converti ResourceIdentifier in una stringa stampabile.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
Serializza la risorsa in una rappresentazione TLV utilizzando un tag di contesto Path::ResourceID.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
Serializza la risorsa in una rappresentazione TLV utilizzando un determinato tag.

Funzioni statiche pubbliche

ResourceTypeAsString(uint16_t aResourceType)
const char *
Genera una rappresentazione stringa di un tipo di risorsa.

Classi di amici

operator==
friend bool

Tipi pubblici

@125

 @125
Proprietà
RESOURCE_TYPE_RESERVED

Un tipo di risorsa riservata.

L'enum viene scelta in modo che non entri in conflitto con i valori enum delle enumerazioni Schema::Weave:::Common::ResourceType. Al momento, per il tipo di risorsa RESERVED sono possibili due valori ResourceId: kNodeIdNotDetails corrisponde a un ResourceIdentifier unitializzato, mentre SELF_NODE_ID corrisponde a una risorsa che viene rimappata su SELF da qualsiasi altra rappresentazione.

@126

 @126

Definisce un valore speciale per NodeId che fa riferimento a "self".

In alcune interazioni WDM, avere un valore "self" per la risorsa consente di comprimere tali informazioni poiché sono ridondanti nell'ID del nodo di origine del dispositivo espresso nel messaggio Weave stesso.

@127

 @127

Attributi pubblici

ResourceId

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

Funzioni pubbliche

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

Analizza una rappresentazione stringa canonica di una risorsa in un oggetto risorsa.

Converte la rappresentazione stringa canonica di una risorsa in un oggetto risorsa. Tieni presente che solo un sottoinsieme di risorse può essere rappresentato come stringa. In particolare, l'implementazione del riferimento in Weave analizzerà solo le risorse di tipo canonico come indicato in ResourceTypeEnum.

Dettagli
Parametri
[in] inBuffer
Un buffer contenente l'ID risorsa da analizzare
[in] inBufferLen
La lunghezza (in byte) della stringa da analizzare

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen,
  const uint64_t & aSelfNodeId
)

Analizza una rappresentazione stringa canonica di una risorsa in un oggetto risorsa.

Converte la rappresentazione stringa canonica di una risorsa in un oggetto risorsa. Tieni presente che solo un sottoinsieme di risorse può essere rappresentato come stringa. In particolare, l'implementazione del riferimento in Weave analizzerà solo le risorse di tipo canonico come indicato in ResourceTypeEnum.

Dettagli
Parametri
[in] inBuffer
Un buffer contenente l'ID risorsa da analizzare
[in] inBufferLen
La lunghezza (in byte) della stringa da analizzare
[in] aSelfNodeId
L'ID a 64 bit che indica quale ID dispositivo deve essere mappato su un SELF_NODE_ID

FromTLV

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

Deserializza un ResourceIdentifier da una rappresentazione TLV in questo oggetto.

Dettagli
Parametri
[in] aReader
Un lettore TLV posizionato sull'elemento ResourceIdentifier
Restituisce
WEAVE_NO_ERROR in caso di esito positivo. Errori da TLVReader se il valore ResourceIdentifier non può essere letto correttamente.

FromTLV

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

Deserializza un ResourceIdentifier da una rappresentazione TLV in questo oggetto.

Dettagli
Parametri
[in] aReader
Un lettore TLV posizionato sull'elemento ResourceIdentifier
[in] aSelfNodeId
un ResourceID a 64 bit che verrà rimappato dalla rappresentazione serializzata a SELF_NODE_ID
Restituisce
WEAVE_NO_ERROR in caso di esito positivo. Errori da TLVReader se il valore ResourceIdentifier non può essere letto correttamente.

GetResourceId

uint64_t GetResourceId() const 

Una funzione della funzione di accesso per recuperare il ResourceId.

GetResourceType

uint16_t GetResourceType() const 

Una funzione della funzione di accesso per recuperare il ResourceType.

ResourceIdentifier

 ResourceIdentifier()

Crea un oggetto ResourceIdentifier corrispondente a un ResourceID non specificato.

L'ID risorsa non specificato è una tupla costituita da un tipo di risorsa PRENOTATO con una risorsa kNodeIdNotSpeficied.

ResourceIdentifier

 ResourceIdentifier(
  const uint64_t & aNodeId
)

Crea un valore ResourceIdentifier di tipo DEVICE in base a un determinato aNodeId.

Dettagli
Parametri
[in] aNodeId
NodeId dell'ID risorsa specificato

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

Crea l'elemento ResourceIdentifier del tipo specificato con l'ID specificato.

Dettagli
Parametri
[in] aResourceType
Il tipo di risorsa da denominare
[in] aResourceId
L'ID della risorsa da denominare

ResourceIdentifier

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

Crea l'elemento ResourceIdentifier del tipo specificato con l'ID specificato.

Dettagli
Parametri
[in] aResourceType
Il tipo di risorsa da denominare
[in] aResourceId
L'ID della risorsa da denominare, rappresentato come un array di byte
[in] aResourceIdLen
La lunghezza dell'ID in byte.

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

Genera una rappresentazione stringa del valore ResourceType.

I tipi di risorse convertiti sono quelli enumerati in ResourceTypeEnum.h e lo 0 (corrispondente a RESOURCE_TYPE_RESERVED)

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

Converti ResourceIdentifier in una stringa stampabile.

Dettagli
Parametri
[in] buffer
Un buffer in cui stampare
[in] bufferLen
La lunghezza del buffer

ToTLV

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

Serializza la risorsa in una rappresentazione TLV utilizzando un tag di contesto Path::ResourceID.

Dettagli
Parametri
[in] aWriter
Un writer TLV per serializzare ResourceIdentifier in

ToTLV

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

Serializza la risorsa in una rappresentazione TLV utilizzando un determinato tag.

Dettagli
Parametri
[in] aWriter
Un writer TLV per serializzare ResourceIdentifier in
[in] aTag
Un tag che assegna il nome ResourceIdentifier serializzato

Funzioni statiche pubbliche

ResourceTypeAsString

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

Genera una rappresentazione stringa di un tipo di risorsa.

I tipi di risorse convertiti sono quelli enumerati in ResourceTypeEnum.h e lo 0 (corrispondente a RESOURCE_TYPE_RESERVED)

Dettagli
Parametri
[in] aResourceType
Un'enumerazione del tipo di risorsa da convertire in una rappresentazione stringa.

Classi di amici

operatore==

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