nl::Weave::Profiles::DataManagement_Current::ResourceIdentifier

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

Struktura zawierająca identyfikator zasobu.

Podsumowanie

ResourceIdentifier może być uogólnionym 64-bitowym identyfikatorem obiektu określonego typu lub UUID. W przypadku kodowania zewnętrznie obsługiwane są następujące reprezentacje:

nieoznaczona 64-bitowa liczba całkowita odpowiadająca uogólnionemu obiektowi typu DEVICE o identyfikatorze określonym w reprezentacji

to uogólniona reprezentacja zakodowana jako ciąg bajtów 10 oktetów. Pierwsze 2 oktety kodują typ zasobu w postaci 16-bitowej małej liczby całkowitej końcowej, przy czym pozostałe 8 bajtów jest kodowane jako mały, 64-bitowy identyfikator zasobu.

ResourceIdentifiers uwidaczniają też konwencje obecne w kodzie WDM: pusty ResourceIdentifier odpowiada identyfikatorowi węzła urządzenia DEVICE, a dla najczęstszych zastosowań dostarczamy konstruktory.

Konstruktory i niszczyciele

ResourceIdentifier()
Utwórz ResourceIdentifier odpowiadający nieokreślonemu identyfikatorowi ResourceID.
ResourceIdentifier(const uint64_t & aNodeId)
Utwórz ResourceIdentifier typu DEVICE na podstawie podanego identyfikatora aNodeId.
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
Utwórz ResourceIdentifier określonego typu o podanym identyfikatorze.
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
Utwórz ResourceIdentifier określonego typu o podanym identyfikatorze.

Typy publiczne

@125{
  RESOURCE_TYPE_RESERVED = 0
}
enum | typ wyliczeniowy
@126 enum | typ wyliczeniowy
Określa specjalną wartość identyfikatora NodeId, który odnosi się do wartości „self”.
@127 enum | typ wyliczeniowy

Atrybuty publiczne

ResourceId
uint64_t
ResourceIdBytes[8]
uint8_t

Funkcje publiczne

FromString(const char *inBuffer, size_t inBufferLen)
Przekształcanie kanonicznego ciągu znaków w obiekcie zasobu w postaci obiektu.
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
Przekształcanie kanonicznego ciągu znaków w obiekcie zasobu w postaci obiektu.
FromTLV(nl::Weave::TLV::TLVReader & aReader)
Deserializuj identyfikator ResourceIdentifier z reprezentacji TLV, przenieś go do tego obiektu.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
Deserializuj identyfikator ResourceIdentifier z reprezentacji TLV, przenieś go do tego obiektu.
GetResourceId() const
uint64_t
Funkcja akcesora do pobierania identyfikatora zasobu.
GetResourceType() const
uint16_t
Funkcja akcesora do pobierania obiektu ResourceType.
ResourceTypeAsString(void) const
const char *
Podaj atrybut ResourceType w postaci ciągu.
ToString(char *buffer, size_t bufferLen)
Przekonwertuj ResourceIdentifier na ciąg możliwy do wydrukowania.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
Zserializuj zasób do reprezentacji TLV za pomocą tagu kontekstu Path::ResourceID.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
Zserializuj zasób jako reprezentację TLV, używając podanego tagu.

Publiczne funkcje statyczne

ResourceTypeAsString(uint16_t aResourceType)
const char *
Utwórz reprezentację typu zasobu w postaci ciągu.

Klasy znajomych

operator==
friend bool

Typy publiczne

@125

 @125
Właściwości
RESOURCE_TYPE_RESERVED

Zarezerwowany typ zasobu.

Wyliczenie jest wybierane w taki sposób, aby nie kolidowało z wartościami wyliczeniowymi zawartych w wyliczeniach Schema::Weave:::Common::ResourceType. Obecnie dla typu zasobu RESERVED dostępne są 2 wartości ResourceId: element kNodeIdNotSpecified odnosi się do zjednoczonego identyfikatora ResourceIdentifier, a SELF_NODE_ID odpowiada zasobowi, który zostanie zmapowany na SELF z dowolnej innej reprezentacji.

@126

 @126

Określa specjalną wartość identyfikatora NodeId, który odnosi się do wartości „self”.

W przypadku niektórych interakcji WDM określenie „ja” dla zasobu pozwala skompresować tę informację, ponieważ jest ona nadmiarowa względem identyfikatora węzła źródłowego urządzenia wyrażonego w Weave. sam komunikat

@127

 @127

Atrybuty publiczne

Identyfikator zasobu

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

Funkcje publiczne

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

Przekształcanie kanonicznego ciągu znaków w obiekcie zasobu w postaci obiektu.

Konwertuje kanoniczną reprezentację zasobu w postaci ciągu znaków w obiekt zasobu. Pamiętaj, że tylko część zasobów może być przedstawiona w postaci ciągu znaków. W szczególności implementacja referencyjna w Weave analizuje zasoby tylko typu kanonicznego zgodnie z wartością typu ResourceTypeEnum.

Szczegóły
Parametry
[in] inBuffer
Bufor zawierający identyfikator zasobu do analizy
[in] inBufferLen
Długość ciągu (w bajtach) do analizy

FromString

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

Przekształcanie kanonicznego ciągu znaków w obiekcie zasobu w postaci obiektu.

Konwertuje kanoniczną reprezentację zasobu w postaci ciągu znaków w obiekt zasobu. Pamiętaj, że tylko część zasobów może być przedstawiona w postaci ciągu znaków. W szczególności implementacja referencyjna w Weave analizuje zasoby tylko typu kanonicznego zgodnie z wartością typu ResourceTypeEnum.

Szczegóły
Parametry
[in] inBuffer
Bufor zawierający identyfikator zasobu do analizy
[in] inBufferLen
Długość ciągu (w bajtach) do analizy
[in] aSelfNodeId
64-bitowy identyfikator określający identyfikator urządzenia, który należy zmapować na identyfikator SELF_NODE_ID

FromTLV

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

Deserializuj identyfikator ResourceIdentifier z reprezentacji TLV, przenieś go do tego obiektu.

Szczegóły
Parametry
[in] aReader
Czytnik TLV umieszczony w elemencie ResourceIdentifier
Zwroty
WEAVE_NO_ERROR w przypadku powodzenia. Błędy modułu TLVReader, jeśli nie można poprawnie odczytać identyfikatora ResourceIdentifier.

FromTLV

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

Deserializuj identyfikator ResourceIdentifier z reprezentacji TLV, przenieś go do tego obiektu.

Szczegóły
Parametry
[in] aReader
Czytnik TLV umieszczony w elemencie ResourceIdentifier
[in] aSelfNodeId
64-bitowy identyfikator zasobu, który zostanie odwzorowany z serializowanej reprezentacji na identyfikator SELF_NODE_ID
Zwroty
WEAVE_NO_ERROR w przypadku powodzenia. Błędy modułu TLVReader, jeśli nie można poprawnie odczytać identyfikatora ResourceIdentifier.

GetResourceId

uint64_t GetResourceId() const 

Funkcja akcesora do pobierania identyfikatora zasobu.

GetResourceType

uint16_t GetResourceType() const 

Funkcja akcesora do pobierania obiektu ResourceType.

ResourceIdentifier

 ResourceIdentifier()

Utwórz ResourceIdentifier odpowiadający nieokreślonemu identyfikatorowi ResourceID.

Nieokreślony identyfikator zasobu to krotka składająca się z typu zasobu RESERVED i zasobu kNodeIdNotSpeficied.

ResourceIdentifier

 ResourceIdentifier(
  const uint64_t & aNodeId
)

Utwórz ResourceIdentifier typu DEVICE na podstawie podanego identyfikatora aNodeId.

Szczegóły
Parametry
[in] aNodeId
Identyfikator węzła o podanym identyfikatorze zasobu

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

Utwórz ResourceIdentifier określonego typu o podanym identyfikatorze.

Szczegóły
Parametry
[in] aResourceType
Typ zasobu, który ma zostać nazwany
[in] aResourceId
Identyfikator zasobu, któremu chcesz nadać nazwę

ResourceIdentifier

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

Utwórz ResourceIdentifier określonego typu o podanym identyfikatorze.

Szczegóły
Parametry
[in] aResourceType
Typ zasobu, który ma zostać nazwany
[in] aResourceId
Identyfikator zasobu do nadania przedstawiony w postaci tablicy bajtów
[in] aResourceIdLen
Długość identyfikatora w bajtach

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

Podaj atrybut ResourceType w postaci ciągu.

Przekonwertowane typy zasobów to te wymienione w ResourceTypeEnum.h i wartości 0 (odpowiadają RESOURCE_TYPE_RESERVED)

Ciąg

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

Przekonwertuj ResourceIdentifier na ciąg możliwy do wydrukowania.

Szczegóły
Parametry
[in] buffer
Bufor do drukowania
[in] bufferLen
Długość bufora

ToTLV

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

Zserializuj zasób do reprezentacji TLV za pomocą tagu kontekstu Path::ResourceID.

Szczegóły
Parametry
[in] aWriter
Zapisujący TLV do zserializacji parametru ResourceIdentifier w

ToTLV

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

Zserializuj zasób jako reprezentację TLV, używając podanego tagu.

Szczegóły
Parametry
[in] aWriter
Zapisujący TLV do zserializacji parametru ResourceIdentifier w
[in] aTag
Tag nazywający zserializowany identyfikator ResourceIdentifier

Publiczne funkcje statyczne

ResourceTypeAsString

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

Utwórz reprezentację typu zasobu w postaci ciągu.

Przekonwertowane typy zasobów to te wymienione w ResourceTypeEnum.h i wartości 0 (odpowiadają RESOURCE_TYPE_RESERVED)

Szczegóły
Parametry
[in] aResourceType
Enum typów zasobów do przekonwertowania na reprezentację ciągu znaków.

Klasy znajomych

operator==

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