nl::Weave::TLV::Utilities

Dieser Namespace enthält Typen und Dienstschnittstellen für die Verwaltung und Arbeit mit Weave TLV.

Zusammenfassung

Typedefs

IterateHandler)(const TLVReader &aReader, size_t aDepth, void *aContext) typedef.

Funktionen

Count(const TLVReader & aReader, size_t & aCount)
Zählt die Anzahl der TLV-Elemente im angegebenen TLV-Leser absteigend nach Arrays oder Strukturen.
Count(const TLVReader & aReader, size_t & aCount, const bool aRecurse)
Zählt die Anzahl der TLV-Elemente im angegebenen TLV-Leser, optional absteigend nach Arrays oder Strukturen.
CountHandler(const TLVReader & aReader, size_t aDepth, void *aContext)
Erhöhen Sie den Zähler, wenn Sie die TLV-Daten iterieren.
Find(const TLVReader & aReader, const uint64_t & aTag, TLVReader & aResult)
Suchen Sie im angegebenen TLV-Leser nach dem angegebenen Tag.
Find(const TLVReader & aReader, const uint64_t & aTag, TLVReader & aResult, const bool aRecurse)
Suchen Sie im bereitgestellten TLV-Leser nach dem angegebenen Tag. Optional können Sie absteigend nach Arrays oder Strukturen suchen.
Find(const TLVReader & aReader, IterateHandler aPredicate, void *aContext, TLVReader & aResult)
Suchen Sie im TLV-Leser nach dem ersten Element, das dem Prädikat entspricht, und steigen Sie dabei in Arrays oder Strukturen um.
Find(const TLVReader & aReader, IterateHandler aPredicate, void *aContext, TLVReader & aResult, const bool aRecurse)
Suchen Sie im TLV-Leser nach dem ersten Element, das mit dem Prädikat übereinstimmt. Optional können Sie absteigend nach Arrays oder Strukturen suchen.
FindHandler(const TLVReader & aReader, size_t aDepth, void *aContext)
Suchen Sie im angegebenen TLV-Leser nach dem angegebenen Tag.
FindPredicateHandler(const TLVReader & aReader, size_t aDepth, void *aContext)
Iterate(TLVReader & aReader, size_t aDepth, IterateHandler aHandler, void *aContext, bool aRecurse)
Iterieren Sie über die TLV-Daten, auf die aReader verweist, und rufen Sie aHandler für jedes besuchte TLV-Element im Kontext von aContext auf.
Iterate(const TLVReader & aReader, IterateHandler aHandler, void *aContext)
Iterieren Sie über die TLV-Daten, auf die aReader verweist, und rufen Sie aHandler für jedes besuchte TLV-Element im Kontext von aContext auf.
Iterate(const TLVReader & aReader, IterateHandler aHandler, void *aContext, const bool aRecurse)
Iterieren Sie über die TLV-Daten, auf die aReader verweist, und rufen Sie aHandler für jedes besuchte TLV-Element im Kontext von aContext auf.

Strukturen

nl::Weave::TLV::Utilities::FindContext
nl::Weave::TLV::Utilities::FindPredicateContext

Typedefs

IterateHandler

WEAVE_ERROR(* IterateHandler)(const TLVReader &aReader, size_t aDepth, void *aContext)

Funktionen

Anzahl

WEAVE_ERROR Count(
  const TLVReader & aReader,
  size_t & aCount
)

Zählt die Anzahl der TLV-Elemente im angegebenen TLV-Leser absteigend nach Arrays oder Strukturen.

Details
Parameter
[in] aReader
Eine schreibgeschützte Referenz auf das TLV-Lesegerät, für das die Anzahl der TLV-Elemente ermittelt werden soll.
[in,out] aCount
Ein Verweis auf den Speicher für die zurückgegebene Anzahl. Dieser Wert wird vor dem Zählen auf null (0) initialisiert und auf die Anzahl der bei Erfolg gezählten Elemente gesetzt.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.

Anzahl

WEAVE_ERROR Count(
  const TLVReader & aReader,
  size_t & aCount,
  const bool aRecurse
)

Zählt die Anzahl der TLV-Elemente im angegebenen TLV-Leser, optional absteigend nach Arrays oder Strukturen.

Details
Parameter
[in] aReader
Eine schreibgeschützte Referenz auf das TLV-Lesegerät, für das die Anzahl der TLV-Elemente ermittelt werden soll.
[in,out] aCount
Ein Verweis auf den Speicher für die zurückgegebene Anzahl. Dieser Wert wird vor dem Zählen auf null (0) initialisiert und auf die Anzahl der bei Erfolg gezählten Elemente gesetzt.
[in] aRecurse
Boolescher Wert, der angibt, ob gefundene Arrays oder Strukturen untergeordnete Elemente (true) oder nicht (false) enthalten sollen.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.

CountHandler

WEAVE_ERROR CountHandler(
  const TLVReader & aReader,
  size_t aDepth,
  void *aContext
)

Erhöhen Sie den Zähler, wenn Sie die TLV-Daten iterieren.

Details
Parameter
[in] aReader
Eine Referenz zum TLV-Leser mit den TLV-Daten zum Zählen der Anzahl der TLV-Elemente.
[in] aDepth
Die aktuelle Tiefe der TLV-Daten.
[in,out] aContext
Ein Zeiger auf den Handler-spezifischen Kontext, der ein Zeiger auf den Speicher für den Zählwert ist.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_INVALID_ARGUMENT
Wenn aContext NULL ist.

Suchen

WEAVE_ERROR Find(
  const TLVReader & aReader,
  const uint64_t & aTag,
  TLVReader & aResult
)

Suchen Sie im angegebenen TLV-Leser nach dem angegebenen Tag.

Details
Parameter
[in] aReader
Eine schreibgeschützte Referenz auf den TLV-Leser, in dem das angegebene Tag zu finden ist.
[in] aTag
Eine schreibgeschützte Referenz zum TLV-Tag, das gesucht werden soll.
[out] aResult
Ein Verweis auf die Speicherung an einem TLV-Lesegerät, das im Erfolgsfall am angegebenen Tag positioniert wird.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_TLV_TAG_NOT_FOUND
Wenn das angegebene Tag aTag nicht gefunden wurde.

Suchen

WEAVE_ERROR Find(
  const TLVReader & aReader,
  const uint64_t & aTag,
  TLVReader & aResult,
  const bool aRecurse
)

Suchen Sie im bereitgestellten TLV-Leser nach dem angegebenen Tag. Optional können Sie absteigend nach Arrays oder Strukturen suchen.

Details
Parameter
[in] aReader
Eine schreibgeschützte Referenz auf den TLV-Leser, in dem das angegebene Tag zu finden ist.
[in] aTag
Eine schreibgeschützte Referenz zum TLV-Tag, das gesucht werden soll.
[out] aResult
Ein Verweis auf die Speicherung an einem TLV-Lesegerät, das im Erfolgsfall am angegebenen Tag positioniert wird.
[in] aRecurse
Boolescher Wert, der angibt, ob gefundene Arrays oder Strukturen untergeordnete Elemente (true) oder nicht (false) enthalten sollen.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_TLV_TAG_NOT_FOUND
Wenn das angegebene Tag aTag nicht gefunden wurde.

Suchen

WEAVE_ERROR Find(
  const TLVReader & aReader,
  IterateHandler aPredicate,
  void *aContext,
  TLVReader & aResult
)

Suchen Sie im TLV-Leser nach dem ersten Element, das dem Prädikat entspricht, absteigend in Arrays oder Strukturen.

Das aPredicate-Element wird auf jedes besuchte TLV-Element angewendet. aPredicate gibt WEAVE_ERROR_MAX für die übereinstimmenden Elemente, WEAVE_NO_ERROR für nicht übereinstimmende Elemente und jeden anderen Wert zum Beenden der Suche zurück.

Details
Parameter
[in] aReader
Eine schreibgeschützte Referenz auf den TLV-Leser, in dem das mit dem Prädikat übereinstimmende Element gefunden werden kann.
[in] aPredicate
Ein Prädikat, das auf jedes TLV-Element angewendet werden soll. Um die Wiederverwendung von Code zu unterstützen, hat ein Predicate den Typ IterateHandler. Der Rückgabewert von aPredicate steuert die Suche: WEAVE_ERROR_MAX signalisiert, dass das gewünschte Element gefunden wurde, WEAVE_NO_ERROR signalisiert, dass das gewünschte Element nicht gefunden wurde, und alle anderen Werte signalisieren, dass der Suchen beendet werden soll.
[in] aContext
Ein optionaler Zeiger auf vom Aufrufer bereitgestellte Kontextdaten.
[out] aResult
Ein Verweis auf die Speicherung an einem TLV-Lesegerät, das im Erfolgsfall am angegebenen Tag positioniert wird.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_TLV_TAG_NOT_FOUND
Wenn das angegebene aPredicate das angegebene Element nicht gefunden hat

Suchen

WEAVE_ERROR Find(
  const TLVReader & aReader,
  IterateHandler aPredicate,
  void *aContext,
  TLVReader & aResult,
  const bool aRecurse
)

Suchen Sie im TLV-Leser nach dem ersten Element, das mit dem Prädikat übereinstimmt. Optional können Sie absteigend nach Arrays oder Strukturen suchen.

Das aPredicate-Element wird auf jedes besuchte TLV-Element angewendet. aPredicate gibt WEAVE_ERROR_MAX für die übereinstimmenden Elemente, WEAVE_NO_ERROR für nicht übereinstimmende Elemente und jeden anderen Wert zum Beenden der Suche zurück.

Details
Parameter
[in] aReader
Eine schreibgeschützte Referenz auf den TLV-Leser, in dem das mit dem Prädikat übereinstimmende Element gefunden werden kann.
[in] aPredicate
Ein Prädikat, das auf jedes TLV-Element angewendet werden soll. EinPredicate hat den Typ IterateHandler, um die Wiederverwendung von Code zu unterstützen. Der Rückgabewert von aPredicate steuert die Suche: WEAVE_ERROR_MAX signalisiert, dass das gewünschte Element gefunden wurde, WEAVE_NO_ERROR signalisiert, dass das gewünschte Element nicht gefunden wurde, und alle anderen Werte signalisieren, dass der Suchen beendet werden soll.
[in] aContext
Ein optionaler Zeiger auf vom Aufrufer bereitgestellte Kontextdaten.
[out] aResult
Ein Verweis auf die Speicherung an einem TLV-Lesegerät, das im Erfolgsfall am angegebenen Tag positioniert wird.
[in] aRecurse
Ein boolescher Wert, der angibt, ob gefundene Arrays oder Strukturen untergeordnete Elemente (true) oder nicht (false) enthalten sollen.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_TLV_TAG_NOT_FOUND
Wenn das angegebene aPredicate das angegebene Element nicht gefunden hat

FindHandler

WEAVE_ERROR FindHandler(
  const TLVReader & aReader,
  size_t aDepth,
  void *aContext
)

Suchen Sie im angegebenen TLV-Leser nach dem angegebenen Tag.

Details
Parameter
[in] aReader
Eine schreibgeschützte Referenz auf den TLV-Leser, in dem das angegebene Tag zu finden ist.
[in] aDepth
Die aktuelle Tiefe der TLV-Daten.
[in,out] aContext
Ein Zeiger auf den Handler-spezifischen Kontext.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_INVALID_ARGUMENT
Wenn aContext NULL ist.
WEAVE_ERROR_MAX
Wenn das angegebene Tag gefunden wird.

FindPredicateHandler

WEAVE_ERROR FindPredicateHandler(
  const TLVReader & aReader,
  size_t aDepth,
  void *aContext
)

Verbessern und wieder testen

WEAVE_ERROR Iterate(
  TLVReader & aReader,
  size_t aDepth,
  IterateHandler aHandler,
  void *aContext,
  bool aRecurse
)

Iterieren Sie über die TLV-Daten, auf die aReader verweist, und rufen Sie aHandler für jedes besuchte TLV-Element im Kontext von aContext auf.

Die Iteration wird abgebrochen, wenn aHandler etwas anderes als WEAVE_NO_ERROR zurückgibt

Details
Parameter
[in] aReader
Eine Referenz zum TLV-Leser mit den zu iterierenden TLV-Daten.
[in] aDepth
Die aktuelle Tiefe der TLV-Daten.
[in] aHandler
Ein Callback, der für das aktuell besuchte TLV-Element aufzurufen ist.
[in,out] aContext
Ein optionaler Zeiger auf vom Aufrufer bereitgestellte Kontextdaten.
[in] aRecurse
Boolescher Wert, der angibt, ob gefundene Arrays oder Strukturen untergeordnete Elemente (true) oder nicht (false) enthalten sollen.
Rückgabewerte
WEAVE_END_OF_TLV
Bei einer erfolgreichen Iteration an das Ende einer TLV-Codierung oder an das Ende eines TLV-Containers.
The
letzter von aHandler zurückgegebener Wert, falls anders als WEAVE_NO_ERROR

Verbessern und wieder testen

WEAVE_ERROR Iterate(
  const TLVReader & aReader,
  IterateHandler aHandler,
  void *aContext
)

Iterieren Sie über die TLV-Daten, auf die aReader verweist, und rufen Sie aHandler für jedes besuchte TLV-Element im Kontext von aContext auf.

Die Iteration wird abgebrochen, wenn aHandler etwas anderes als WEAVE_NO_ERROR zurückgibt

Details
Parameter
[in] aReader
Eine Referenz zum TLV-Leser mit den zu iterierenden TLV-Daten.
[in] aHandler
Ein Callback, der für das aktuell besuchte TLV-Element aufzurufen ist.
[in,out] aContext
Ein optionaler Zeiger auf vom Aufrufer bereitgestellte Kontextdaten.
Rückgabewerte
WEAVE_END_OF_TLV
Bei einer erfolgreichen Iteration an das Ende einer TLV-Codierung oder an das Ende eines TLV-Containers.
WEAVE_ERROR_INVALID_ARGUMENT
Wenn aHandler NULL ist.
The
letzter von aHandler zurückgegebener Wert, falls anders als WEAVE_NO_ERROR

Verbessern und wieder testen

WEAVE_ERROR Iterate(
  const TLVReader & aReader,
  IterateHandler aHandler,
  void *aContext,
  const bool aRecurse
)

Iterieren Sie über die TLV-Daten, auf die aReader verweist, und rufen Sie aHandler für jedes besuchte TLV-Element im Kontext von aContext auf.

Die Iteration wird abgebrochen, wenn aHandler etwas anderes als WEAVE_NO_ERROR zurückgibt

Details
Parameter
[in] aReader
Eine Referenz zum TLV-Leser mit den zu iterierenden TLV-Daten.
[in] aHandler
Ein Callback, der für das aktuell besuchte TLV-Element aufzurufen ist.
[in,out] aContext
Ein optionaler Zeiger auf vom Aufrufer bereitgestellte Kontextdaten.
[in] aRecurse
Boolescher Wert, der angibt, ob gefundene Arrays oder Strukturen untergeordnete Elemente (true) oder nicht (false) enthalten sollen.
Rückgabewerte
WEAVE_END_OF_TLV
Bei einer erfolgreichen Iteration an das Ende einer TLV-Codierung oder an das Ende eines TLV-Containers.
WEAVE_ERROR_INVALID_ARGUMENT
Wenn aHandler NULL ist.
The
letzter von aHandler zurückgegebener Wert, falls anders als WEAVE_NO_ERROR