nl::Weave::Profiles::ReferencedTLVData

#include <src/lib/profiles/common/WeaveMessage.h>

Musimy też być w stanie przedstawić duży, stary blob danych TLV.

Podsumowanie

Dziedziczenie

Dziedziczy z: nl::Weave::Profiles::RetainedPacketBuffer

Konstruktory i niszczyciele

ReferencedTLVData(void)
-------------- definicje danych TLV --------------

Typy publiczne

TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState) typedef
void(*

Atrybuty publiczne

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

Funkcje publiczne

free(void)
void
Uwolnij obiekt ReferencedTLVData, czyli cofnij jego definicję.
init(System::PacketBuffer *aBuffer)
Zainicjuj obiekt ReferencedTLVData dla danego PacketBuffer.
init(MessageIterator & i)
Zainicjuj obiekt ReferencedTLVData za pomocą obiektu MessageIterator.
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
Zainicjuj obiekt ReferencedTLVObject za pomocą ciągu bajtów.
init(TLVWriteCallback aWriteCallback, void *anAppState)
Zainicjuj obiekt RefererencedTLVData z użyciem funkcji wywołania zwrotnego.
isEmpty(void)
bool
Sprawdź, czy obiekt ReferencedTLVData zawiera cokolwiek.
isFree(void)
bool
Sprawdź, czy obiekt ReferencedTLVData jest „wolny”, tzn.
operator==(const ReferencedTLVData &) const
bool
Sprawdź, czy obiekt ReferencedTLVData ma równość.
pack(System::PacketBuffer *buff)
Zapakuj obiekt ReferencedTLVData bezpośrednio do obiektu PacketBuffer.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
Zwraca długość danych przy założeniu, że obiekt został spakowany do bufora.

Publiczne funkcje statyczne

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
Analizuj obiekt ReferencedTLVData z dostarczonego pliku PacketBuffer.
parse(MessageIterator & i, ReferencedTLVData & aTarget)
Przeanalizuj obiekt ReferencedTLVData z podanego 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
)

-------------- definicje danych TLV --------------

Konstruktor bez argumentu do danych TLV. Udostępnia wolny/niezainicjowany obiekt, który musi zostać poddany jednej z metod init(), by był przydatny.

bezpłatnie

void free(
  void
)

Uwolnij obiekt ReferencedTLVData, czyli cofnij jego definicję.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Zainicjuj obiekt ReferencedTLVData dla danego PacketBuffer.

Zainicjuj obiekt ReferencedTLVData w buforze pełnym TLV. Zakładamy przy tym, że bufor zawiera TYLKO TLV.

Szczegóły
Parametry
[in] aBuffer
Bufor wiadomości, w którym znajduje się TLV.
Zwracane wartości
WEAVE_NO_ERROR
Bezwarunkowo

init

WEAVE_ERROR init(
  MessageIterator & i
)

Zainicjuj obiekt ReferencedTLVData za pomocą obiektu MessageIterator.

Zainicjuj obiekt ReferencedTLVData za pomocą obiektu MessageIterator. W tym przypadku TLV jest ostatnią częścią bufora i przekazywanym iteratorem komunikatu, który do niej wskazuje.

Szczegóły
Parametry
[in] i
Iterator komunikatu wskazujący na klucz TLV do wyodrębnienia.
Zwracane wartości
WEAVE_NO_ERROR
Bezwarunkowo

init

WEAVE_ERROR init(
  uint16_t aLength,
  uint16_t aMaxLength,
  uint8_t *aByteString
)

Zainicjuj obiekt ReferencedTLVObject za pomocą ciągu bajtów.

Zainicjuj obiekt ReferencedTLVData ciągiem bajtów zawierającym TLV. Tego inicjatora używamy, gdy nie ma obiektu PacketrBuffer, ponieważ tworzymy taki bufor do spakowania i wysłania.

Szczegóły
Parametry
[in] aLength
Długość danych TLV
[in] aMaxLength
Całkowita długość bufora
[in] aByteString
Wskaźnik do danych ciągu tekstowego
Zwracane wartości
WEAVE_NO_ERROR
Bezwarunkowo

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Zainicjuj obiekt RefererencedTLVData z użyciem funkcji wywołania zwrotnego.

Zainicjuj obiekt ReferencedTLVData. Zamiast bezpośrednio dostarczać dane, ta wersja udostępnia funkcję, wywołanie zwrotne zapisu i obiekt referencyjny, które są do niej przekazywane wraz z obiektem TLVWriter, gdy przyporządkowane dane powinny zostać spakowane i wysłane. Podpis tego wywołania zwrotnego:

typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);

Szczegóły
Parametry
[in] aWriteCallback
funkcję, która ma zostać wywołana, gdy nadejdzie czas na wpisanie TLV.
[in] anAppState
obiekt stanu aplikacji, który ma być przekazywany do wywołania zwrotnego razem z zapisującym.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_INVALID_ARGUMENT
Jeśli wywołanie zwrotne zapisu nie zostało podane.

Puste

bool isEmpty(
  void
)

Sprawdź, czy obiekt ReferencedTLVData zawiera cokolwiek.

Istnieją 2 sposoby, na jakie taki obiekt może „przekazywać” coś. Może mieć 0 długości LUB nie mieć wywołania zwrotnego zapisu.

Szczegóły
Zwroty
true (prawda), jeśli zbiór danych ma długość 0 lub nie ma wywołania zwrotnego zapisu. W przeciwnym razie ma wartość false.

isFree

bool isFree(
  void
)

Sprawdź, czy obiekt ReferencedTLVData jest „wolny”, tzn.

nie zdefiniowano.

Szczegóły
Zwroty
true (prawda), jeśli obiekt jest niezdefiniowany. W przeciwnym razie ma wartość false (fałsz).

operator==

bool operator==(
  const ReferencedTLVData &
) const 

Sprawdź, czy obiekt ReferencedTLVData ma równość.

Zwróć uwagę, że ma to sens tylko w przypadku 2 obiektów, które zawierają rzeczywiste dane poparte buforem lub ciągiem znaków.

Szczegóły
Parametry
[in] Another
obiekt, który ma zostać sprawdzony
Zwracane wartości
true
Obiekty są równe.
false
Ciągi obiektów nie są równe.

paczka

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Zapakuj obiekt ReferencedTLVData bezpośrednio do obiektu PacketBuffer.

Szczegóły
Parametry
[in] buff
bufor do wypełnienia.
Zwroty
błąd WEAVE_ERROR odzwierciedlający powodzenie podstawowego 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ł spakowany do bufora.

Szczegóły
Zwroty
liczba całkowita długości spakowanych danych.

Publiczne funkcje statyczne

analizowa

WEAVE_ERROR parse(
  System::PacketBuffer *buff,
  ReferencedTLVData & aTarget
)

Analizuj obiekt ReferencedTLVData z dostarczonego pliku PacketBuffer.

Przeprowadź analizę obiektu ReferencedTLVData z bufora początkowego (przy założeniu, że zawiera on tylko obiekt TLV).

Szczegóły
Parametry
[in] buff
z bufora, z którego ma być odczytywany tekst.
[out] aTarget
obiektu ReferencedTLVData do wypełnienia z konkretnym wynikiem.
Zwroty
błąd WEAVE_ERROR odzwierciedlający powodzenie podstawowego wywołania analizy.

analizowa

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

Przeanalizuj obiekt ReferencedTLVData z podanego MessageIterator.

Przeanalizuj obiekt ReferenceTLVData z obiektu MessageIterator, który zakłada, że wskazuje część wiadomości TLV.

Pamiętaj, że nie można stosować funkcji „analizowania” w tym przypadku, ponieważ TLV pozostaje w buforze i nie jest poddawany manipulacjom. Ta metoda służy głównie do konfigurowania struktury ReferencedTLVData do późniejszego użycia.

Szczegóły
Parametry
[in] i
Iterator nad analizowaną wiadomością.
[out] aTarget
Miejsce na umieszczenie wyniku analizy.
Zwracane wartości
WEAVE_NO_ERROR
Bezwarunkowo