nl:: Weave:: Profiles:: ReferencedTLVData
#include <src/lib/profiles/common/WeaveMessage.h>
Ebenso müssen wir in der Lage sein, einen großen alten Blob von TLV-Daten darzustellen.
Zusammenfassung
Übernahme
Übernimmt von: nl::Weave::Profiles::RetainedPacketBuffer
Konstruktoren und Zerstörer |
|
---|---|
ReferencedTLVData(void)
-------------- Definitionen für TLV-Daten --------------
|
Öffentliche Typen |
|
---|---|
TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
|
typedef.void(*
|
Öffentliche Attribute |
|
---|---|
theData
|
uint8_t *
|
theLength
|
uint16_t
|
theMaxLength
|
uint16_t
|
Öffentliche Funktionen |
|
---|---|
free(void)
|
void
Geben Sie ein ReferencedTLVData-Objekt kostenlos, d. h., es wird nicht definiert.
|
init(System::PacketBuffer *aBuffer)
|
Initialisieren Sie das Objekt ReferencedTLVData anhand eines PacketBuffer.
|
init(MessageIterator & i)
|
Initialisieren Sie ein ReferencedTLVData-Objekt anhand eines MessageIterator.
|
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
|
Initialisieren Sie ein ReferencedTLVObject anhand eines Bytestrings.
|
init(TLVWriteCallback aWriteCallback, void *anAppState)
|
Initialisieren Sie ein RefererencedTLVData-Objekt anhand einer Callback-Funktion.
|
isEmpty(void)
|
bool
Prüfen Sie, ob das Objekt ReferencedTLVData etwas enthält.
|
isFree(void)
|
bool
Prüfen Sie, ob ein ReferencedTLVData-Objekt "kostenlos" ist, d.h.
|
operator==(const ReferencedTLVData &) const
|
bool
Vergleichen Sie das Objekt ReferencedTLVData mit einem anderen Objekt auf Gleichheit.
|
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 Zwischenspeicher gepackt wurde.
|
Öffentliche statische Funktionen |
|
---|---|
parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
|
Parst ein ReferencedTLVData-Objekt aus einem bereitgestellten PacketBuffer.
|
parse(MessageIterator & i, ReferencedTLVData & aTarget)
|
Parst ein ReferencedTLVData-Objekt über einen bereitgestellten MessageIterator.
|
Öffentliche Typen
TLVWriteCallback
void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
Öffentliche Attribute
theData
uint8_t * theData
theLength
uint16_t theLength
theMaxLength
uint16_t theMaxLength
Öffentliche Funktionen
ReferencedTLVData
ReferencedTLVData( void )
Kostenlos
void free( void )
Geben Sie ein ReferencedTLVData-Objekt kostenlos, d. h., es wird nicht definiert.
init
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
Initialisieren Sie das Objekt ReferencedTLVData anhand eines PacketBuffer.
Initialisieren Sie ein ReferencedTLVData-Objekt mit einem Puffer mit TLV. Dabei wird davon ausgegangen, dass der Zwischenspeicher NUR TLV enthält.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabewerte |
|
init
WEAVE_ERROR init( MessageIterator & i )
Initialisieren Sie ein ReferencedTLVData-Objekt anhand eines MessageIterator.
Initialisieren Sie ein ReferencedTLVData-Objekt anhand eines MessageIterator. In diesem Fall ist die TLV der letzte Teil des Zwischenspeichers. Wir übergeben einen Nachrichten-Iterator, der darauf verweist.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabewerte |
|
init
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
Initialisieren Sie ein ReferencedTLVObject anhand eines Bytestrings.
Initialisieren Sie das Objekt ReferencedTLVData mit einem Bytestring, der TLV enthält. Dieser Initialisierer wird verwendet, wenn kein PacketrBuffer vorhanden ist, da wir einen davon zum Packen und Senden erstellen.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
init
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
Initialisieren Sie ein RefererencedTLVData-Objekt anhand einer Callback-Funktion.
Initialisieren Sie ein ReferencedTLVData-Objekt. Anstatt die Daten explizit anzugeben, bietet diese Version eine Funktion, den Schreib-Callback 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 |
|
||||
Rückgabewerte |
|
Ist leer
bool isEmpty( void )
Prüfen Sie, ob das Objekt ReferencedTLVData etwas enthält.
Es gibt zwei Möglichkeiten, wie ein Objekt irgendetwas. Entweder er könnte die Länge 0 haben ODER ihn keinen Schreib-Callback haben.
Details | |
---|---|
Rückgabe |
Ist auf "true" gesetzt, wenn die Länge des Datasets 0 ist oder kein Schreib-Callback vorhanden ist, andernfalls "false".
|
isFree
bool isFree( void )
Prüfen Sie, ob ein ReferencedTLVData-Objekt "kostenlos" ist, d.h.
nicht definiert.
Details | |
---|---|
Rückgabe |
"true", wenn das Objekt nicht definiert ist, andernfalls "false".
|
Operator==
bool operator==( const ReferencedTLVData & ) const
Vergleichen Sie das Objekt ReferencedTLVData mit einem anderen Objekt auf Gleichheit.
Beachten Sie, dass dies nur im Fall von zwei Objekten sinnvoll ist, die tatsächliche Daten enthalten und durch einen Puffer oder eine Zeichenfolge gestützt werden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
Packung
WEAVE_ERROR pack( System::PacketBuffer *buff )
Verpacken Sie ein ReferencedTLVData-Objekt direkt in einen PacketBuffer.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Einen WEAVE_ERROR für den Erfolg des zugrunde liegenden Paketaufrufs.
|
Packung
WEAVE_ERROR pack( MessageIterator & i, uint32_t maxLen )
packedLength
uint16_t packedLength( void )
Gibt die Datenlänge zurück, unter der Annahme, dass das Objekt in einen Zwischenspeicher gepackt wurde.
Details | |
---|---|
Rückgabe |
die Länge der verpackten Daten ganzzahlig.
|
Öffentliche statische Funktionen
parse
WEAVE_ERROR parse( System::PacketBuffer *buff, ReferencedTLVData & aTarget )
Parst ein ReferencedTLVData-Objekt aus einem bereitgestellten PacketBuffer.
Parst ein ReferencedTLVData-Objekt aus einem Inet-Zwischenspeicher (vorausgesetzt, es enthält nur TLV).
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein WEAVE_ERROR für den Erfolg des zugrunde liegenden Parse-Aufrufs.
|
parse
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
Parst ein ReferencedTLVData-Objekt über einen bereitgestellten MessageIterator.
Parsen Sie ein ReferenceTLVData-Objekt aus einem MessageIterator-Objekt, von dem angenommen wird, dass es auf den TLV-Teil einer Nachricht verweist.
Es findet kein tatsächliches Parsen statt, da die TLV im Zwischenspeicher verbleibt und nicht bearbeitet wird. Bei dieser Methode wird für die spätere Verwendung hauptsächlich die Struktur ReferencedTLVData eingerichtet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|