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) typedef
void(*

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
)

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

Konstruktor bez argumentu dla danych TLV. Udostępnia bezpłatny/niezainicjowany obiekt, który musi podlegać jednej ze zdefiniowanych tutaj metod init(), aby był przydatny.

bezpłatnie

void free(
  void
)

Uwolnij obiekt ReferencedTLVData, czyli anuluj jego definicję.

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
[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 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
[in] i
iterator wiadomości wskazujący 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 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
[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 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
[in] aWriteCallback
funkcję, która ma zostać wywołana, gdy nadejdzie czas na zapisanie TLV.
[in] anAppState
obiekt stanu aplikacji, który ma zostać przekazany do wywołania zwrotnego wraz z zapisem.
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
WEAVE_ERROR_INVALID_ARGUMENT
Jeśli nie podano wywołania zwrotnego zapisu.

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
[in] Another
obiekt do sprawdzenia
Zwracane wartości
true
Obiekty są równe.
false
Ciągi obiektów są różne.

paczka

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Spakuj obiekt ReferencedTLVData bezpośrednio do pliku PacketBuffer.

Szczegóły
Parametry
[in] buff
aby wypełnić bufor.
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
[in] buff
bufor pobierania.
[out] aTarget
ReferencedTLVData, aby „wypełnić” wynik.
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
[in] i
Iterator nad analizowaną wiadomością.
[out] aTarget
Miejsce, w którym zostanie umieszczony wynik analizy.
Zwracane wartości
WEAVE_NO_ERROR
Bezwarunkowo