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