nl:: Weave:: Profiles:: DataManagement_Current:: ResourceIdentifier
#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>
Eine Struktur, die die ID einer Ressource einschließt.
Zusammenfassung
Der ResourceIdentifier kann entweder eine allgemeine 64-Bit-Objekt-ID eines bestimmten Typs oder eine UUID sein. Bei der externen Codierung werden die folgenden Darstellungen unterstützt:
eine vorzeichenlose 64-Bit-Ganzzahl, die dem allgemeinen Objekt vom Typ DEVICE mit der in der Darstellung angegebenen ID entspricht
eine allgemeine Darstellung, codiert als Bytestring aus 10 Oktetten. Die ersten beiden Oktette codieren den Ressourcentyp als Little-Endian-Ganzzahl mit 16 Bit. Die verbleibenden 8 Byte codieren eine Little-Endian-64-Bit-Ressourcen-ID.
ResourceIdentifiers beinhaltet auch die im WDM-Code vorhandenen Konventionen: Ein leeres ResourceIdentifier entspricht der Knoten-ID des GERÄTS und für die häufigsten Anwendungsfälle werden Konstruktoren angegeben.
Konstruktoren und Zerstörer |
|
---|---|
ResourceIdentifier()
Erstellen Sie einen ResourceIdentifier, der einer nicht angegebenen ResourceID entspricht.
|
|
ResourceIdentifier(const uint64_t & aNodeId)
Konstruiert einen ResourceIdentifier vom Typ DEVICE basierend auf einer bestimmten NodeId.
|
|
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
Konstruiert den ResourceIdentifier des angegebenen Typs mit der angegebenen ID.
|
|
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
Konstruiert den ResourceIdentifier des angegebenen Typs mit der angegebenen ID.
|
Öffentliche Typen |
|
---|---|
@125{
|
enum |
@126
|
enum Definiert einen speziellen Wert für NodeId, der auf "self" verweist. |
@127
|
enum |
Öffentliche Attribute |
|
---|---|
ResourceId
|
uint64_t
|
ResourceIdBytes[8]
|
uint8_t
|
Öffentliche Funktionen |
|
---|---|
FromString(const char *inBuffer, size_t inBufferLen)
|
Parst eine kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt.
|
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
|
Parst eine kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt.
|
FromTLV(nl::Weave::TLV::TLVReader & aReader)
|
Deserialisieren Sie einen ResourceIdentifier aus einer TLV-Darstellung in dieses Objekt.
|
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
|
Deserialisieren Sie einen ResourceIdentifier aus einer TLV-Darstellung in dieses Objekt.
|
GetResourceId() const
|
uint64_t
Eine Zugriffsfunktion zum Abrufen der ResourceId.
|
GetResourceType() const
|
uint16_t
Eine Zugriffsfunktion zum Abrufen des ResourceType.
|
ResourceTypeAsString(void) const
|
const char *
Erstellt eine Stringdarstellung des ResourceType.
|
ToString(char *buffer, size_t bufferLen)
|
Konvertieren Sie ResourceIdentifier in einen druckbaren String.
|
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
|
Serialisieren Sie die Ressource mithilfe eines Pfads::ResourceID-Tags in einer TLV-Darstellung.
|
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
|
Serialisieren Sie die Ressource mithilfe eines bestimmten Tags zu einer TLV-Darstellung.
|
Öffentliche statische Funktionen |
|
---|---|
ResourceTypeAsString(uint16_t aResourceType)
|
const char *
Erzeugt eine Stringdarstellung eines Ressourcentyps.
|
Freundschaftsklassen |
|
---|---|
operator==
|
friend bool
|
Öffentliche Typen
@125
@125
Attribute | |
---|---|
RESOURCE_TYPE_RESERVED
|
Ein reservierter Ressourcentyp. Die Enum wird so gewählt, dass sie nicht mit den enum-Werten aus den Schema::Weave:::Common::ResourceType enums in Konflikt steht. Derzeit sind für den Ressourcentyp RESERVED (RESERVIERT) zwei ResourceId-Werte möglich: kNodeIdNotSpecifics entspricht einem einheitlichen ResourceIdentifier und SELF_NODE_ID einer Ressource, die von einer beliebigen anderen Darstellung SELF neu zugeordnet wird. |
@126
@126
Definiert einen speziellen Wert für NodeId, der auf "self" verweist.
Bei bestimmten WDM-Interaktionen ermöglicht der Wert „self“ (selbst) für „resource“ (Ressource) das Komprimieren dieser Informationen, da sie für die Quellknoten-ID des Geräts redundant sind, da sie in der Weave-Nachricht selbst angegeben ist.
@127
@127
Öffentliche Attribute
ResourceId
uint64_t ResourceId
ResourceIdBytes
uint8_t ResourceIdBytes[8]
Öffentliche Funktionen
FromString
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen )
Parst eine kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt.
Wandelt die kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt um. Beachten Sie, dass nur ein Teil der Ressourcen als String dargestellt werden kann. Insbesondere die Referenzimplementierung in Weave parst nur Ressourcen kanonischer Typen, wie in ResourceTypeEnum angegeben.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
FromString
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId )
Parst eine kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt.
Wandelt die kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt um. Beachten Sie, dass nur ein Teil der Ressourcen als String dargestellt werden kann. Insbesondere die Referenzimplementierung in Weave parst nur Ressourcen kanonischer Typen, wie in ResourceTypeEnum angegeben.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader )
Deserialisieren Sie einen ResourceIdentifier aus einer TLV-Darstellung in dieses Objekt.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg. Fehler aus TLVReader, wenn ResourceIdentifier nicht richtig gelesen werden kann
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId )
Deserialisieren Sie einen ResourceIdentifier aus einer TLV-Darstellung in dieses Objekt.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg. Fehler aus TLVReader, wenn ResourceIdentifier nicht richtig gelesen werden kann
|
GetResourceId
uint64_t GetResourceId() const
Eine Zugriffsfunktion zum Abrufen der ResourceId.
GetResourceType
uint16_t GetResourceType() const
Eine Zugriffsfunktion zum Abrufen des ResourceType.
ResourceIdentifier
ResourceIdentifier()
Erstellen Sie einen ResourceIdentifier, der einer nicht angegebenen ResourceID entspricht.
Die nicht angegebene Ressourcen-ID ist ein Tupel, das aus dem Ressourcentyp RESERVED mit der Ressource kNodeIdNotSpeficied besteht.
ResourceIdentifier
ResourceIdentifier( const uint64_t & aNodeId )
Konstruiert einen ResourceIdentifier vom Typ DEVICE basierend auf einer bestimmten NodeId.
Details | |||
---|---|---|---|
Parameter |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint64_t & aResourceId )
Konstruiert den ResourceIdentifier des angegebenen Typs mit der angegebenen ID.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen )
Konstruiert den ResourceIdentifier des angegebenen Typs mit der angegebenen ID.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
ResourceTypeAsString
const char * ResourceTypeAsString( void ) const
Erstellt eine Stringdarstellung des ResourceType.
Die konvertierten Ressourcentypen sind die in ResourceTypeEnum.h aufgezählten Ressourcentypen und die 0 (entspricht RESOURCE_TYPE_RESERVED)
ToString
WEAVE_ERROR ToString( char *buffer, size_t bufferLen )
Konvertieren Sie ResourceIdentifier in einen druckbaren String.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter ) const
Serialisieren Sie die Ressource mithilfe eines Pfads::ResourceID-Tags in einer TLV-Darstellung.
Details | |||
---|---|---|---|
Parameter |
|
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag ) const
Serialisieren Sie die Ressource mithilfe eines bestimmten Tags zu einer TLV-Darstellung.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Öffentliche statische Funktionen
ResourceTypeAsString
const char * ResourceTypeAsString( uint16_t aResourceType )
Erzeugt eine Stringdarstellung eines Ressourcentyps.
Die konvertierten Ressourcentypen sind die in ResourceTypeEnum.h aufgezählten Ressourcentypen und die 0 (entspricht RESOURCE_TYPE_RESERVED)
Details | |||
---|---|---|---|
Parameter |
|
Freundschaftsklassen
Operator==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)