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)
|
Typdefvoid(*
|
Ö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 )
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 |
|
||
Rückgabewerte |
|
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 |
|
||
Rückgabewerte |
|
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 |
|
||||||
Rückgabewerte |
|
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 |
|
||||
Rückgabewerte |
|
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 |
|
||||
Rückgabewerte |
|
Packung
WEAVE_ERROR pack( System::PacketBuffer *buff )
Verpacken Sie ein ReferencedTLVData-Objekt direkt in einen PacketBuffer.
Details | |||
---|---|---|---|
Parameter |
|
||
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 |
|
||||
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 |
|
||||
Rückgabewerte |
|