nl::Weave::Profiles::DataManagement_Legacy

Dieser Namespace enthält alle Weave-Schnittstellen für das WDM-Profil (Weave Data Management), die demnächst eingestellt werden.

Zusammenfassung

Aufzählungen

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
@166{
  kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
  kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
  kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
  kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
  kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
  kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
  kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
  kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
  kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
enum
WDM-Pool- und -Tabellengrößen.
@167{
  kMsgType_ViewRequest = 0x10,
  kMsgType_ViewResponse = 0x11,
  kMsgType_SubscribeRequest = 0x12,
  kMsgType_SubscribeResponse = 0x13,
  kMsgType_CancelSubscriptionRequest = 0x14,
  kMsgType_UpdateRequest = 0x15,
  kMsgType_NotifyRequest = 0x16,
  kMsgType_ViewRequest_Deprecated = 0x00,
  kMsgType_ViewResponse_Deprecated = 0x01,
  kMsgType_SubscribeRequest_Deprecated = 0x02,
  kMsgType_SubscribeResponse_Deprecated = 0x03,
  kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
  kMsgType_UpdateRequest_Deprecated = 0x05,
  kMsgType_NotifyRequest_Deprecated = 0x06
}
enum
Die Nachrichtentypen des WDM-Profils.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
Verschiedene WDM-spezifische Konstanten.
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
WDM-spezifische Statuscodes.
@170{
  kTag_WDMPathList = 100,
  kTag_WDMPathProfile = 101,
  kTag_WDMPathProfileId = 1,
  kTag_WDMPathProfileInstance = 2,
  kTag_WDMPathProfileId_Deprecated = 102,
  kTag_WDMPathProfileInstance_Deprecated = 103,
  kTag_WDMPathArrayIndexSelector = 104,
  kTag_WDMPathArrayValueSelector = 105,
  kTag_WDMDataList = 200,
  kTag_WDMDataListElementPath = 3,
  kTag_WDMDataListElementVersion = 4,
  kTag_WDMDataListElementData = 5,
  kTag_WDMDataListElementPath_Deprecated = 201,
  kTag_WDMDataListElementVersion_Deprecated = 202,
  kTag_WDMDataListElementData_Deprecated = 203
}
enum
Data Management Protocol-Tags.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
Distinguished Themen-IDs.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
WDM-Transportoptionen.

Typedefs

TopicIdentifier typedef
uint64_t
Die Themen-ID.

Funktionen

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
Prüfen Sie, ob ein TLV-Element, das gelesen wird, den erwarteten TLV-Typ hat.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
Prüfen Sie ein WDM-spezifisches Tag.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
Das Lesen eines WDM-Datenlistenelements beenden.
CloseList(nl::Weave::TLV::TLVReader & aReader)
Beenden Sie das Lesen eines WDM-Pfads oder einer WDM-Datenliste.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Codieren Sie einen WDM-Pfad mit veralteten Tags und einer Ganzzahl-Instanz-ID.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Codieren Sie einen WDM-Pfad mit veralteten Tags und einer Stringinstanz-ID.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Codieren Sie einen WDM-Pfad mit einer Ganzzahlprofilinstanz-ID.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
Codieren Sie einen WDM-Pfad mit einer Byte-Array-Instanz-ID.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Codieren Sie einen WDM-Pfad mit einer Stringinstanz-ID.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Schließen Sie das Schreiben eines Datenlistenelements ab.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
Schließen Sie das Schreiben einer Pfad- oder Datenliste ab.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Schließen Sie das Schreiben einer Pfad- oder Datenliste ab.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Prüfen Sie, ob eine Themen-ID publisher-spezifisch ist.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
Beginnen Sie mit dem Lesen einer Datenliste.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
Beginnen Sie, ein Datenlistenelement zu lesen.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
Beginnen Sie, eine Pfadliste zu lesen.
PublisherSpecificTopicId(void)
Erstellen Sie eine neue ID für ein publisher-spezifisches Thema.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
Beginnen Sie mit dem Schreiben einer Datenliste.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
Beginnen Sie mit dem Schreiben einer Datenliste in ein bestimmtes ReferencedTLVData-Objekt.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Beginnen Sie mit dem Schreiben eines Datenlistenelements.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
Beginnen Sie mit dem Schreiben einer Pfadliste.
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
void
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
Prüfen Sie, ob ein TLV-Element, das gelesen wird, den erwarteten TLV-Typ hat.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Prüfen Sie, ob das gelesene TLV-Element das erwartete WDM-Tag hat.

Kurse

nl::Weave::Profiles::DataManagement_Legacy::Binding

Die Klasse Binding verwaltet mithilfe von Weave den Kommunikationsstatus im Namen einer Anwendungseinheit.

nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

Eine abstrakte Klasse, die die vom WDM-Client erforderlichen Bestätigungs- und Indikationsmethodendefinitionen enthält.

nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier

Eine Hilfsklasse, die verwendet wird, wenn die Unterstützung für Abos und Benachrichtigungen auf einem WDM-Client gewünscht wird.

nl::Weave::Profiles::DataManagement_Legacy::DMClient

Die abstrakte Basisklasse für anwendungsspezifische WDM-Clients.

nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

Die abstrakte Basisklasse für anwendungsspezifische WDM-Publisher.

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

Die abstrakte Hilfsklasse ProfileDatabase.

nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine

Die WDM-Protokoll-Engine-Klasse.

nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Eine abstrakte Klasse, die die vom WDM-Publisher erforderlichen Bestätigungs- und Benachrichtigungsmethodendefinitionen enthält.

Aufzählungen

@103

 @103
Attribute
kStatus_CancelSuccess

Dieser alte Statuscode bedeutet, dass ein Abo erfolgreich gekündigt wurde.

Dieser Statuscode bedeutet, dass ein Abo erfolgreich gekündigt wurde.

kStatus_IllegalReadRequest

Dieser alte Statuscode bedeutet, dass der Knoten, der eine Anfrage zum Lesen eines bestimmten Datenelements sendet, keine entsprechende Berechtigung hat.

Dieser Statuscode bedeutet, dass der Knoten, der eine Anfrage zum Lesen eines bestimmten Datenelements sendet, keine entsprechende Berechtigung hat.

kStatus_IllegalWriteRequest

Dieser alte Statuscode bedeutet, dass der Knoten, der eine Anfrage zum Schreiben eines bestimmten Datenelements sendet, keine entsprechende Berechtigung hat.

Dieser Statuscode bedeutet, dass der Knoten, der eine Anfrage zum Schreiben eines bestimmten Datenelements sendet, keine entsprechende Berechtigung hat.

kStatus_InvalidPath

Dieser alte Statuscode bedeutet, dass ein Pfad aus der Pfadliste eines Anzeige- oder Aktualisierungsanforderungsframes nicht mit dem knotenbasierten Schema des Antwortenden übereinstimmt.

Dieser Statuscode bedeutet, dass ein Pfad aus der Pfadliste eines Anzeige- oder Aktualisierungsanforderungsframes nicht mit dem knotenbasierten Schema des Antwortenden übereinstimmt.

kStatus_InvalidVersion

Dieser alte Statuscode bedeutet, dass die Version für die in einer Aktualisierungsanfrage enthaltenen Daten nicht mit der neuesten Version des Verlags oder Webpublishers übereinstimmt. Das Update konnte daher nicht angewendet werden.

Dieser Statuscode bedeutet, dass die Version für die in einer Aktualisierungsanfrage enthaltenen Daten nicht mit der neuesten Version des Verlags oder Webpublishers übereinstimmt. Das Update konnte daher nicht angewendet werden.

kStatus_UnknownTopic

Dieser alte Statuscode bedeutet, dass die Themen-ID in einer Kündigungsanforderung oder einer Benachrichtigung mit keinem vorhandenen Abo auf dem empfangenden Knoten übereinstimmt.

Dieser Statuscode bedeutet, dass die in einer Abbruchanfrage oder Benachrichtigung angegebene Themen-ID mit keinem Abo auf dem empfangenden Knoten übereinstimmt.

kStatus_UnsupportedSubscriptionMode

Dieser alte Statuscode bedeutet, dass der angeforderte Abomodus auf dem empfangenden Gerät nicht unterstützt wird.

Dieser Statuscode bedeutet, dass der angeforderte Abomodus vom empfangenden Gerät nicht unterstützt wird.

@166

 @166

WDM-Pool- und -Tabellengrößen.

WDM definiert wie im Folgenden verschiedene Pools und Tabellen, die für seinen Betrieb benötigt werden.

Kundentransaktionspools:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Transaktionspools für Publisher:

  • kNotifyPoolSize

Protokoll-Engine-Tabellen:

  • kTransactionTableSize
  • kBindingTableSize

Abobezogene Tabellen:

  • kNotifierTableSize (nur Client)
  • kSubscriptionMgrTableSize (nur Publisher)

Beachten Sie, dass dies konfigurierbare Mengen sind und dass die plattformspezifischen Werte in der zugehörigen Datei WeaveConfig.h angezeigt werden.

Attribute
kBindingTableSize

Dies ist die Standardgröße der Bindungstabelle in der WDM-Protokoll-Engine.

Dieser Wert kann über WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE konfiguriert werden.

kCancelSubscriptionPoolSize

Dies ist die Standardgröße des Transaktionspools für Abokündigungsanfragen für einen WDM-Client.

Dieser Wert kann über WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE konfiguriert werden.

kNotifierTableSize

Dies ist die Standardgröße der Benachrichtigungstabelle für WDM-Clients.

Dieser Wert kann über WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE konfiguriert werden.

kNotifyPoolSize

Dies ist die Standardgröße des Transaktionspools für Benachrichtigungsanfragen für einen WDM-Publisher.

Dieser Wert kann über WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE konfiguriert werden.

kSubscribePoolSize

Dies ist die Standardgröße des Transaktionspools für Aboanfragen für einen WDM-Client.

Dieser Wert kann über WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE konfiguriert werden.

kSubscriptionMgrTableSize

Das ist die Standardgröße der Abotabelle für WDM-Publisher.

Dieser Wert kann über WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE konfiguriert werden.

kTransactionTableSize

Dies ist die Standardgröße der Transaktionstabelle in der WDM-Protokoll-Engine.

Dieser Wert kann über WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE konfiguriert werden.

kUpdatePoolSize

Dies ist die Standardgröße des Transaktionspools für Aktualisierungsanfragen für einen WDM-Client.

Dieser Wert kann über WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE konfiguriert werden.

kViewPoolSize

Dies ist die Standardgröße des Transaktionspools für Ansichtsanfragen für einen WDM-Client.

Dieser Wert kann über WEAVE_CONFIG_WDM_VIEW_POOL_SIZE konfiguriert werden.

@167

 @167

Die Nachrichtentypen des WDM-Profils.

Diese Werte werden in der Datenverwaltungsspezifikation aufgerufen.

HINWEIS: Seit dem 1. Quartal 2015 werden die in früheren WDM-Versionen verwendeten Nachrichtentypen nicht mehr unterstützt und neue Nachrichtentypen definiert. Dies spiegelt eine ausreichende Umstellung auf frühere Verpackungs- und Parsing-Details wider, die eine saubere Unterbrechung rechtfertigen.

Attribute
kMsgType_CancelSubscriptionRequest

Nachricht zur Aboanfrage.

kMsgType_CancelSubscriptionRequest_Deprecated

Verworfen

kMsgType_NotifyRequest

Anfragenachricht benachrichtigen.

kMsgType_NotifyRequest_Deprecated

Verworfen

kMsgType_SubscribeRequest

Nachricht zur Aboanfrage.

kMsgType_SubscribeRequest_Deprecated

Verworfen

kMsgType_SubscribeResponse

Antwortnachricht abonnieren

kMsgType_SubscribeResponse_Deprecated

Verworfen

kMsgType_UpdateRequest

Anfragenachricht aktualisieren.

kMsgType_UpdateRequest_Deprecated

Verworfen

kMsgType_ViewRequest

Anfragenachricht ansehen.

kMsgType_ViewRequest_Deprecated

Verworfen

kMsgType_ViewResponse

Antwortnachricht ansehen.

kMsgType_ViewResponse_Deprecated

Verworfen

@168

 @168

Verschiedene WDM-spezifische Konstanten.

Attribute
kDefaultBindingTableIndex

Der Index der Standardbindung in einer Protokoll-Engine-Bindungstabelle mit mehr als einem Eintrag.

kInstanceIdNotSpecified

Bei Aufrufen, die eine Profilinstanzspezifikation erfordern, wird "none" angegeben.

In den meisten Fällen bedeutet dies, dass nur eine Instanz des Profils in der betreffenden Entität vorhanden ist.

kResponseTimeoutNotSpecified

Gibt in Methoden an, die eine Transaktion anfordern, dass der Aufrufer die Angabe eines Zeitlimits abgelehnt hat.

Im Allgemeinen bedeutet dies, dass ein Standardwert verwendet werden sollte.

kTransactionIdNotSpecified

In Methoden und Datenstrukturen, die eine Transaktions-ID annehmen, wird „keine“ oder ein Platzhalterwert angegeben.

kVersionNotSpecified

Bei Aufrufen, die die Angabe einer Datenversion erfordern, wird „keine bestimmte Version“ angegeben.

kWeaveTLVControlByteLen

Die Länge eines TLV-Kontrollbyte, das in Unterstützungsmethoden verwendet wird, die WDM-Strukturen in TLV codieren.

kWeaveTLVTagLen

Die Standardlänge in Byte eines voll qualifizierten TLV-Tags wird in Unterstützungsmethoden verwendet, die WDM-Strukturen in TLV codieren.

@169

 @169

WDM-spezifische Statuscodes.

Attribute
kStatus_CancelSuccess

Dieser alte Statuscode bedeutet, dass ein Abo erfolgreich gekündigt wurde.

Dieser Statuscode bedeutet, dass ein Abo erfolgreich gekündigt wurde.

kStatus_IllegalReadRequest

Dieser alte Statuscode bedeutet, dass der Knoten, der eine Anfrage zum Lesen eines bestimmten Datenelements sendet, keine entsprechende Berechtigung hat.

Dieser Statuscode bedeutet, dass der Knoten, der eine Anfrage zum Lesen eines bestimmten Datenelements sendet, keine entsprechende Berechtigung hat.

kStatus_IllegalWriteRequest

Dieser alte Statuscode bedeutet, dass der Knoten, der eine Anfrage zum Schreiben eines bestimmten Datenelements sendet, keine entsprechende Berechtigung hat.

Dieser Statuscode bedeutet, dass der Knoten, der eine Anfrage zum Schreiben eines bestimmten Datenelements sendet, keine entsprechende Berechtigung hat.

kStatus_InvalidPath

Dieser alte Statuscode bedeutet, dass ein Pfad aus der Pfadliste eines Anzeige- oder Aktualisierungsanforderungsframes nicht mit dem knotenbasierten Schema des Antwortenden übereinstimmt.

Dieser Statuscode bedeutet, dass ein Pfad aus der Pfadliste eines Anzeige- oder Aktualisierungsanforderungsframes nicht mit dem knotenbasierten Schema des Antwortenden übereinstimmt.

kStatus_InvalidVersion

Dieser alte Statuscode bedeutet, dass die Version für die in einer Aktualisierungsanfrage enthaltenen Daten nicht mit der neuesten Version des Verlags oder Webpublishers übereinstimmt. Das Update konnte daher nicht angewendet werden.

Dieser Statuscode bedeutet, dass die Version für die in einer Aktualisierungsanfrage enthaltenen Daten nicht mit der neuesten Version des Verlags oder Webpublishers übereinstimmt. Das Update konnte daher nicht angewendet werden.

kStatus_UnknownTopic

Dieser alte Statuscode bedeutet, dass die Themen-ID in einer Kündigungsanforderung oder einer Benachrichtigung mit keinem vorhandenen Abo auf dem empfangenden Knoten übereinstimmt.

Dieser Statuscode bedeutet, dass die in einer Abbruchanfrage oder Benachrichtigung angegebene Themen-ID mit keinem Abo auf dem empfangenden Knoten übereinstimmt.

kStatus_UnsupportedSubscriptionMode

Dieser alte Statuscode bedeutet, dass der angeforderte Abomodus auf dem empfangenden Gerät nicht unterstützt wird.

Dieser Statuscode bedeutet, dass der angeforderte Abomodus vom empfangenden Gerät nicht unterstützt wird.

@170

 @170

Data Management Protocol-Tags.

Im Datenverwaltungsprotokoll ist eine Reihe von Tags definiert, die für die TLV-Darstellung der Profildaten verwendet werden sollen.

Wie immer gibt es Kompatibilitätsprobleme zwischen der neuen und der alten WDM. In der alten Zeit wurden alle diese Tags als profilspezifisch angewendet, was Platzverschwendung war. Jetzt verwenden wir nach Möglichkeit Kontext-Tags, aber wir müssen die alten beibehalten (und gegebenenfalls einen Mechanismus zur Codierung von Pfaden mit ihnen haben).

Das Tag kTag_WDMDataListElementData wurde in früheren Releases nicht verwendet und wurde vom Code vollständig ignoriert, sodass wir keine veraltete Version zur Verfügung stellen müssen.

Attribute
kTag_WDMDataList

Das -Element ist eine Liste von Strukturen, die Pfad-, optionale Versions- und Datenelemente enthalten.

Tag-Typ: Profilspezifischer Elementtyp: Arrayanordnung: Oberste Ebene

kTag_WDMDataListElementData

Das -Element stellt die Daten dar, auf die ein bestimmter Pfad verweist und die die angegebene Version haben.

Tag-Typ: Kontextspezifischer Elementtyp: Beliebige Disposition: Erforderlich

kTag_WDMDataListElementData_Deprecated

Veraltet.

Tag-Typ: Kontextspezifischer Elementtyp: Beliebige Disposition: Erforderlich

kTag_WDMDataListElementPath

Das Element ist die Pfadkomponente eines Datenlistenelements.

Tag-Typ: Kontextspezifischer Elementtyp: Pfadanordnung: Erforderlich

kTag_WDMDataListElementPath_Deprecated

Veraltet.

Tag-Typ: Profilspezifischer Elementtyp: Pfadanordnung: erforderlich

kTag_WDMDataListElementVersion

Das Element ist die Versionskomponente eines Datenlistenelements.

Tag-Typ: Kontextspezifischer Elementtyp: Ganzzahlanordnung: Erforderlich

kTag_WDMDataListElementVersion_Deprecated

Veraltet.

Tag-Typ: Profilspezifischer Elementtyp: Ganzzahlanordnung: Erforderlich

kTag_WDMPathArrayIndexSelector

Das Pfadelement entspricht einem Array im Schema und das enthaltene Ganzzahlelement soll als Index für dieses Array verwendet werden.

Tag-Typ: Profilspezifischer Elementtyp: Ganzzahlanordnung: Optional

kTag_WDMPathArrayValueSelector

Das Pfadelement entspricht einem Array im Schema und das eingekapselte Element soll als Datensatzauswahl verwendet werden.

Tag-Typ: Profilspezifischer Elementtyp: Strukturanordnung: Optional

kTag_WDMPathList

Das Element ist eine Liste von TLV-Pfaden.

Tag-Typ: Profilspezifischer Elementtyp: Arrayanordnung: Oberste Ebene

kTag_WDMPathProfile

Das -Element ist eine Struktur, mit der ein Pfad beginnt und die Profilinformationen im Hinblick darauf enthält, welche Tags im Pfad interpretiert werden sollen.

Tag-Typ: Profilspezifischer Elementtyp: Strukturanordnung: Erforderlich

kTag_WDMPathProfileId

Das Element ist eine Profil-ID-Komponente des Pfadprofilelements, mit der ein TLV-Pfad beginnt.

Tag-Typ: Kontextspezifischer Elementtyp: Ganzzahlanordnung: Erforderlich

kTag_WDMPathProfileId_Deprecated

Veraltet.

Tag-Typ: Profilspezifischer Elementtyp: Ganzzahlanordnung: Erforderlich

kTag_WDMPathProfileInstance

Das Element ist eine Profilinstanz, die der Profil-ID in einem TLV-Pfad folgen kann.

Beachten Sie, dass ein Knoten mehrere Instanzen eines bestimmten Profils haben kann oder nicht. Falls es nur eine gibt, kann dieses Element weggelassen werden.

Tag-Typ: Kontextspezifischer Elementtyp: Beliebige Disposition: Optional

kTag_WDMPathProfileInstance_Deprecated

Veraltet.

Tag-Typ: Profilspezifischer Elementtyp: Alle Disposition: Optional

@171

 @171

Distinguished Themen-IDs.

Es gibt drei verschiedene Themen-IDs von Interesse, von denen alle das Format "publisher-spezifisch" haben.

Attribute
kAnyTopicId

Dies ist als Platzhalter-Themen-ID reserviert.

kTopicIdNotSpecified

Dies ist ein spezieller Wert, der zum Ausdruck einer ungültigen Themen-ID oder einer Themen-ID mit Platzhaltern reserviert ist.

kTopicIdPublisherSpecificMask

Dies wird als Maske zum Erstellen oder Aufheben einer Topci-ID verwendet.

WeaveTransportOption

 WeaveTransportOption

WDM-Transportoptionen.

Diese Transportoptionen für WDM schließen sich gegenseitig aus.

Attribute
kTransport_TCP

Der zugrunde liegende Transport ist TCP.

Die Bindung kann entweder mit dem Dienstmanager oder direkt über die Nachrichtenebene abgeschlossen werden.

kTransport_UDP

Der zugrunde liegende Transport erfolgt ausschließlich über UDP.

kTransport_WRMP

Der zugrunde liegende Transport erfolgt ausschließlich über UDP, aber mit verbesserter Zuverlässigkeit aufgrund der Anwendungsunterstützungsebene.

Typedefs

TopicIdentifier

uint64_t TopicIdentifier

Die Themen-ID.

Themenkennungen sind 64-Bit-Mengen mit zwei zusammengehörigen Verwendungen/Semantiken. Sie kann als Abkürzung für einen bekannten Satz von Pfaden verwendet werden, z.B. „der Nest-Rauchmelder“. Auf diese Weise verwendete Themen-IDs müssen ebenso wie Profilkennungen einen Anbietercode enthalten, der verhindert, dass Themen-IDs von unterschiedlichen Anbietern automatisch ausgewählt werden, wie im Folgenden dargestellt:

Bit 48–63 Bit 0–47
Anbieter-ID Themennummer
Die zweite Verwendung/Semantik für Themen-IDs ergibt sich bei einem dynamischen Abo zwischen einem WDM-Client und einem Publisher. In diesem Fall muss der Publisher immer eine eindeutige Themen-ID zur Verfügung stellen, die für das jeweilige Abo steht, und zwar unabhängig davon, ob das Abo mit einer bekannten Themen-ID oder einer beliebigen Pfadliste angefordert wurde. Themen-IDs dieser Form haben den Anbietercode 0xFFFF.

Weitere Informationen:
WeaveVendorIdentifiers.hpp

Funktionen

CheckTLVType

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

Prüfen Sie, ob ein TLV-Element, das gelesen wird, den erwarteten TLV-Typ hat.

Vergleiche einen bestimmten TLV-Typ mit dem Elementtyp am Anfang eines TLV-Lesegeräts.

Details
Parameter
[in] aType
Der TLVType, der mit einem bestimmten Element verglichen werden soll
[in] aReader
Ein Verweis auf ein TLV-Lesegerät, das sich an dem zu prüfenden Element befindet
Rückgabe
true, wenn der TLVType des Elements und der aType übereinstimmen.
Weitere Informationen:
WeaveTLVTypes.h

CheckWDMTag

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

Prüfen Sie ein WDM-spezifisches Tag.

Vergleichen Sie die Nummer eines WDM-spezifischen Tags aus .../data-management/DMConstants.h mit dem tatsächlichen Tag am Anfang eines TLV-Lesegeräts.

Details
Parameter
[in] aTagNum
Die Tag-Nummer, die mit einem bestimmten TLV-Element verglichen werden soll.
[in] aReader
Ein Verweis auf einen TLV-Reader, der auf das zu prüfende Element verweist.
Rückgabe
true iff aReader.GetTag() erzeugt ein Tag, das mit einer der erwarteten Tag-Formen für die angegebene Tag-Nummer übereinstimmt.

CloseDataListElement

WEAVE_ERROR CloseDataListElement(
  nl::Weave::TLV::TLVReader & aReader
)

Das Lesen eines WDM-Datenlistenelements beenden.

Bei dieser Methode wird davon ausgegangen, dass das betreffende Element Teil einer WDM-Datenliste ist. Daher wird kTLVType_Array an ExitContainer() übergeben.

Details
Parameter
[in,out] aReader
Ein TLV-Lesegerät, das in einem WDM-Datenlistenelement positioniert ist.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil ein Container nicht verlassen werden kann.

CloseList

WEAVE_ERROR CloseList(
  nl::Weave::TLV::TLVReader & aReader
)

Beenden Sie das Lesen eines WDM-Pfads oder einer WDM-Datenliste.

Bei dieser Methode wird davon ausgegangen, dass die betreffende Liste das oberste TLV-Element ist. Daher wird kTLVType_Sructure an ExitContainer() übergeben.

Details
Parameter
[in,out] aReader
Ein TLV-Leser, der sich in einem WDM-Pfad oder in einer Datenliste befindet.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil ein Container nicht verlassen werden kann.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

Codieren Sie einen WDM-Pfad mit veralteten Tags und einer Ganzzahl-Instanz-ID.

Hinweis: Codieren Sie einen Pfad mit dem veralteten Tag, das vom Dienst vor Weave-Version 2.0 akzeptiert wurde. Diese Version der Methode verwendet eine numerische Instanzkennung. Diese Methode startet einen Container mit ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) und fügt dann die Profil-ID mit ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Veraltet) ein. Anschließend wird die Instanz-ID mit ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Veraltet) eingefügt. Dies ist eine der veralteten Versionen zur Codierung eines Pfads. Bei neuen Designs sollte dieses Format nicht verwendet werden.

Details
Parameter
[in] aWriter
Ein Verweis auf den TLV-Schreiber, der zum Erstellen des Pfads verwendet wird.
[in] aTag
Ein Verweis auf das voll qualifizierte TLV-Tag, das für diesen Pfad gilt.
[in] aProfileId
Die Profil-ID, unter der Elemente des Pfads interpretiert werden sollen.
[in] aInstanceId
Ein Verweis auf die optionale Instanz-ID des zu verwendenden Profils.
[in] aPathLen
Die Länge der Liste der Pfadelemente, die über den ursprünglichen Profilspezifizierer hinausgeht, möglicherweise 0.
[in] ...
Die optionale Liste der zusätzlichen Pfad-Tags mit variabler Länge
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil der angegebene Pfad nicht formatiert werden kann.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

Codieren Sie einen WDM-Pfad mit veralteten Tags und einer Stringinstanz-ID.

Hinweis:Codieren Sie einen Pfad mit dem eingestellten Tag-Set (siehe DMConstants.h). Diese Version der Methode verwendet einen Instanz-ID-String. Diese Methode startet einen Container mit ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) und fügt dann die Profil-ID mit ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Veraltet) ein. Anschließend wird die Instanz-ID mit ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Veraltet) eingefügt. Dies ist eine der veralteten Versionen zur Codierung eines Pfads. Bei neuen Designs sollte dieses Format nicht verwendet werden.

Details
Parameter
[in] aWriter
Ein Verweis auf den TLV-Schreiber, der zum Erstellen des Pfads verwendet wird.
[in] aTag
Ein Verweis auf das voll qualifizierte TLV-Tag, das für diesen Pfad gilt.
[in] aProfileId
Die Profil-ID, unter der Elemente des Pfads interpretiert werden sollen.
[in] aInstanceId
Der optionale String, der als Profilinstanz-ID verwendet wird. Dieses Argument kann NULL sein, wenn keine Instanz-ID angegeben wurde.
[in] aPathLen
Die Länge der Liste der Pfadelemente, die über den ursprünglichen Profilspezifizierer hinausgeht, möglicherweise 0.
[in] ...
Die optionale Liste mit zusätzlichen Pfad-Tags mit variabler Länge.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil der angegebene Pfad nicht formatiert werden kann.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

Codieren Sie einen WDM-Pfad mit einer Ganzzahlprofilinstanz-ID.

Hinweis:Schreiben Sie einen TLV-Pfad von der Art, die in der Datenverwaltung verwendet wird. Dabei sollte insbesondere eine Profilbezeichnung am Anfang stehen, damit nachfolgende Pfadelemente interpretiert werden können. Diese Version der Methode verwendet eine Ganzzahlprofil-Instanz-ID.

Diese Methode fügt die Instanz-ID mithilfe von ContextTag(kTag_WDMPathProfileInstance) ein. Dies ist die neueste Version zur Codierung eines Pfads.

Details
Parameter
[in] aWriter
Ein Verweis auf den TLV-Schreiber, der zum Erstellen des Pfads verwendet wird.
[in] aTag
Ein Verweis auf das voll qualifizierte TLV-Tag, das für diesen Pfad gilt.
[in] aProfileId
Die Profil-ID, unter der Elemente des Pfads interpretiert werden sollen.
[in] aInstanceId
Ein Verweis auf die optionale Instanzkennung des zu verwendenden Profils. Wenn keine Instanz-ID verwendet werden soll, muss dieser Parameter den Wert kInstanceIdNot Specific haben.
[in] aPathLen
Die Länge der Liste der Pfadelemente, die über den ursprünglichen Profilspezifizierer hinausgeht, möglicherweise 0.
[in] ...
Die optionale Liste der zusätzlichen Pfad-Tags mit variabler Länge
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil der angegebene Pfad nicht formatiert werden kann.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

Codieren Sie einen WDM-Pfad mit einer Byte-Array-Instanz-ID.

Hinweis:Schreiben Sie einen TLV-Pfad von der Art, die in der Datenverwaltung verwendet wird. Dabei sollte insbesondere eine Profilbezeichnung am Anfang stehen, damit nachfolgende Pfadelemente interpretiert werden können. Diese Version der Methode verwendet eine Byte-Array-Profilinstanz-ID sowie die Länge.

Diese Methode fügt die Instanz-ID mithilfe von ContextTag(kTag_WDMPathProfileInstance) ein. Dies ist die neueste Version zur Codierung eines Pfads.

Details
Parameter
[in] aWriter
Ein Verweis auf den TLV-Schreiber, der zum Erstellen des Pfads verwendet wird.
[in] aTag
Ein Verweis auf das voll qualifizierte TLV-Tag, das für diesen Pfad gilt.
[in] aProfileId
Die Profil-ID, unter der die Elemente des Pfads interpretiert werden sollen.
[in] aInstanceIdLen
Die Länge des Bytearrays, aus dem die Instanz-ID besteht. Wenn keine ID vorhanden ist, hat dieser Parameter den Wert 0.
[in] aInstanceId
Das optionale Byte-Array, das als Profilinstanz-ID verwendet wird. Dieses Argument kann NULL sein, wenn keine Instanz-ID angegeben ist.
[in] aPathLen
Die Länge der Liste der Pfadelemente, die über den ursprünglichen Profilspezifizierer hinausgeht, möglicherweise 0.
[in] ...
Die optionale Liste mit zusätzlichen Pfad-Tags mit variabler Länge.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil der angegebene Pfad nicht formatiert werden kann.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

Codieren Sie einen WDM-Pfad mit einer Stringinstanz-ID.

Hinweis:Schreiben Sie einen TLV-Pfad von der Art, die in der Datenverwaltung verwendet wird. Dabei sollte insbesondere eine Profilbezeichnung am Anfang stehen, damit nachfolgende Pfadelemente interpretiert werden können. Diese Version der Methode verwendet eine Stringprofil-Instanz-ID.

Diese Methode fügt die Instanz-ID mithilfe von ContextTag(kTag_WDMPathProfileInstance) ein. Dies ist die neueste Version zur Codierung eines Pfads.

Details
Parameter
[in] aWriter
Ein Verweis auf den TLV-Schreiber, der zum Erstellen des Pfads verwendet wird.
[in] aTag
Ein Verweis auf das voll qualifizierte TLV-Tag, das für diesen Pfad gilt.
[in] aProfileId
Die Profil-ID, unter der Elemente des Pfads interpretiert werden sollen.
[in] aInstanceId
Der optionale String, der als Profilinstanz-ID verwendet wird. Dieses Argument kann NULL sein, wenn keine Instanz-ID angegeben wurde.
[in] aPathLen
Die Länge der Liste der Pfadelemente, die über den ursprünglichen Profilspezifizierer hinausgeht, möglicherweise 0.
[in] ...
Die optionale Liste mit zusätzlichen Pfad-Tags mit variabler Länge.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil der angegebene Pfad nicht formatiert werden kann.

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

Schließen Sie das Schreiben eines Datenlistenelements ab.

Schreiben Sie den TLV für das Ende eines WDM-Datenlistenelements. Beachten Sie, dass dies automatisch einen Typ von kTLVType_Array an den EndContainer()-Aufruf übergibt, vorausgesetzt, wir schließen immer ein Listenelement.

Details
Parameter
[in] aWriter
Ein Verweis auf einen TLV-Schreibenden, mit dem das Ende des Elements geschrieben werden soll.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, was bedeutet, dass ein Container nicht beendet werden kann.

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

EndList

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Schließen Sie das Schreiben einer Pfad- oder Datenliste ab.

Schreiben Sie den TLV für das Ende eines WDM-Pfads oder einer Datenliste. Stellen Sie auch den Autor fertig.

Details
Parameter
[in,out] aWriter
Ein Verweis auf einen TLV-Autor, mit dem das Ende der Liste geschrieben werden soll.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, was bedeutet, dass ein Container nicht beendet werden kann.

EndList

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Schließen Sie das Schreiben einer Pfad- oder Datenliste ab.

Schreiben Sie den TLV für das Ende eines WDM-Pfads oder einer Datenliste. Stellen Sie auch den Autor fertig. In diesem Fall wird das Objekt ReferencedTLVData, in das TLV geschrieben wird, übergeben und geändert, um die Menge der geschriebenen Daten widerzuspiegeln.

Details
Parameter
[in,out] aList
Ein Verweis auf das ReferenceTLVData-Objekt, in das die Liste geschrieben wurde.
[in] aWriter
Ein Verweis auf einen TLV-Autor, mit dem das Ende der Liste geschrieben werden soll.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, was bedeutet, dass ein Container nicht beendet werden kann.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Prüfen Sie, ob eine Themen-ID publisher-spezifisch ist.

Details
Parameter
[in] aTopicId
Themen-ID der Prüfung
Rückgabe
„true“, wenn die Themen-ID publisher-spezifisch ist, andernfalls „false“

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

Beginnen Sie mit dem Lesen einer Datenliste.

Lesen Sie die Liste mit einem neuen Lesegerät und einer Datenliste und validieren Sie die Tags und Typen, die anfänglich im Prozess gefunden wurden. Wenn alles gut läuft, stoppt der Leser, nachdem der Listencontainer aufgerufen wurde.

Details
Parameter
[in] aDataList
Eine Datenliste, die als Verweis an ein Objekt ReferencedTLVData übergeben wird. Im normalen Anwendungsfall befindet sich die Liste nach dem Erhalt noch in einem Puffer.
[out] aReader
Ein Verweis auf einen TLV-Reader, der zum Lesen der Datenliste verwendet wird. Dieser Reader zeigt unmittelbar vor dem ersten Element in der Liste.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, wenn ein Fehler auftritt, um die Datenliste zu öffnen und/oder die relevanten Tags und Typen zu validieren.

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

Beginnen Sie, ein Datenlistenelement zu lesen.

Wenn sich ein Leser an einem Datenlistenelement befindet, beginnen Sie mit dem Lesen des Elements und validieren die Tags und Typen, die anfänglich im Prozess aufgetreten sind. Wenn alles gut läuft, wird der Leser am Ende bei den Datenelementdaten positioniert und der Ein-/Aus-Pfad wird am entsprechenden Pfad positioniert.

Details
Parameter
[in] aReader
Ein Verweis auf einen TLV-Leser, der sich an einem Datenlistenelement befindet.
[out] aPathReader
Ein Verweis auf einen TLV-Reader, der auf die Pfadkomponente des Datenlistenelements verweist.
[out] aVersion
Ein Verweis auf eine 64-Bit-Ganzzahl, der entweder auf die Version des Datenlistenelements, falls vorhanden, oder auf kVersionNotspe, festgelegt wird.
Rückgabe
WEAVE_NO_ERROR bei Erfolg oder ein WEAVE_ERROR, der mit dem Öffnen und Lesen des Datenlistenelements verknüpft ist.

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

Beginnen Sie, eine Pfadliste zu lesen.

Lesen Sie die Liste mit einem neuen Lesegerät und einer Pfadliste und prüfen Sie die Tags und Typen, auf die Sie am Anfang des Prozesses gestoßen sind. Wenn alles gut läuft, stoppt der Leser, nachdem der Listencontainer aufgerufen wurde.

Details
Parameter
[in] aPathList
Eine Pfadliste, die als Verweis an ein Objekt ReferencedTLVData übergeben wird. Im normalen Anwendungsfall befindet sich die Liste nach dem Erhalt noch in einem Puffer.
[out] aReader
Ein Verweis auf einen TLV-Reader, der zum Lesen der Pfadliste verwendet wird. Dieser Reader zeigt unmittelbar vor dem ersten Pfad in der Liste.
Rückgabe
WEAVE_NO_ERROR bei Erfolg. Andernfalls wird ein WEAVE_ERROR-Fehler zurückgegeben, um die Pfadliste zu öffnen und/oder die relevanten Tags und Typen zu überprüfen.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

Erstellen Sie eine neue ID für ein publisher-spezifisches Thema.

Details
Rückgabe
die neue Themen-ID.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Beginnen Sie mit dem Schreiben einer Datenliste.

Schreiben Sie den TLV für den Anfang einer WDM-Datenliste, z.B. als primäres Argument einer UpdateRequest().

Details
Parameter
[in] aWriter
Ein Hinweis auf einen TLV-Autor, mit dem du schreiben kannst.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil ein Container nicht gestartet werden kann.

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Beginnen Sie mit dem Schreiben einer Datenliste in ein bestimmtes ReferencedTLVData-Objekt.

Schreiben Sie den TLV für den Anfang einer WDM-Datenliste. In diesem Fall gehen wir davon aus, dass wir die Datenliste in eine referenzierte TLV-Datenstruktur ausschreiben. Es wird angenommen, dass der Writer nicht initialisiert ist, bzw. in jedem Fall so initialisiert wird, dass er auf das angegebene Objekt verweist.

Details
Parameter
[out] aDataList
Ein Verweis auf ein ReferencedTLVData-Objekt, das das Ziel des Autors sein soll und schließlich die relevanten Daten enthält.
[in] aWriter
Ein Hinweis auf einen TLV-Autor, mit dem du schreiben kannst.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil ein Container nicht gestartet werden kann.

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

Beginnen Sie mit dem Schreiben eines Datenlistenelements.

Schreiben Sie den TLV für den Anfang eines WDM-Datenlistenelements.

Details
Parameter
[in] aWriter
Ein Hinweis auf einen TLV-Autor, mit dem du schreiben kannst.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil ein Container nicht gestartet werden kann.

StartEncodePath

WEAVE_ERROR StartEncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  TLVType & mOuterContainer,
  TLVType & mPath
)

StartPathList

WEAVE_ERROR StartPathList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Beginnen Sie mit dem Schreiben einer Pfadliste.

Schreiben Sie den TLV für den Anfang einer WDM-Pfadliste, z.B. als primäres Argument einer ViewRequest().

Details
Parameter
[in] aWriter
Ein Hinweis auf einen TLV-Autor, mit dem du schreiben kannst.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls wird WEAVE_ERROR zurückgegeben, weil ein Container nicht gestartet werden kann.

TxnResponseHandler

void TxnResponseHandler(
  ExchangeContext *anExchangeCtx,
  const IPPacketInfo *anAddrInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

TxnTimeoutHandler

void TxnTimeoutHandler(
  ExchangeContext *anExchangeCtx
)

ValidateTLVType

WEAVE_ERROR ValidateTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

Prüfen Sie, ob ein TLV-Element, das gelesen wird, den erwarteten TLV-Typ hat.

Vergleiche einen bestimmten TLV-Typ mit dem Elementtyp am Anfang eines TLV-Lesegeräts und gib einen Fehler zurück, wenn es keine Übereinstimmung gibt.

Details
Parameter
[in] aType
Der TLVType, der gegen ein bestimmtes Element validiert werden soll.
[in] aReader
Ein Verweis auf einen TLV-Leser, der sich bei dem zu validierenden Element befindet.
Rückgabe
WEAVE_NO_ERROR, wenn eine Übereinstimmung vorliegt, oder WEAVE_ERROR_WRONG_TLV_TYPE, wenn nicht.
Weitere Informationen:
WeaveTLVTypes.h

ValidateWDMTag

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

Prüfen Sie, ob das gelesene TLV-Element das erwartete WDM-Tag hat.

Details
Parameter
[in] aTagNum
Die 32-Bit-Tag-Nummer des erwarteten WDM-Tags.
[in] aReader
Ein TLV-Leser, der sich bei dem zu validierenden Element befindet.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg Andernfalls WEAVE_ERROR_INVALID_TLV_TAG, wenn das Tag nicht mit der angegebenen Tag-Nummer übereinstimmt und als WDM-Tag interpretiert wird.