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{
  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)
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
[in] inBuffer
Ein Zwischenspeicher, der die zu parsende Ressourcen-ID enthält
[in] inBufferLen
Die Länge (in Byte) des zu parsenden Strings

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
[in] inBuffer
Ein Zwischenspeicher, der die zu parsende Ressourcen-ID enthält
[in] inBufferLen
Die Länge (in Byte) des zu parsenden Strings
[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
)

Deserialisiert einen ResourceIdentifier aus einer TLV-Darstellung in dieses Objekt.

Details
Parameter
[in] aReader
TLV-Leser im ResourceIdentifier-Element
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
[in] aReader
TLV-Leser im ResourceIdentifier-Element
[in] aSelfNodeId
Eine 64-Bit-ResourceID, die von der serialisierten Darstellung in SELF_NODE_ID neu zugeordnet wird
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
[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 zu benennenden Ressource

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, die als Array von Byte dargestellt wird
[in] aResourceIdLen
Die Länge der ID in Byte

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
[in] buffer
Ein Zwischenspeicher, in den gedruckt werden soll
[in] bufferLen
Die Länge des Zwischenspeichers

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
[in] aWriter
Einen TLV-Schreiber, der den ResourceIdentifier serialisiert:

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

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

Kurse für Freunde

Operator==

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