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
Typedefs |
|
---|---|
TopicIdentifier
|
typedefuint64_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
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)
|
|
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
|
Prüfen Sie, ob das gelesene TLV-Element das erwartete WDM-Tag hat.
|
Kurse |
|
---|---|
nl:: |
Die Klasse Binding verwaltet mithilfe von Weave den Kommunikationsstatus im Namen einer Anwendungseinheit. |
nl:: |
Eine abstrakte Klasse, die die vom WDM-Client erforderlichen Bestätigungs- und Indikationsmethodendefinitionen enthält. |
nl:: |
Eine Hilfsklasse, die verwendet wird, wenn die Unterstützung für Abos und Benachrichtigungen auf einem WDM-Client gewünscht wird. |
nl:: |
Die abstrakte Basisklasse für anwendungsspezifische WDM-Clients. |
nl:: |
Die abstrakte Basisklasse für anwendungsspezifische WDM-Publisher. |
nl:: |
Die abstrakte Hilfsklasse ProfileDatabase. |
nl:: |
Die WDM-Protokoll-Engine-Klasse. |
nl:: |
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 |
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 |
|
||||
Rückgabe |
true, wenn der TLVType des Elements und der aType übereinstimmen.
|
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 |
|
||||
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 |
|
||
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 |
|
||
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 |
|
||||||||||||
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 |
|
||||||||||||
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 |
|
||||||||||||
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 |
|
||||||||||||||
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 |
|
||||||||||||
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 |
|
||
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 |
|
||
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 |
|
||||
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 |
|
||
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 |
|
||||
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 |
|
||||||
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 |
|
||||
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 |
|
||
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 |
|
||||
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 |
|
||
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 |
|
||
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 |
|
||||
Rückgabe |
WEAVE_NO_ERROR, wenn eine Übereinstimmung vorliegt, 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 das gelesene TLV-Element das erwartete WDM-Tag hat.
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.
|