Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::Weave::Profile::DataManagement_Current::ResourceIdentifier

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

Eine Struktur, die die ID einer Ressource einschließt.

Fazit

Die 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 nicht signierte 64-Bit-Ganzzahl, die dem allgemeinen Objekt des Typs DEVICE mit der in der Darstellung angegebenen ID entspricht

eine allgemeine Darstellung, die als Bytestring mit 10 Oktetten codiert ist Die ersten beiden Oktette codieren den Ressourcentyp als kleine, 16-Bit-Ganzzahl. Die verbleibenden 8 Byte codieren eine kleine 64-Bit-Ressourcen-ID.

Ressourcen-IDs entsprechen außerdem den Konventionen im WDM-Code: Ein leerer ResourceIdentifier entspricht der Knoten-ID des DEVICE. Konstruktoren werden für die gängigsten Anwendungsfälle bereitgestellt.

Konstrukteur und Zerstörer

ResourceIdentifier()
Erstellen Sie einen ResourceIdentifier, der einer unbekannten ResourceID entspricht.
ResourceIdentifier(const uint64_t & aNodeId)
Erstellt einen ResourceIdentifier vom Typ DEVICE auf Grundlage einer bestimmten aNodeId.
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
Erstelle den ResourceIdentifier des angegebenen Typs mit der angegebenen ID.
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
Erstelle den ResourceIdentifier des angegebenen Typs mit der angegebenen ID.

Öffentliche Typen

@125{
  RESOURCE_TYPE_RESERVED = 0
}
enum
@126 enum
Definiert einen Sonderwert 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)
Kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt parsen.
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
Kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt parsen.
FromTLV(nl::Weave::TLV::TLVReader & aReader)
Decodieren Sie einen ResourceIdentifier aus einer TLV-Darstellung in dieses Objekt.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
Decodieren 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)
Wandeln Sie den ResourceIdentifier in einen druckbaren String um.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
Ressourcen mit einem kontextbezogenen Pfad:ResourceID-Tag in eine TLV-Darstellung serialisiert.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
Sie können die Ressource mit einem bestimmten Tag in eine TLV-Darstellung serialisiert.

Öffentliche statische Funktionen

ResourceTypeAsString(uint16_t aResourceType)
const char *
Erstellt eine Stringdarstellung eines Ressourcentyps.

Kurse von Freunden

operator==
friend bool

Öffentliche Typen

@125

 @125
Attribute
RESOURCE_TYPE_RESERVED

Ein reservierter Ressourcentyp.

Die Aufzählung ist so ausgewählt, dass sie nicht mit den Enum-Werten aus dem Schema::Weave:::Common::ResourceType Enums in Konflikt steht. Im Moment sind für den Ressourcentyp RESERVED zwei Ressourcen-ID-Werte möglich: „kNodeIdNotspecified“ entspricht einem integrierten ResourceIdentifier und SELF_NODE_ID einer Ressource, die aus jeder anderen Darstellung auf SELF neu zugeordnet wird.

@126

 @126

Definiert einen Sonderwert für NodeId, der auf 'self' verweist.

Bei bestimmten WDM-Interaktionen lässt sich der Wert „Self“ für die Ressource komprimieren, da er der Quellknoten-ID des Geräts in der Weave-Nachricht selbst redundant ist.

@127

 @127

Öffentliche Attribute

ResourceId

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

Öffentliche Funktionen

Von String

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

Kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt parsen.

Wandelt die kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt um. Beachten Sie, dass nur ein Teil der Ressourcen als String dargestellt werden kann. Insbesondere werden durch die Referenzimplementierung in Weave nur Ressourcen kanonischer Typen wie im ResourceTypeEnum geparst.

Details
Parameter
[in] inBuffer
Ein Puffer mit der Ressourcen-ID, die geparst werden soll
[in] inBufferLen
Die Länge des zu analysierenden Strings in Byte

Von String

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

Kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt parsen.

Wandelt die kanonische Stringdarstellung einer Ressource in ein Ressourcenobjekt um. Beachten Sie, dass nur ein Teil der Ressourcen als String dargestellt werden kann. Insbesondere werden durch die Referenzimplementierung in Weave nur Ressourcen kanonischer Typen wie im ResourceTypeEnum geparst.

Details
Parameter
[in] inBuffer
Ein Puffer mit der Ressourcen-ID, die geparst werden soll
[in] inBufferLen
Die Länge des zu analysierenden Strings in Byte
[in] aSelfNodeId
Die 64-Bit-ID, die angibt, welche Geräte-ID einer SELF_NODE_ID zugeordnet werden soll

Von TLV

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

Decodieren Sie einen ResourceIdentifier aus einer TLV-Darstellung in dieses Objekt.

Details
Parameter
[in] aReader
Ein TLV-Reader für das ResourceIdentifier-Element
Rückgabe
WEAVE_NO_ERROR zu erfolgreich. Fehler von TLVReader, wenn der ResourceIdentifier nicht korrekt gelesen werden kann.

Von TLV

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

Decodieren Sie einen ResourceIdentifier aus einer TLV-Darstellung in dieses Objekt.

Details
Parameter
[in] aReader
Ein TLV-Reader für das ResourceIdentifier-Element
[in] aSelfNodeId
Eine 64-Bit-Ressourcen-ID, die von der serialisierten Darstellung auf SELF_NODE_ID neu zugeordnet wird
Rückgabe
WEAVE_NO_ERROR zu erfolgreich. Fehler von TLVReader, wenn der ResourceIdentifier nicht korrekt gelesen werden kann.

GetResourceId

uint64_t GetResourceId() const 

Eine Zugriffsfunktion zum Abrufen der ResourceId.

Ressourcentyp abrufen

uint16_t GetResourceType() const 

Eine Zugriffsfunktion zum Abrufen des ResourceType.

Ressourcen-ID

 ResourceIdentifier()

Erstellen Sie einen ResourceIdentifier, der einer unbekannten ResourceID entspricht.

Die angegebene Ressourcen-ID ist ein Semikolon, das aus einem RESERVED-Ressourcentyp mit einer kNodeIdNotSpeficied-Ressource besteht.

Ressourcen-ID

 ResourceIdentifier(
  const uint64_t & aNodeId
)

Erstellt einen ResourceIdentifier vom Typ DEVICE auf Grundlage einer bestimmten aNodeId.

Details
Parameter
[in] aNodeId
NodeID der angegebenen Ressourcen-ID

Ressourcen-ID

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

Erstelle den ResourceIdentifier des angegebenen Typs mit der angegebenen ID.

Details
Parameter
[in] aResourceType
Der Typ der zu benennenden Ressource
[in] aResourceId
Die ID der zu benennenden Ressource

Ressourcen-ID

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

Erstelle den ResourceIdentifier des angegebenen Typs mit der angegebenen ID.

Details
Parameter
[in] aResourceType
Der Typ der zu benennenden Ressource
[in] aResourceId
Die ID der zu benennenden Ressource wird als Array von Byte dargestellt.
[in] aResourceIdLen
Die Länge der ID in Byte

Ressourcentyp

const char * ResourceTypeAsString(
  void
) const 

Erstellt eine Stringdarstellung des ResourceType.

Die konvertierten Ressourcentypen sind die in ResourceTypeEnum.h aufgezählten und die 0 (entspricht dem RESOURCE_TYPE_RESERVED)

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

Wandeln Sie den ResourceIdentifier in einen druckbaren String um.

Details
Parameter
[in] buffer
Ein Zwischenspeicher für das Drucken
[in] bufferLen
Die Länge des Zwischenspeichers

ToTLV

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

Ressourcen mit einem kontextbezogenen Pfad:ResourceID-Tag in eine TLV-Darstellung serialisiert.

Details
Parameter
[in] aWriter
Ein TLV-Autor, der ResourceIdentifier in

ToTLV

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

Sie können die Ressource mit einem bestimmten Tag in eine TLV-Darstellung serialisiert.

Details
Parameter
[in] aWriter
Ein TLV-Autor, der ResourceIdentifier in
[in] aTag
Ein Tag, das den serialisierten ResourceIdentifier angibt

Öffentliche statische Funktionen

Ressourcentyp

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

Erstellt eine Stringdarstellung eines Ressourcentyps.

Die konvertierten Ressourcentypen sind die in ResourceTypeEnum.h aufgezählten und die 0 (entspricht dem RESOURCE_TYPE_RESERVED)

Details
Parameter
[in] aResourceType
Ein Ressourcentyp, der in eine Stringdarstellung konvertiert werden soll.

Kurse von Freunden

Operator==

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