nl::Weave::Profiles::DataManagement_Legacy

Dieser Namespace umfasst alle Schnittstellen in Weave für das WDM-Profil (Weave Data Management), die bald nicht mehr unterstützt 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 im WDM-Profil.
@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
Datenverwaltungsprotokoll-Tags.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
Eindeutige 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 gelesenes TLV-Element den erwarteten TLV-Typ hat.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
Überprüfen Sie ein WDM-spezifisches Tag.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
Beenden Sie das Lesen eines WDM-Datenlistenelements.
CloseList(nl::Weave::TLV::TLVReader & aReader)
Beenden Sie das Lesen eines WDM-Pfads oder einer Datenliste.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Codieren Sie einen WDM-Pfad mit eingestellten Tags und einer ganzzahligen Instanz-ID.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Codieren Sie einen WDM-Pfad mit eingestellten Tags und einer String-Instanz-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 ganzzahligen Profil-Instanz-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 String-Instanz-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 mit dem Lesen eines Datenlistenelements.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
Beginnen Sie mit dem Lesen einer Pfadliste.
PublisherSpecificTopicId(void)
Erstelle eine ganz neue Publisher-spezifische Themen-ID.
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 gelesenes TLV-Element den erwarteten TLV-Typ hat.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Prüfen Sie, ob ein gelesenes TLV-Element das erwartete WDM-Tag enthält.

Klassen

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

Die Klasse Binding verwaltet den Kommunikationsstatus im Namen einer Anwendungsentität mithilfe von Weave.

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

Eine abstrakte Klasse mit den vom WDM-Client benötigten Confirm- und Indication-Methodendefinitionen.

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

Eine Hilfsklasse, die verwendet wird, wenn auf einem WDM-Client Abos und Benachrichtigungen unterstützt werden sollen.

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

Abstrakte Basisklasse für anwendungsspezifische WDM-Clients.

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

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 mit den vom WDM-Publisher geforderten Definitionen für Bestätigungsmethoden und Benachrichtigungsmethoden.

Aufzählungen

@103

 @103
Attribute
kStatus_CancelSuccess

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

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

kStatus_IllegalReadRequest

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

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

kStatus_IllegalWriteRequest

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

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

kStatus_InvalidPath

Dieser Legacy-Statuscode bedeutet, dass ein Pfad aus der Pfadliste eines Ansichts- oder Aktualisierungsanfrageframes nicht mit dem Knoten-residenten Schema des Antwortenden übereinstimmt.

Dieser Statuscode bedeutet, dass ein Pfad aus der Pfadliste eines Anfrage-Frames zum Ansehen oder Aktualisieren nicht mit dem Knoten-residenten Schema des Antwortenden übereinstimmt.

kStatus_InvalidVersion

Dieser alte Statuscode bedeutet, dass die Version für Daten in einer Aktualisierungsanfrage nicht mit der neuesten Version des Publishers übereinstimmte. Daher konnte das Update nicht angewendet werden.

Dieser Statuscode bedeutet, dass die Version für Daten in einer Aktualisierungsanfrage nicht mit der neuesten Version des Publishers übereinstimmte, sodass das Update nicht angewendet werden konnte.

kStatus_UnknownTopic

Dieser Legacy-Statuscode bedeutet, dass die in einer Kündigungsanfrage oder Benachrichtigung angegebene Themen-ID mit keinem der vorhandenen Abos auf dem empfangenden Knoten übereinstimmt.

Dieser Statuscode bedeutet, dass die in einer Kündigungsanfrage oder Benachrichtigung angegebene Themen-ID nicht mit einem vorhandenen Abo auf dem empfangenden Knoten übereinstimmt.

kStatus_UnsupportedSubscriptionMode

Dieser alte Statuscode bedeutet, dass der angeforderte Abomodus vom Empfängergerät nicht unterstützt wird.

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

@166

 @166

WDM-Pool- und -Tabellengrößen.

Im Folgenden werden die für den Betrieb erforderlichen Pools und Tabellen definiert.

Transaktionspools der Kunden:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Transaktionspools von Publishern:

  • kNotifyPoolSize

Protokoll-Engine-Tabellen:

  • kTransactionTableSize
  • kBindingTableSize

Abobezogene Tabellen:

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

Beachten Sie, dass dies konfigurierbare Mengen sind und die plattformspezifischen Werte in der zugehörigen 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 die Abokündigung bei einem 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 bei einem 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

Dies 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 der Aktualisierungsanfrage 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 von Aufrufanfragen für einen WDM-Client.

Dieser Wert kann über WEAVE_CONFIG_WDM_VIEW_POOL_SIZE konfiguriert werden.

@167

 @167

Die Nachrichtentypen im WDM-Profil.

Diese Werte werden in der Datenverwaltungsspezifikation angegeben.

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

Attribute
kMsgType_CancelSubscriptionRequest

Nachricht zur Abokündigung.

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 „keine“ angegeben.

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

kResponseTimeoutNotSpecified

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

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

kTransactionIdNotSpecified

Gibt in Methoden und Datenstrukturen, die eine Transaktions-ID annehmen, „keine“ an oder einen Platzhalterwert.

kVersionNotSpecified

Bei Aufrufen, für die die Angabe einer Datenversion erforderlich ist, wird „keine bestimmte Version“ angegeben.

kWeaveTLVControlByteLen

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

kWeaveTLVTagLen

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

@169

 @169

WDM-spezifische Statuscodes

Attribute
kStatus_CancelSuccess

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

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

kStatus_IllegalReadRequest

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

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

kStatus_IllegalWriteRequest

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

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

kStatus_InvalidPath

Dieser Legacy-Statuscode bedeutet, dass ein Pfad aus der Pfadliste eines Ansichts- oder Aktualisierungsanfrageframes nicht mit dem Knoten-residenten Schema des Antwortenden übereinstimmt.

Dieser Statuscode bedeutet, dass ein Pfad aus der Pfadliste eines Anfrage-Frames zum Ansehen oder Aktualisieren nicht mit dem Knoten-residenten Schema des Antwortenden übereinstimmt.

kStatus_InvalidVersion

Dieser alte Statuscode bedeutet, dass die Version für Daten in einer Aktualisierungsanfrage nicht mit der neuesten Version des Publishers übereinstimmte. Daher konnte das Update nicht angewendet werden.

Dieser Statuscode bedeutet, dass die Version für Daten in einer Aktualisierungsanfrage nicht mit der neuesten Version des Publishers übereinstimmte, sodass das Update nicht angewendet werden konnte.

kStatus_UnknownTopic

Dieser Legacy-Statuscode bedeutet, dass die in einer Kündigungsanfrage oder Benachrichtigung angegebene Themen-ID mit keinem der vorhandenen Abos auf dem empfangenden Knoten übereinstimmt.

Dieser Statuscode bedeutet, dass die in einer Kündigungsanfrage oder Benachrichtigung angegebene Themen-ID nicht mit einem vorhandenen Abo auf dem empfangenden Knoten übereinstimmt.

kStatus_UnsupportedSubscriptionMode

Dieser alte Statuscode bedeutet, dass der angeforderte Abomodus vom Empfängergerät nicht unterstützt wird.

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

@170

 @170

Datenverwaltungsprotokoll-Tags.

Das Datenverwaltungsprotokoll definiert eine Reihe von Tags, die in der TLV von Profildaten verwendet werden.

Wie immer gibt es Kompatibilitätsprobleme zwischen dem neuen und dem alten WDM. Früher 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 ggf. einen Mechanismus zur Codierung von Pfaden mit ihnen vorhanden sein).

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

Attribute
kTag_WDMDataList

Das Element ist eine Liste von Strukturen, die Pfad, optionale Version und Datenelemente enthält.

Tag-Typ: profilspezifischer Elementtyp: Arrayanordnung: Oberste Ebene

kTag_WDMDataListElementData

Das -Element stellt die Daten dar, auf die in einem bestimmten Pfad verwiesen wird und die die angegebene Version haben.

Tag-Typ: Kontextspezifischer Elementtyp: Beliebige Disposition: Erforderlich

kTag_WDMDataListElementData_Deprecated

Verworfen.

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

Verworfen.

Tag-Typ: profilspezifischer Elementtyp: Pfadanordnung: Erforderlich

kTag_WDMDataListElementVersion

Das Element ist die Versionskomponente eines Datenlistenelements.

Tag-Typ: Kontextspezifischer Elementtyp: Ganzzahlanordnung: Erforderlich

kTag_WDMDataListElementVersion_Deprecated

Verworfen.

Tag-Typ: Profilspezifischer Elementtyp: Ganzzahlanordnung: Erforderlich

kTag_WDMPathArrayIndexSelector

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

Tag-Typ: profilspezifischer Elementtyp: Ganzzahlanordnung: Optional

kTag_WDMPathArrayValueSelector

Das Pfadelement entspricht einem Array im Schema und das eingeschlossene 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, die zum Starten eines Pfads verwendet wird und die Profilinformationen enthält, bei denen die Tags im Pfad interpretiert werden sollen.

Tag-Typ: Profilspezifischer Elementtyp: Strukturanordnung: Erforderlich

kTag_WDMPathProfileId

Das Element ist eine Profil-ID-Komponente des Pfadprofilelements, das einen TLV-Pfad beginnt.

Tag-Typ: Kontextspezifischer Elementtyp: Ganzzahlanordnung: Erforderlich

kTag_WDMPathProfileId_Deprecated

Verworfen.

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 auch nicht. Wenn nur eine vorhanden ist, kann dieses Element weggelassen werden.

Tag-Typ: Kontextspezifischer Elementtyp: Beliebige Disposition: Optional

kTag_WDMPathProfileInstance_Deprecated

Verworfen.

Tag-Typ: Profilspezifischer Elementtyp: Beliebige Disposition: Optional

@171

 @171

Eindeutige Themen-IDs

Es gibt drei verschiedene Themen-IDs von Interesse, die alle als „publisher-spezifisch“ formatiert sind.

Attribute
kAnyTopicId

Dies ist als Platzhalter-Themen-ID reserviert.

kTopicIdNotSpecified

Dies ist ein spezieller Wert, der für eine ungültige Themen-ID oder eine Platzhalter-Themen-ID reserviert ist.

kTopicIdPublisherSpecificMask

Dies wird als Maske verwendet, um eine Topci-ID zu erstellen oder zu zerlegen.

WeaveTransportOption

 WeaveTransportOption

WDM-Transportoptionen

Dies sind Transportoptionen für WDM, die sich gegenseitig ausschließen.

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

Das zugrunde liegende Transportmittel ist ausschließlich UDP.

kTransport_WRMP

Das zugrunde liegende Transportmittel ist ausschließlich UDP, aber mit der „Application Support Layer“ (Anwendungssupportebene). Verbesserungen bei der Zuverlässigkeit.

Typedefs

TopicIdentifier

uint64_t TopicIdentifier

Die Themen-ID.

Themenkennungen sind 64-Bit-Mengen mit zwei verwandten Verwendungsmöglichkeiten/Semantiken. Zunächst lassen sie sich als konventionelle Abkürzung für einen bekannten Satz von Pfaden verwenden, z.B. „der Nest-Rauchmelder“. Themen-IDs, die auf diese Weise verwendet werden, müssen wie Profil-IDs einen Anbietercode enthalten, der verhindert, dass Themen-IDs, die von unterschiedlichen Anbietern automatisch ausgewählt werden, miteinander in Konflikt stehen:

Bit 48–63 Bit 0–47
Anbieter-ID Themennummer
Die zweite Verwendung/Semantik für Themenkennungen ergibt sich bei einem dynamischen Abo zwischen einem WDM-Client und einem Verlag oder Webpublisher. In diesem Fall muss der Verlag oder Webpublisher immer eine eindeutige Themen-ID angeben, die für das jeweilige Abonnement steht. Dies geschieht unabhängig davon, ob das Abonnement mithilfe einer bekannten Themen-ID oder einer beliebigen Pfadliste angefordert wurde. Themen-IDs dieses Formulars zeichnen sich durch den Anbietercode 0xFFFF aus.

Weitere Informationen:
WeaveVendorIdentifiers.hpp

Funktionen

CheckTLVType

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

Prüfen Sie, ob ein gelesenes TLV-Element den erwarteten TLV-Typ hat.

Vergleichen Sie einen bestimmten TLV-Typ mit dem Elementtyp am Kopf eines TLV-Lesegeräts.

Details
Parameter
[in] aType
Der TLVType, der mit einem bestimmten Element verglichen werden soll
[in] aReader
Ein Verweis auf einen TLV-Leser, der sich am zu prüfenden Element befindet
Rückgabe
"true", wenn der TLVType des Elements und "aType" übereinstimmen.
Weitere Informationen:
WeaveTLVTypes.h

CheckWDMTag

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

Überprüfen Sie ein WDM-spezifisches Tag.

Vergleichen Sie die Nummer eines WDM-spezifischen Tags (.../data-management/DMConstants.h) mit dem tatsächlichen Tag am Head 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-Leser, der auf das zu überprüfende Element verweist.
Rückgabe
"true", wenn "aReader.GetTag()" ein Tag erzeugt, das mit einer der erwarteten Tag-Formulare für die angegebene Tag-Nummer übereinstimmt.

CloseDataListElement

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

Beenden Sie das Lesen eines WDM-Datenlistenelements.

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

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

CloseList

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

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

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

Details
Parameter
[in,out] aReader
Ein TLV-Lesegerät, das sich in einem WDM-Pfad oder einer Datenliste befindet.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass 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 eingestellten Tags und einer ganzzahligen Instanz-ID.

Hinweis:Codieren Sie einen Pfad mit dem eingestellten Tag, das vom Dienst vor der 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_deprecation) ein. Anschließend wird die Instanz-ID mit ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_veraltet) eingefügt. Dies ist eine der veralteten Versionen für die Codierung eines Pfads. In neuen Designs sollte dieses Format nicht verwendet werden.

Details
Parameter
[in] aWriter
Ein Verweis auf den TLV-Autor, der zum Ausschreiben des Pfads verwendet wurde.
[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 von Pfadelementen, die über den anfänglichen Profilspezifizierer hinausgeht, möglicherweise 0.
[in] ...
Die optionale Liste zusätzlicher Pfad-Tags mit variabler Länge.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass 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 eingestellten Tags und einer String-Instanz-ID.

Hinweis:Codieren Sie einen Pfad mit dem nicht mehr unterstützten Tag-Satz (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_deprecation) ein. Anschließend wird die Instanz-ID mit ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_veraltet) eingefügt. Dies ist eine der veralteten Versionen für die Codierung eines Pfads. In neuen Designs sollte dieses Format nicht verwendet werden.

Details
Parameter
[in] aWriter
Ein Verweis auf den TLV-Autor, der zum Ausschreiben des Pfads verwendet wurde.
[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 ist.
[in] aPathLen
Die Länge der Liste von Pfadelementen, die über den anfänglichen Profilspezifizierer hinausgeht, möglicherweise 0.
[in] ...
Die optionale Liste zusätzlicher Pfad-Tags mit variabler Länge.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass 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 ganzzahligen Profil-Instanz-ID.

Hinweis:Schreiben Sie einen TLV-Pfad der Art, die in der Datenverwaltung verwendet wird. Dabei wird insbesondere am Anfang eine Profilbezeichnung platziert, damit nachfolgende Pfadelemente interpretiert werden können. Diese Version der Methode verwendet eine Instanz-ID für ein ganzzahliges Profil.

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

Details
Parameter
[in] aWriter
Ein Verweis auf den TLV-Autor, der zum Ausschreiben des Pfads verwendet wurde.
[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, sollte dieser Parameter den Wert „kInstanceIdNotSpecific“ haben.
[in] aPathLen
Die Länge der Liste von Pfadelementen, die über den anfänglichen Profilspezifizierer hinausgeht, möglicherweise 0.
[in] ...
Die optionale Liste zusätzlicher Pfad-Tags mit variabler Länge.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass 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 der Art, die in der Datenverwaltung verwendet wird. Dabei wird insbesondere am Anfang eine Profilbezeichnung platziert, damit nachfolgende Pfadelemente interpretiert werden können. Diese Version der Methode verwendet eine Byte-Array-Profilinstanz-ID zusammen mit einer Länge.

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

Details
Parameter
[in] aWriter
Ein Verweis auf den TLV-Autor, der zum Ausschreiben des Pfads verwendet wurde.
[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 Byte-Arrays, aus dem die Instanz-ID besteht. Ist keine ID vorhanden, hat dieser Parameter den Wert 0.
[in] aInstanceId
Das optionale Byte-Array, das als Profilinstanzkennung verwendet wird. Dieses Argument kann NULL sein, wenn keine Instanz-ID angegeben ist.
[in] aPathLen
Die Länge der Liste von Pfadelementen, die über den anfänglichen Profilspezifizierer hinausgeht, möglicherweise 0.
[in] ...
Die optionale Liste zusätzlicher Pfad-Tags mit variabler Länge.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass 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 String-Instanz-ID.

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

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

Details
Parameter
[in] aWriter
Ein Verweis auf den TLV-Autor, der zum Ausschreiben des Pfads verwendet wurde.
[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 ist.
[in] aPathLen
Die Länge der Liste von Pfadelementen, die über den anfänglichen Profilspezifizierer hinausgeht, möglicherweise 0.
[in] ...
Die optionale Liste zusätzlicher Pfad-Tags mit variabler Länge.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass 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 eine Art von kTLVType_Array an den EndContainer()-Aufruf übergibt, vorausgesetzt, dass immer ein Listenelement geschlossen wird.

Details
Parameter
[in] aWriter
Ein Verweis auf einen TLV-Autor, mit dem das Ende des Artikels geschrieben werden soll.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, 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 an das Ende eines WDM-Pfads oder einer Datenliste. Und fertigen Sie den Autor an.

Details
Parameter
[in,out] aWriter
Ein Verweis auf einen TLV-Schreiber, mit dem das Ende der Liste geschrieben wird.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, 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 an das Ende eines WDM-Pfads oder einer Datenliste. Und fertigen Sie den Autor an. In diesem Fall wird das Objekt ReferencedTLVData, in das die TLV geschrieben wird, übergeben und angepasst, um die Menge der geschriebenen Daten widerzuspiegeln.

Details
Parameter
[in,out] aList
Ein Verweis auf das Objekt ReferenceTLVData, in das die Liste geschrieben wurde.
[in] aWriter
Ein Verweis auf einen TLV-Schreiber, mit dem das Ende der Liste geschrieben wird.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, 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
Themenkennung o. ä.
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 und überprüfen Sie die Tags und Typen, auf die sie ursprünglich gestoßen sind. Wenn alles gut geht, stoppt der Leser, nachdem der Listencontainer eingegeben wurde.

Details
Parameter
[in] aDataList
Eine Datenliste, die als Verweis auf ein ReferencedTLVData-Objekt übergeben wird. Im Normalfall befindet sich die Liste nach Erhalt noch in einem Zwischenspeicher.
[out] aReader
Eine Referenz auf einen TLV-Leser, der zum Lesen der Datenliste verwendet wird. Dieser Leser wird direkt vor dem ersten Element in der Liste nach links zeigen.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der einen Fehler beim Öffnen der Datenliste und/oder Validieren der relevanten Tags und Typen darstellt.

OpenDataListElement

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

Beginnen Sie mit dem Lesen eines Datenlistenelements.

Wenn sich ein Leser in einem Datenlistenelement befindet, sollten Sie mit dem Lesen des Elements beginnen und die Tags und Typen validieren, die ursprünglich während des Vorgangs aufgetreten sind. Wenn alles gut geht, wird das Lesegerät an den Datenelementdaten und das Ein-/Aus-Pfadlesegerät am entsprechenden Pfad positioniert.

Details
Parameter
[in] aReader
Ein Verweis auf einen TLV-Leser, der sich in einem Datenlistenelement befindet.
[out] aPathReader
Ein Verweis auf einen TLV-Leser, der auf die Pfadkomponente des Datenlistenelements verweist.
[out] aVersion
Ein Verweis auf eine 64-Bit-Ganzzahl, der entweder auf die Version des Datenlistenelements, sofern vorhanden, oder auf kVersionNotRequested 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 mit dem Lesen einer Pfadliste.

Lesen Sie die Liste und überprüfen Sie die Tags und Typen, die ursprünglich im Prozess erkannt wurden. Wenn alles gut geht, stoppt der Leser, nachdem der Listencontainer eingegeben wurde.

Details
Parameter
[in] aPathList
Eine Pfadliste, die als Verweis an ein ReferencedTLVData-Objekt übergeben wird. Im Normalfall befindet sich die Liste nach Erhalt noch in einem Zwischenspeicher.
[out] aReader
Eine Referenz auf einen TLV-Leser, der zum Lesen der Pfadliste verwendet wird. Dieser Leser wird direkt vor dem ersten Pfad in der Liste nach links zeigen.
Rückgabe
WEAVE_NO_ERROR bei Erfolg; Andernfalls wird ein WEAVE_ERROR für einen Fehler ausgegeben, wenn Sie die Pfadliste öffnen und/oder die relevanten Tags und Typen validieren.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

Erstelle eine ganz neue Publisher-spezifische Themen-ID.

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 am Anfang einer WDM-Datenliste. Beispiel: als primäres Argument einer UpdateRequest().

Details
Parameter
[in] aWriter
Ein Hinweis auf einen TLV, mit dem der Text beginnen soll.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass kein Container 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 die Datenliste in eine referenzierte TLV-Datenstruktur geschrieben wird. Es wird angenommen, dass der Writer nicht initialisiert ist, oder in jedem Fall wird er initialisiert, um auf das angegebene Objekt zu verweisen.

Details
Parameter
[out] aDataList
Ein Verweis auf ein ReferencedTLVData-Objekt, das das Ziel des Autors sein soll und schließlich die relevanten Daten enthalten soll.
[in] aWriter
Ein Hinweis auf einen TLV, mit dem der Text beginnen soll.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass kein Container 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, mit dem der Text beginnen soll.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass kein Container 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 am Anfang einer WDM-Pfadliste. Beispiel: als primäres Argument einer ViewRequest().

Details
Parameter
[in] aWriter
Ein Hinweis auf einen TLV, mit dem der Text beginnen soll.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg. Andernfalls wird ein WEAVE_ERROR zurückgegeben, der angibt, dass kein Container 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 gelesenes TLV-Element den erwarteten TLV-Typ hat.

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

Details
Parameter
[in] aType
Der TLVType, der anhand eines bestimmten Elements validiert werden soll.
[in] aReader
Ein Verweis auf einen TLV-Leser, der sich am zu überprüfenden Element befindet.
Rückgabe
WEAVE_NO_ERROR, wenn es eine Übereinstimmung gibt, 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 ein gelesenes TLV-Element das erwartete WDM-Tag enthält.

Details
Parameter
[in] aTagNum
Die 32-Bit-Tag-Nummer des erwarteten WDM-Tags.
[in] aReader
Ein TLV-Leser, der sich beim 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.