nl:: Weave:: Profiles:: ReferencedTLVData
#include <src/lib/profiles/common/WeaveMessage.h>
Ebenso müssen wir in der Lage sein, ein großes, altes Blob von TLV-Daten darzustellen.
Zusammenfassung
Übernahme
Übernommen von: nl::Weave::Profiles::RetainedPacketBuffer
Konstruktoren und Zerstörer |
|
---|---|
ReferencedTLVData(void)
-------------- Definitionen für TLV-Daten --------------
|
Öffentliche Typen |
|
---|---|
TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
|
typedefvoid(*
|
Öffentliche Attribute |
|
---|---|
theData
|
uint8_t *
|
theLength
|
uint16_t
|
theMaxLength
|
uint16_t
|
Öffentliche Funktionen |
|
---|---|
free(void)
|
void
Geben Sie ein ReferencedTLVData-Objekt kostenlos, d. h., definieren Sie es nicht.
|
init(System::PacketBuffer *aBuffer)
|
Initialisieren Sie das Objekt ReferencedTLVData mit einem PacketBuffer.
|
init(MessageIterator & i)
|
Initialisieren Sie ein ReferencedTLVData-Objekt mit einem MessageIterator.
|
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
|
Initialisiert ein ReferencedTLVObject mit einem Bytestring.
|
init(TLVWriteCallback aWriteCallback, void *anAppState)
|
Initialisiert ein RefererencedTLVData-Objekt anhand einer Callback-Funktion.
|
isEmpty(void)
|
bool
Prüfen Sie, ob ein ReferencedTLVData-Objekt etwas enthält.
|
isFree(void)
|
bool
Prüfen Sie, ob ein ReferencedTLVData-Objekt "kostenlos" ist, d.h.
|
operator==(const ReferencedTLVData &) const
|
bool
Prüfen Sie ein Objekt vom Typ ReferencedTLVData auf Gleichheit mit einem anderen.
|
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 unter der Annahme zurück, dass das Objekt in einen Puffer gepackt wurde.
|
Öffentliche statische Funktionen |
|
---|---|
parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
|
Parst ein ReferencedTLVData-Objekt aus einem bereitgestellten PacketBuffer.
|
parse(MessageIterator & i, ReferencedTLVData & aTarget)
|
Parsen Sie ein ReferencedTLVData-Objekt aus einem 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., definieren Sie es nicht.
init
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
Initialisieren Sie das Objekt ReferencedTLVData mit einem PacketBuffer.
Initialisieren Sie ein ReferencedTLVData-Objekt mit einem Puffer mit TLV. Dabei wird davon ausgegangen, dass der Puffer NUR TLV enthält.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabewerte |
|
init
WEAVE_ERROR init( MessageIterator & i )
Initialisieren Sie ein ReferencedTLVData-Objekt mit einem MessageIterator.
Initialisieren Sie ein ReferencedTLVData-Objekt mit einem MessageIterator. In diesem Fall ist die TLV der letzte Teil des Puffers und 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 )
Initialisiert ein ReferencedTLVObject mit einem Bytestring.
Initialisieren Sie das Objekt ReferencedTLVData mit einem Bytestring, der TLV enthält. Dieser Initialisierer wird verwendet, wenn kein PacketrBuffer vorhanden ist, da wir einen von diesen zum Verpacken und Senden erstellen.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
init
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
Initialisiert 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 gepackt und gesendet werden sollen. Die Signatur dieses Callbacks lautet:
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
isEmpty
bool isEmpty( void )
Prüfen Sie, ob ein ReferencedTLVData-Objekt etwas enthält.
Es gibt zwei Möglichkeiten, wie ein Objekt etwas „haben“ könnte. Entweder hat sie eine Länge von 0 ODER sie kann keinen Schreib-Callback haben.
Details | |
---|---|
Rückgabe |
"true", wenn der Datensatz eine Länge von 0 hat oder kein Schreib-Callback vorliegt, 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
Prüfen Sie ein Objekt vom Typ ReferencedTLVData auf Gleichheit mit einem anderen.
Beachten Sie, dass dies nur bei zwei Objekten sinnvoll ist, die tatsächliche Daten enthalten, die von einem Puffer oder einer Zeichenfolge unterstü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, der den Erfolg des zugrunde liegenden Paketaufrufs angibt.
|
Packung
WEAVE_ERROR pack( MessageIterator & i, uint32_t maxLen )
packedLength
uint16_t packedLength( void )
Gibt die Datenlänge unter der Annahme zurück, dass das Objekt in einen Puffer gepackt wurde.
Details | |
---|---|
Rückgabe |
die Ganzzahllänge der gepackten Daten.
|
Öffentliche statische Funktionen
parse
WEAVE_ERROR parse( System::PacketBuffer *buff, ReferencedTLVData & aTarget )
Parst ein ReferencedTLVData-Objekt aus einem bereitgestellten PacketBuffer.
Parsen Sie ein ReferencedTLVData-Objekt aus einem Inet-Puffer (vorausgesetzt, es enthält nur TLV).
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_ERROR, die den Erfolg des zugrunde liegenden Parsing-Aufrufs wiedergibt.
|
parse
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
Parsen Sie ein ReferencedTLVData-Objekt aus einem bereitgestellten MessageIterator.
Parsen Sie ein ReferenceTLVData-Objekt aus einem MessageIterator-Objekt, von dem angenommen wird, dass es auf den TLV-Teil einer Nachricht verweist.
Beachten Sie, dass hier kein tatsächliches "pars" durchgeführt wird, da der TLV im Puffer verbleibt und überhaupt nicht bearbeitet wird. Bei dieser Methode wird nur die Struktur ReferencedTLVData für die spätere Verwendung eingerichtet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|