nl:: Weave:: Profiles:: ReferencedTLVData
#include <src/lib/profiles/common/WeaveMessage.h>
Musimy też mieć możliwość reprezentowania dużego, starego zbioru danych TLV.
Podsumowanie
Dziedziczenie
Dziedziczy z: nl::Weave::Profiles::RetainedPacketBuffer
Konstruktorzy i niszczyciele |
|
---|---|
ReferencedTLVData(void)
-------------- definicje danych TLV --------------
|
Typy publiczne |
|
---|---|
TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
|
typedefvoid(*
|
Atrybuty publiczne |
|
---|---|
theData
|
uint8_t *
|
theLength
|
uint16_t
|
theMaxLength
|
uint16_t
|
Funkcje publiczne |
|
---|---|
free(void)
|
void
Uwolnij obiekt ReferencedTLVData, czyli anuluj jego definicję.
|
init(System::PacketBuffer *aBuffer)
|
Zainicjuj obiekt ReferencedTLVData z danym obiektem PacketBuffer.
|
init(MessageIterator & i)
|
Zainicjuj obiekt ReferencedTLVData z użyciem funkcji MessageIterator.
|
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
|
Zainicjuj ReferencedTLVObject z użyciem ciągu bajtów.
|
init(TLVWriteCallback aWriteCallback, void *anAppState)
|
Zainicjuj obiekt RefererencedTLVData z użyciem funkcji wywołania zwrotnego.
|
isEmpty(void)
|
bool
Sprawdź, czy w obiekcie ReferencedTLVData coś się znajduje.
|
isFree(void)
|
bool
Sprawdź, czy obiekt ReferencedTLVData jest „bezpłatny”, tzn.
|
operator==(const ReferencedTLVData &) const
|
bool
Sprawdź zgodność obiektu ReferencedTLVData z innym obiektem pod kątem równości.
|
pack(System::PacketBuffer *buff)
|
Spakuj obiekt ReferencedTLVData bezpośrednio do pliku PacketBuffer.
|
pack(MessageIterator & i, uint32_t maxLen)
|
|
packedLength(void)
|
uint16_t
Zwraca długość danych przy założeniu, że obiekt został zapakowany do bufora.
|
Publiczne funkcje statyczne |
|
---|---|
parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
|
Przeanalizuj obiekt ReferencedTLVData z dostarczonego pakietu PacketBuffer.
|
parse(MessageIterator & i, ReferencedTLVData & aTarget)
|
Przeanalizuj obiekt ReferencedTLVData z dostarczonego obiektu MessageIterator.
|
Typy publiczne
TLVWriteCallback
void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
Atrybuty publiczne
theData
uint8_t * theData
theLength
uint16_t theLength
theMaxLength
uint16_t theMaxLength
Funkcje publiczne
ReferencedTLVData
ReferencedTLVData( void )
init
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
Zainicjuj obiekt ReferencedTLVData z danym obiektem PacketBuffer.
Zainicjuj obiekt ReferencedTLVData z buforem pełnym TLV. Zakładamy tutaj, że bufor zawiera TYLKO TLV.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwracane wartości |
|
init
WEAVE_ERROR init( MessageIterator & i )
Zainicjuj obiekt ReferencedTLVData z użyciem funkcji MessageIterator.
Zainicjuj obiekt ReferencedTLVData z użyciem funkcji MessageIterator. W tym przypadku TLV to ostatnia część bufora i przekazujemy kierujący do niej iterator wiadomości.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwracane wartości |
|
init
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
Zainicjuj ReferencedTLVObject z użyciem ciągu bajtów.
Zainicjuj obiekt ReferencedTLVData za pomocą ciągu bajtów zawierającego TLV. Ten inicjator jest używany w przypadku braku pakietu PacketrBuffer, ponieważ tworzymy taki inicjator do pakowania i wysyłania.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
init
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
Zainicjuj obiekt RefererencedTLVData z użyciem funkcji wywołania zwrotnego.
Zainicjuj obiekt ReferencedTLVData. Zamiast wyraźnie udostępniać dane, ta wersja udostępnia funkcję, wywołanie zwrotne zapisu i obiekt referencyjny, który jest przekazywany do niej wraz z obiektem TLVWriter, gdy wspomniane dane powinny zostać spakowane i wysyłane. Podpis tego wywołania zwrotnego to:
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
isEmpty
bool isEmpty( void )
Sprawdź, czy w obiekcie ReferencedTLVData coś się znajduje.
Obiekt może „mieć” coś na 2 sposoby. Może mieć 0 długości LUB nie zawierać wywołania zwrotnego zapisu.
Szczegóły | |
---|---|
Zwroty |
Wartość true, jeśli zbiór danych ma 0 długości lub nie ma dostępnego wywołania zwrotnego zapisu, w przeciwnym razie ma wartość fałsz.
|
isFree
bool isFree( void )
Sprawdź, czy obiekt ReferencedTLVData jest „bezpłatny”, tzn.
nie zdefiniowano.
Szczegóły | |
---|---|
Zwroty |
Wartość true, jeśli obiekt jest niezdefiniowany, w przeciwnym razie ma wartość false.
|
operator==
bool operator==( const ReferencedTLVData & ) const
Sprawdź zgodność obiektu ReferencedTLVData z innym obiektem pod kątem równości.
Ma to sens tylko wtedy, gdy dwa obiekty mają rzeczywiste dane oparte na buforze lub ciągu znaków.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
paczka
WEAVE_ERROR pack( System::PacketBuffer *buff )
Spakuj obiekt ReferencedTLVData bezpośrednio do pliku PacketBuffer.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
błąd WEAVE_ERROR odzwierciedlający sukces wywołania pakietu.
|
paczka
WEAVE_ERROR pack( MessageIterator & i, uint32_t maxLen )
packedLength
uint16_t packedLength( void )
Zwraca długość danych przy założeniu, że obiekt został zapakowany do bufora.
Szczegóły | |
---|---|
Zwroty |
całkowita długość spakowanych danych.
|
Publiczne funkcje statyczne
parse
WEAVE_ERROR parse( System::PacketBuffer *buff, ReferencedTLVData & aTarget )
Przeanalizuj obiekt ReferencedTLVData z dostarczonego pakietu PacketBuffer.
Przeanalizuj obiekt ReferencedTLVData z bufora inet (przy założeniu, że zawiera on tylko TLV).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Błąd WEAVE_ERROR odzwierciedlający skuteczność wywołania analizy.
|
parse
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
Przeanalizuj obiekt ReferencedTLVData z dostarczonego obiektu MessageIterator.
Przyjmijmy, że analizowany obiekt ReferenceTLVData z obiektu MessageIterator wskazuje fragment TLV wiadomości.
Pamiętaj, że faktyczne „analizowanie” nie odbywa się tutaj, ponieważ TLV pozostaje w buforze i nie jest w ogóle modyfikowane. Ta metoda służy głównie do skonfigurowania struktury ReferencedTLVData do późniejszego użycia.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|