nl:: Weave:: Profiles:: DataManagement_Current:: ResourceIdentifier
#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>
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 externer Codierung werden die folgenden Darstellungen unterstützt:
Eine 64-Bit-Ganzzahl ohne Vorzeichen, die dem allgemeinen Objekt vom Typ DEVICE mit der in der Darstellung angegebenen ID entspricht
eine generalisierte Darstellung, codiert als Bytestring aus 10 Oktetten. Die ersten beiden Oktette codieren den Ressourcentyp als 16-Bit-Little-Endian-Ganzzahl, während die verbleibenden 8 Byte eine Little-Endian-64-Bit-Ressourcen-ID codieren.
ResourceIdentifiers verkörpern außerdem die Konventionen, die im gesamten WDM-Code gelten: Ein leerer ResourceIdentifier entspricht der Knoten-ID des GERÄTS. Für die häufigsten Anwendungsfälle werden Konstruktoren bereitgestellt.
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 angegebenen aNodeId.
|
|
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)
|
Deserialisiert einen ResourceIdentifier aus einer TLV-Darstellung in dieses Objekt.
|
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
|
Deserialisiert 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 *
Erzeugt eine Stringdarstellung des ResourceType.
|
ToString(char *buffer, size_t bufferLen)
|
Konvertieren Sie den ResourceIdentifier in einen druckbaren String.
|
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
|
Serialisiert die Ressource mithilfe eines Path::ResourceID-Kontext-Tags in eine TLV-Darstellung.
|
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
|
Serialisiert die Ressource mithilfe eines bestimmten Tags in eine TLV-Darstellung.
|
Öffentliche statische Funktionen |
|
---|---|
ResourceTypeAsString(uint16_t aResourceType)
|
const char *
Erstellen Sie eine Stringdarstellung eines Ressourcentyps.
|
Kurse für Freunde |
|
---|---|
operator==
|
friend bool
|
Öffentliche Typen
@125
@125
Attribute | |
---|---|
RESOURCE_TYPE_RESERVED
|
Ein reservierter Ressourcentyp. Die Aufzählung wird so gewählt, dass sie nicht mit den Aufzählungswerten aus den Schema::Weave:::Common::ResourceType-Enums in Konflikt steht. Derzeit sind zwei ResourceId-Werte für den Ressourcentyp RESERVED möglich: kNodeIdNotRequested entspricht einem unitialisierten ResourceIdentifier und SELF_NODE_ID entspricht einer Ressource, die aus einer anderen Darstellung in 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" für die Ressource die Komprimierung dieser Informationen, da sie zur Quellknoten-ID des in Weave ausgedrückten Geräts redundant ist. Nachricht selbst
@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.
Konvertiert die kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt. Beachten Sie, dass nur eine Teilmenge von Ressourcen als String dargestellt werden kann. Insbesondere die Referenzimplementierung in Weave parst nur Ressourcen von kanonischen Typen, wie im 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.
Konvertiert die kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt. Beachten Sie, dass nur eine Teilmenge von Ressourcen als String dargestellt werden kann. Insbesondere die Referenzimplementierung in Weave parst nur Ressourcen von kanonischen Typen, wie im ResourceTypeEnum angegeben.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader )
Deserialisiert einen ResourceIdentifier aus einer TLV-Darstellung in dieses Objekt.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg. Fehler von TLVReader, wenn ResourceIdentifier nicht richtig gelesen werden kann
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId )
Deserialisiert einen ResourceIdentifier aus einer TLV-Darstellung in dieses Objekt.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg. Fehler von 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 einem RESERVED-Ressourcentyp mit einer Ressource vom Typ „kNodeIdNotSpeficied“ besteht.
ResourceIdentifier
ResourceIdentifier( const uint64_t & aNodeId )
Konstruiert einen ResourceIdentifier vom Typ DEVICE basierend auf einer angegebenen aNodeId.
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
Erzeugt eine Stringdarstellung des ResourceType.
Die konvertierten Ressourcentypen sind die in ResourceTypeEnum.h aufgelisteten Ressourcentypen und die 0 (entsprechend RESOURCE_TYPE_RESERVED)
ZuString
WEAVE_ERROR ToString( char *buffer, size_t bufferLen )
Konvertieren Sie den ResourceIdentifier in einen druckbaren String.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter ) const
Serialisiert die Ressource mithilfe eines Path::ResourceID-Kontext-Tags in eine TLV-Darstellung.
Details | |||
---|---|---|---|
Parameter |
|
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag ) const
Serialisiert die Ressource mithilfe eines bestimmten Tags in eine TLV-Darstellung.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Öffentliche statische Funktionen
ResourceTypeAsString
const char * ResourceTypeAsString( uint16_t aResourceType )
Erstellen Sie eine Stringdarstellung eines Ressourcentyps.
Die konvertierten Ressourcentypen sind die in ResourceTypeEnum.h enumerierten und die 0 (entsprechend RESOURCE_TYPE_RESERVED)
Details | |||
---|---|---|---|
Parameter |
|
Kurse für Freunde
Operator==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)