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
Typedefs |
|
---|---|
TopicIdentifier
|
typedef.uint64_t
Die Themen-ID. |
Funktionen |
|
---|---|
CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
|
bool
|
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)
|
|
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:: |
Die Klasse Binding verwaltet den Kommunikationsstatus im Namen einer Anwendungsentität mithilfe von Weave. |
nl:: |
Eine abstrakte Klasse mit den vom WDM-Client benötigten Confirm- und Indication-Methodendefinitionen. |
nl:: |
Eine Hilfsklasse, die verwendet wird, wenn auf einem WDM-Client Abos und Benachrichtigungen unterstützt werden sollen. |
nl:: |
Abstrakte Basisklasse für anwendungsspezifische WDM-Clients. |
nl:: |
Abstrakte Basisklasse für anwendungsspezifische WDM-Publisher. |
nl:: |
Die abstrakte Hilfsklasse ProfileDatabase. |
nl:: |
Die WDM-Protokoll-Engine-Klasse. |
nl:: |
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 |
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 |
|
||||
Rückgabe |
"true", wenn der TLVType des Elements und "aType" übereinstimmen.
|
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 |
|
||||
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 |
|
||
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 |
|
||
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 |
|
||||||||||||
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 |
|
||||||||||||
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 |
|
||||||||||||
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 |
|
||||||||||||||
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 |
|
||||||||||||
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 |
|
||
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 |
|
||
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 |
|
||||
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 |
|
||
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 |
|
||||
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 |
|
||||||
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 |
|
||||
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 |
|
||
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 |
|
||||
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 |
|
||
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 |
|
||
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 |
|
||||
Rückgabe |
WEAVE_NO_ERROR, wenn es eine Übereinstimmung gibt, oder WEAVE_ERROR_WRONG_TLV_TYPE, wenn nicht.
|
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 |
|
||||
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.
|