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

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

Una struttura che incapsula l'ID di una risorsa.

Riepilogo

ResourceIdentifier può essere un ID oggetto generalizzato a 64 bit di un tipo specifico o un UUID. Se codificate esternamente sono supportate le seguenti rappresentazioni:

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

una rappresentazione generalizzata codificata come stringa di byte di 10 ottetti. I primi due ottetti codificano il tipo di risorsa come un piccolo numero intero endian a 16 bit, con i restanti 8 byte che codificano il tipo di risorsa endian come piccolo ID risorsa a 64 bit.

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

Costruttori e distruttori

ResourceIdentifier()
Crea un ResourceIdentifier corrispondente a un ResourceID non specificato.
ResourceIdentifier(const uint64_t & aNodeId)
Crea un ResourceIdentifier di tipo DEVICE in base a un determinato aNodeId.
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
Crea il valore ResourceIdentifier del tipo specificato con l'ID specificato.
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
Crea il valore 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 oggetto ResourceIdentifier da una rappresentazione TLV in questo oggetto.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
Deserializza un oggetto ResourceIdentifier da una rappresentazione TLV in questo oggetto.
GetResourceId() const
uint64_t
Una funzione di accesso per recuperare il ResourceId.
GetResourceType() const
uint16_t
Una funzione di accesso per recuperare il valore ResourceType.
ResourceTypeAsString(void) const
const char *
Genera una rappresentazione in formato stringa di ResourceType.
ToString(char *buffer, size_t bufferLen)
Converti il valore ResourceIdentifier in una stringa stampabile.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
Serializza la risorsa in una rappresentazione TLV utilizzando un tag Path::ResourceID di contesto.
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 prenotata.

L'enumerazione viene scelta in modo tale da non entrare in conflitto con i valori enum delle enum Schema::Weave:::Common::ResourceType. Al momento, sono possibili due valori ResourceId per il tipo di risorsa RESERVED: kNodeIdNotSpecified corrisponde a un ResourceIdentifier unitalizzato e SELF_NODE_ID corrisponde a una risorsa che verrà rimappata a 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 queste informazioni, poiché sono ridondanti rispetto all'ID nodo sorgente del dispositivo espresso in Weave. messaggio stesso

@127

 @127

Attributi pubblici

ID risorsa

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 canonica stringa di una risorsa in un oggetto di risorsa. Tieni presente che solo un sottoinsieme di risorse può essere rappresentato come una stringa. In particolare, l'implementazione del riferimento in Weave analizzerà solo le risorse di tipo canonico come espresso nel 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 canonica stringa di una risorsa in un oggetto di risorsa. Tieni presente che solo un sottoinsieme di risorse può essere rappresentato come una stringa. In particolare, l'implementazione del riferimento in Weave analizzerà solo le risorse di tipo canonico come espresso nel 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 oggetto ResourceIdentifier da una rappresentazione TLV in questo oggetto.

Dettagli
Parametri
[in] aReader
Un lettore TLV posizionato sull'elemento ResourceIdentifier
Restituisce
WEAVE_NO_ERROR all'operazione riuscita. Errori da TLVReader se non è possibile leggere correttamente ResourceIdentifier.

FromTLV

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

Deserializza un oggetto 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 su SELF_NODE_ID
Restituisce
WEAVE_NO_ERROR all'operazione riuscita. Errori da TLVReader se non è possibile leggere correttamente ResourceIdentifier.

GetResourceId

uint64_t GetResourceId() const 

Una funzione di accesso per recuperare il ResourceId.

GetResourceType

uint16_t GetResourceType() const 

Una funzione di accesso per recuperare il valore ResourceType.

ResourceIdentifier

 ResourceIdentifier()

Crea un ResourceIdentifier corrispondente a un ResourceID non specificato.

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

ResourceIdentifier

 ResourceIdentifier(
  const uint64_t & aNodeId
)

Crea un 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 il valore ResourceIdentifier del tipo specificato con l'ID specificato.

Dettagli
Parametri
[in] aResourceType
Il tipo di una risorsa a cui assegnare il nome
[in] aResourceId
L'ID della risorsa da denominare

ResourceIdentifier

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

Crea il valore ResourceIdentifier del tipo specificato con l'ID specificato.

Dettagli
Parametri
[in] aResourceType
Il tipo di una risorsa a cui assegnare il nome
[in] aResourceId
L'ID della risorsa da denominare, rappresentata come un array di byte
[in] aResourceIdLen
Lunghezza dell'ID in byte

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

Genera una rappresentazione in formato stringa di ResourceType.

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

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

Converti il valore 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 Path::ResourceID di contesto.

Dettagli
Parametri
[in] aWriter
Un writer TLV per serializzare il 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 il ResourceIdentifier in
[in] aTag
Un tag che chiama il valore 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 il valore 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)