nl::Weave::Profile::ReferenzdTLVData

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

Ebenso müssen wir ein großes altes Blob aus TLV-Daten darstellen können.

Fazit

Übernahme

Übernimmt von: nl::Weave::Profiles::RetainedPacketBuffer

Konstrukteur und Zerstörer

ReferencedTLVData(void)
-------------- Definitionen für TLV-Daten --------------

Öffentliche Typen

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

Öffentliche Attribute

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

Öffentliche Funktionen

free(void)
void
Ein ReferencedTLVData-Objekt freigeben, also dessen Definition aufheben.
init(System::PacketBuffer *aBuffer)
Initialisieren Sie das Objekt ReferencedTLVData mit einem PacketBuffer.
init(MessageIterator & i)
Initialisieren Sie ein ReferencedTLVData-Objekt mit einem MessageEnabler.
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
Initialisieren Sie ein ReferencedTLVObject mit einem Byte-String.
init(TLVWriteCallback aWriteCallback, void *anAppState)
Initialisieren Sie ein „ReferencedTLVData“-Objekt auf Grundlage einer Callback-Funktion.
isEmpty(void)
bool
Prüfen Sie, ob ein ReferencedTLVData-Objekt Elemente enthält.
isFree(void)
bool
Überprüfen Sie, ob ein ReferencedTLVData-Objekt "free" ist,
operator==(const ReferencedTLVData &) const
bool
Gleiches Ergebnis auf ein ReferencedTLVData-Objekt prüfen
pack(System::PacketBuffer *buff)
Verpacken Sie ein ReferencedTLVData-Objekt direkt in einen PacketBuffer.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
Gibt die Datenlänge zurück, unter der Annahme, dass das Objekt in einen Puffer gepackt wurde.

Öffentliche statische Funktionen

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
Parsen Sie ein ReferencedTLVData-Objekt aus einem bereitgestellten PacketBuffer.
parse(MessageIterator & i, ReferencedTLVData & aTarget)
Parsen Sie ein ReferencedTLVData-Objekt aus einem bereitgestellten MessageEnabler.

Öffentliche Typen

TLVWriteCallback

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

Öffentliche Attribute

thedata

uint8_t * theData

Thelength

uint16_t theLength

Maximale Länge

uint16_t theMaxLength

Öffentliche Funktionen

ReferenzdatenVTL

 ReferencedTLVData(
  void
)

-------------- Definitionen für TLV-Daten --------------

Der no-arg-Konstruktor für TLV-Daten. Stellt ein kostenloses/nicht initialisiertes Objekt bereit, das einer der hier definierten init()-Methoden unterliegt, um nützlich zu sein.

Kostenlos

void free(
  void
)

Ein ReferencedTLVData-Objekt freigeben, also dessen Definition aufheben.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Initialisieren Sie das Objekt ReferencedTLVData mit einem PacketBuffer.

Initialisiere ein ReferencedTLVData-Objekt mit einem Puffer voller TLV. Dabei wird davon ausgegangen, dass der Zwischenspeicher TLV enthält.

Details
Parameter
[in] aBuffer
Ein Nachrichtenpuffer, in dem sich der TLV befindet.
Rückgabewerte
WEAVE_NO_ERROR
Ohne Bedingung

init

WEAVE_ERROR init(
  MessageIterator & i
)

Initialisieren Sie ein ReferencedTLVData-Objekt mit einem MessageEnabler.

Initialisieren Sie ein ReferencedTLVData-Objekt mit einem MessageEnabler. In diesem Fall ist TLV der letzte Teil des Zwischenspeichers und übergeben einen Nachrichten-Recommender, der darauf verweist.

Details
Parameter
[in] i
Ein Nachrichten Aufrufer, der auf TLV verweist, der extrahiert wird.
Rückgabewerte
WEAVE_NO_ERROR
Ohne Bedingung

init

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

Initialisieren Sie ein ReferencedTLVObject mit einem Byte-String.

Initialisieren Sie das Objekt ReferencedTLVData mit einem Byte-String, der TLV enthält. Dieser Initialisierer wird verwendet, wenn es keinen PacketrBuffer gibt, da wir einen dieser Pakete packen und senden.

Details
Parameter
[in] aLength
Eine Länge für die TLV-Daten
[in] aMaxLength
Die Gesamtlänge des Zwischenspeichers
[in] aByteString
Ein Hinweis auf die Stringdaten
Rückgabewerte
WEAVE_NO_ERROR
Ohne Bedingung

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Initialisieren Sie ein „ReferencedTLVData“-Objekt auf Grundlage einer Callback-Funktion.

Initialisiere ein ReferencedTLVData-Objekt. Anstatt die Daten explizit bereitzustellen, liefert diese Version eine Funktion, den Schreibrückruf und ein Referenzobjekt, das zusammen mit einem TLVWriter-Objekt an sie übergeben wird, wenn die referenzierten Daten verpackt und gesendet werden sollen. Die Signatur dieses Callbacks lautet:

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

Details
Parameter
[in] aWriteCallback
Die Funktion, die aufgerufen werden soll, wenn es Zeit ist, TLV zu schreiben.
[in] anAppState
Ein Anwendungsstatusobjekt, das zusammen mit dem Autor an den Callback übergeben wird.
Rückgabewerte
WEAVE_NO_ERROR
Erfolg.
WEAVE_ERROR_INVALID_ARGUMENT
Wenn der Callback für Schreibvorgänge nicht angegeben ist.

ist leer

bool isEmpty(
  void
)

Prüfen Sie, ob ein ReferencedTLVData-Objekt Elemente enthält.

Es gibt zwei Möglichkeiten für ein solches Objekt. Sie kann entweder 0 Längen ODER keine Rückrufe haben.

Details
Rückgabe
Wenn der Datenbestand 0 enthält oder nicht vorhanden ist, wird „true“ zurückgegeben. Andernfalls ist „false“ vorhanden.

isFree

bool isFree(
  void
)

Überprüfen Sie, ob ein ReferencedTLVData-Objekt "free" ist,

nicht definiert.

Details
Rückgabe
True, wenn das Objekt nicht definiert ist, sonst False.

Operator==

bool operator==(
  const ReferencedTLVData &
) const 

Gleiches Ergebnis auf ein ReferencedTLVData-Objekt prüfen

Dies ist nur bei zwei Objekten sinnvoll, die tatsächliche Daten in einem Puffer oder String enthalten.

Details
Parameter
[in] Another
ein Objekt, mit dem verglichen werden soll
Rückgabewerte
true
Die Objekte sind gleich.
false
Die Objektstrings sind nicht gleich.

Packung

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Verpacken Sie ein ReferencedTLVData-Objekt direkt in einen PacketBuffer.

Details
Parameter
[in] buff
bis der Puffer gefüllt wird.
Rückgabe
ein WEAVE_ERROR, der den Erfolg des zugrunde liegenden Packaufrufs widerspiegelt.

Packung

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

Lackte Länge

uint16_t packedLength(
  void
)

Gibt die Datenlänge zurück, unter der Annahme, dass das Objekt in einen Puffer gepackt wurde.

Details
Rückgabe
ist die Ganzzahllänge der gepackten Daten.

Öffentliche statische Funktionen

parse

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

Parsen Sie ein ReferencedTLVData-Objekt aus einem bereitgestellten PacketBuffer.

Parsen Sie ein ReferencedTLVData-Objekt aus einem Inet-Puffer (sofern davon nur TLV enthalten ist).

Details
Parameter
[in] buff
aus dem Zwischenspeicher gelesen werden soll.
[out] aTarget
Ein ReferencedTLVData-Objekt für &fillt mit dem Ergebnis.
Rückgabe
ein WEAVE_ERROR, der den Erfolg des zugrunde liegenden Parsing-Aufrufs widerspiegelt.

parse

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

Parsen Sie ein ReferencedTLVData-Objekt aus einem bereitgestellten MessageEnabler.

Parsen Sie ein ReferenceTLVData-Objekt aus einem MessageHyperparameter-Objekt, das auf den TLV-Teil einer Nachricht verweist.

Beachten Sie, dass hier kein tatsächlicher Satz &parsing vorgenommen wird, da der TLV im Zwischenspeicher verbleibt und überhaupt nicht verändert wird. Mit dieser Methode wird hauptsächlich die Struktur ReferencedTLVData für die spätere Verwendung eingerichtet.

Details
Parameter
[in] i
Ein Hyperparameter über die geparste Nachricht.
[out] aTarget
Ein Ort, an dem das Ergebnis geparst werden kann.
Rückgabewerte
WEAVE_NO_ERROR
Ohne Bedingung