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{
|
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 |
|
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 |
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader )
Deserializza un ResourceIdentifier da una rappresentazione TLV in questo oggetto.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
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 |
|
||||
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 |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint64_t & aResourceId )
Crea l'elemento ResourceIdentifier del tipo specificato con l'ID specificato.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
Classi di amici
operatore==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)