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{
|
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 |
|
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 |
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader )
Deserializuj identyfikator ResourceIdentifier z reprezentacji TLV, przenieś go do tego obiektu.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
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 |
|
||||
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 |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint64_t & aResourceId )
Utwórz ResourceIdentifier określonego typu o podanym identyfikatorze.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen )
Utwórz ResourceIdentifier określonego typu o podanym identyfikatorze.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
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 |
|
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 |
|
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 |
|
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 |
|
Klasy znajomych
operator==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)