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{
  RESOURCE_TYPE_RESERVED = 0
}
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
[in] inBuffer
Ein Zwischenspeicher mit der zu analysierenden Ressourcen-ID
[in] inBufferLen
Die Länge des zu analysierenden Strings (in Byte)

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
[in] inBuffer
Ein Zwischenspeicher mit der zu analysierenden Ressourcen-ID
[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.

FromTLV

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

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

Details
Parameter
[in] aReader
Ein TLV-Leser, der sich im Element ResourceIdentifier befindet
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
[in] aReader
Ein TLV-Leser, der sich im Element ResourceIdentifier befindet
[in] aSelfNodeId
Eine 64-Bit-ResourceID, die aus der serialisierten Darstellung auf SELF_NODE_ID neu zugeordnet wird
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
[in] aNodeId
NodeId der angegebenen Ressourcen-ID

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

Konstruiert den ResourceIdentifier des angegebenen Typs mit der angegebenen ID.

Details
Parameter
[in] aResourceType
Der Typ einer Ressource, die benannt werden soll
[in] aResourceId
Die ID der Ressource, die benannt werden soll

ResourceIdentifier

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

Konstruiert den ResourceIdentifier des angegebenen Typs mit der angegebenen ID.

Details
Parameter
[in] aResourceType
Der Typ einer Ressource, die benannt werden soll
[in] aResourceId
Die ID der zu benennenden Ressource, dargestellt als ein Array von Byte
[in] aResourceIdLen
Die Länge der ID in Byte.

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
[in] buffer
Einen Puffer, in den gedruckt werden soll
[in] bufferLen
Die Länge des Puffers

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
[in] aWriter
Ein TLV-Schreiber, um den ResourceIdentifier in eine

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
[in] aWriter
Ein TLV-Schreiber, um den ResourceIdentifier in eine
[in] aTag
Ein Tag mit dem Namen des serialisierten ResourceIdentifier

Ö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
[in] aResourceType
Ein Ressourcentyp-Enum, das in eine Stringdarstellung umgewandelt werden soll.

Freundschaftsklassen

Operator==

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