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

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

Struktura zawierająca identyfikator zasobu.

Podsumowanie

Wartość ResourceIdentifier może być uogólnionym 64-bitowym identyfikatorem obiektu określonego typu lub identyfikatorem UUID. Po zakodowaniu zewnętrznie obsługiwane są te reprezentacje:

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

uogólniona reprezentacja zakodowana jako ciąg bajtowy 10 oktetów. Pierwsze dwa oktety kodują typ zasobu jako 16-bitową małą liczbę całkowitą na końcu, a pozostałe 8 bajtów koduje mały 64-bitowy identyfikator zasobu endian.

Parametr ResourceIdentifier jest też zgodny z konwencjami występującymi w kodzie WDM: pusty element ResourceIdentifier odpowiada identyfikatorowi węzła urządzenia DEVICE, a do najpowszechniejszych przypadków używane są konstruktory.

Konstruktorzy i niszczyciele

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

Typy publiczne

@125{
  RESOURCE_TYPE_RESERVED = 0
}
enum | typ wyliczeniowy
@126 enum | typ wyliczeniowy
Definiuje specjalną wartość NodeId odwołującą się do „self”.
@127 enum | typ wyliczeniowy

Atrybuty publiczne

ResourceId
uint64_t
ResourceIdBytes[8]
uint8_t

Funkcje publiczne

FromString(const char *inBuffer, size_t inBufferLen)
Przeanalizuj kanoniczną reprezentację zasobu w postaci ciągu znaków.
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
Przeanalizuj kanoniczną reprezentację zasobu w postaci ciągu znaków.
FromTLV(nl::Weave::TLV::TLVReader & aReader)
Deserializuj element ResourceIdentifier z reprezentacji TLV do tego obiektu.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
Deserializuj element ResourceIdentifier z reprezentacji TLV do tego obiektu.
GetResourceId() const
uint64_t
Funkcja akcesora umożliwiająca pobieranie identyfikatora zasobu.
GetResourceType() const
uint16_t
Funkcja akcesora umożliwiająca pobieranie obiektu ResourceType.
ResourceTypeAsString(void) const
const char *
Wygeneruj w formie ciągu znaków reprezentację obiektu ResourceType.
ToString(char *buffer, size_t bufferLen)
Przekształć ResourceIdentifier w ciąg znaków, który można wydrukować.
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 do reprezentacji TLV za pomocą danego tagu.

Publiczne funkcje statyczne

ResourceTypeAsString(uint16_t aResourceType)
const char *
Wygeneruj ciąg reprezentujący typ zasobu.

Klasy znajomych

operator==
friend bool

Typy publiczne

@125

 @125
Właściwości
RESOURCE_TYPE_RESERVED

Zarezerwowany typ zasobu.

Wyliczenie zostało wybrane tak, aby nie kolidowały z wartościami wyliczeniowymi Schema::Weave:::Common::ResourceType. Obecnie dla typu zasobu RESERVED dostępne są 2 wartości ResourceId: kNodeIdNotSpecified odpowiada jednostkowemu identyfikatorowi ResourceIdentifier, a SELF_NODE_ID odpowiada zasobowi, który zostanie zmapowany na plik SELF z dowolnej innej reprezentacji.

@126

 @126

Definiuje specjalną wartość NodeId odwołującą się do „self”.

W niektórych interakcjach WDM określenie wartości „ego” dla zasobu pozwala skompresować te informacje, ponieważ są one nadmiarowe w stosunku do identyfikatora węzła źródłowego urządzenia określonego w samym komunikacie Weave.

@127

 @127

Atrybuty publiczne

ResourceId

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

Funkcje publiczne

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

Przeanalizuj kanoniczną reprezentację zasobu w postaci ciągu znaków.

Konwertuje kanoniczną reprezentację zasobu w postaci ciągu znaków na obiekt zasobu. Pamiętaj, że tylko podzbiór zasobów może być przedstawiony jako ciąg znaków. W szczególności implementacja plików referencyjnych w Weave analizuje tylko zasoby typów kanonicznych, które są zgodne z zasadą ResourceTypeEnum.

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

FromString

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

Przeanalizuj kanoniczną reprezentację zasobu w postaci ciągu znaków.

Konwertuje kanoniczną reprezentację zasobu w postaci ciągu znaków na obiekt zasobu. Pamiętaj, że tylko podzbiór zasobów może być przedstawiony jako ciąg znaków. W szczególności implementacja plików referencyjnych w Weave analizuje tylko zasoby typów kanonicznych, które są zgodne z zasadą ResourceTypeEnum.

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

FromTLV

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

Deserializuj element ResourceIdentifier z reprezentacji TLV do tego obiektu.

Szczegóły
Parametry
[in] aReader
Czytnik TLV umieszczony w elemencie ResourceIdentifier
Zwroty
Powodzenie: WEAVE_NO_ERROR. Błędy TLVReader, jeśli nie można prawidłowo odczytać identyfikatora ResourceIdentifier.

FromTLV

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

Deserializuj element ResourceIdentifier z reprezentacji TLV do tego obiektu.

Szczegóły
Parametry
[in] aReader
Czytnik TLV umieszczony w elemencie ResourceIdentifier
[in] aSelfNodeId
64-bitowy identyfikator ResourceID, który zostanie zmapowany ze zserializowanej reprezentacji na SELF_NODE_ID
Zwroty
Powodzenie: WEAVE_NO_ERROR. Błędy TLVReader, jeśli nie można prawidłowo odczytać identyfikatora ResourceIdentifier.

GetResourceId

uint64_t GetResourceId() const 

Funkcja akcesora umożliwiająca pobieranie identyfikatora zasobu.

GetResourceType

uint16_t GetResourceType() const 

Funkcja akcesora umożliwiająca pobieranie obiektu ResourceType.

ResourceIdentifier

 ResourceIdentifier()

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

Nieokreślony identyfikator zasobu to krotka zawierająca typ zasobu RESERVED z zasobem kNodeIdNotSpeficied.

ResourceIdentifier

 ResourceIdentifier(
  const uint64_t & aNodeId
)

Zbuduj ResourceIdentifier typu DEVICE na podstawie podanego identyfikatora aNodeId.

Szczegóły
Parametry
[in] aNodeId
NodeId danego identyfikatora zasobu

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

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

Szczegóły
Parametry
[in] aResourceType
Typ zasobu, którego nazwę chcesz nazwać
[in] aResourceId
Identyfikator zasobu, którego nazwę chcesz nazwać

ResourceIdentifier

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

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

Szczegóły
Parametry
[in] aResourceType
Typ zasobu, którego nazwę chcesz nazwać
[in] aResourceId
Identyfikator zasobu o nazwie, który ma być w postaci tablicy bajtów
[in] aResourceIdLen
Długość identyfikatora w bajtach

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

Wygeneruj w formie ciągu znaków reprezentację obiektu ResourceType.

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

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

Przekształć ResourceIdentifier w ciąg znaków, który można wydrukować.

Szczegóły
Parametry
[in] buffer
Bufor do wydrukowania
[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 zserializowany identyfikator ResourceIdentifier w

ToTLV

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

Zserializuj zasób do reprezentacji TLV za pomocą danego tagu.

Szczegóły
Parametry
[in] aWriter
Zapisujący TLV zserializowany identyfikator ResourceIdentifier w
[in] aTag
Tag z zserializowanym identyfikatorem ResourceIdentifier

Publiczne funkcje statyczne

ResourceTypeAsString

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

Wygeneruj ciąg reprezentujący typ zasobu.

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

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

Klasy znajomych

operator==

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