nl:: Weave:: Profiles:: DataManagement_Current
Dieser Namespace enthält alle Weave-Schnittstellen für das WDM-Profil (Weave Data Management), die derzeit für die Produktion unterstützt werden.
Zusammenfassung
Typedefs |
|
---|---|
CommandFlags
|
typedef |
DataVersion
|
typedefuint64_t
|
EventProcessor
|
typedefvoid *
|
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
|
typedef Eine Funktion, die das eventData-Element für das Ereignisprotokollierungs-Subsystem bereitstellt. |
FetchExternalEventsFunct)(EventLoadOutContext *aContext)
|
typedef Ein Funktionsprototyp für Plattform-Callbacks, die Ereignisdaten abrufen. |
GenericTraitSinkCatalog
|
typedef |
GenericTraitSourceCatalog
|
typedef |
ImportanceType
|
typedef Die Wichtigkeit des Logeintrags. |
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
|
typedefvoid(*
Trait-Handle-Iterator. |
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
|
typedef |
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
|
typedefvoid(*
Ein Funktionsprototyp für einen Callback, der aufgerufen wird, wenn externe Ereignisse an den Remote-Abonnenten gesendet werden. |
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
|
typedefvoid(*
Ein Funktionsprototyp für einen Callback, der aufgerufen wird, wenn externe Ereignisse aus den Puffern entfernt werden. |
PropertyDictionaryKey
|
typedefuint16_t
|
PropertyPathHandle
|
typedefuint32_t
Ein PropertyPathHandle ist ein eindeutiger numerischer 32-Bit-Hash eines WDM-Pfads relativ zum Stamm einer Trait-Instanz. |
PropertySchemaHandle
|
typedefuint16_t
|
SchemaVersion
|
typedefuint16_t
|
SingleResourceSinkTraitCatalog
|
typedef |
SingleResourceSourceTraitCatalog
|
typedef |
TimestampType
|
typedef Die Gültigkeit und den Typ des Zeitstempels, der in EventOptions enthalten ist. |
TraitDataHandle
|
typedefuint16_t
|
duration_t
|
nl::Weave::Profiles::DataManagement_Current::duration_tuint32_t
Typ zur Beschreibung der Dauer in Millisekunden. |
event_id_t
|
nl::Weave::Profiles::DataManagement_Current::event_id_tuint32_t
Der Typ der Ereignis-ID. |
timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::timestamp_tuint32_t
Typ zur Beschreibung des Zeitstempels in Millisekunden. |
utc_timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::utc_timestamp_tuint64_t
Typ zur Beschreibung des UTC-Zeitstempels in Millisekunden. |
Variablen |
|
---|---|
sInstance
|
|
sLogFileName = "topazlog"[]
|
char
|
Funktionen |
|
---|---|
BdxErrorHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, WEAVE_ERROR aErrorCode)
|
void
|
BdxGetBlockHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aIsLastBlock)
|
void
|
BdxRejectHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aReport)
|
void
|
BdxSendAcceptHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg)
|
|
BdxXferDoneHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer)
|
void
|
BdxXferErrorHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError)
|
void
|
CreatePropertyPathHandle(PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey)
|
|
EventWriterTLVCopy(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
Eine Hilfsfunktion, die ein bereits serialisiertes Ereignisdatenelement in den Ereignispuffer übersetzt.
|
GetPropertyDictionaryKey(PropertyPathHandle aHandle)
|
PropertyDictionaryKey
|
GetPropertySchemaHandle(PropertyPathHandle aHandle)
|
PropertySchemaHandle
|
IsNullPropertyPathHandle(PropertyPathHandle aHandle)
|
bool
|
IsRootPropertyPathHandle(PropertyPathHandle aHandle)
|
bool
|
IsVersionNewer(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
Dies ist eine optimierte Implementierung des Algorithmus zum Vergleich von Versionen.
|
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
|
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
|
Dienstprogrammfunktion, die eine TraitUpdatableDataSink in einem TraitDataSink findet.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
|
Protokollieren Sie ein Ereignis aus einem vorserialisierten Formular.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
|
Protokollieren Sie ein Ereignis aus einer vorserialisierten Form mit zusätzlichen Optionen.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
|
Ereignis über einen Rückruf protokollieren.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
|
Ereignis über einen Rückruf mit Optionen protokollieren.
|
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
|
LogFreeform gibt einen freien String an den Standardereignisstream aus.
|
LookForElementWithTag(const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader)
|
|
PlainTextWriter(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
Eine Hilfsfunktion zum Ausgeben von Freitext als Debug-Ereignis.
|
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
Eine Hilfsfunktion zum Ausgeben von Freitext als Debug-Ereignis.
|
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
Gewerkschaften |
|
---|---|
nl:: |
Die Union, die ein Application Set-System oder einen UTC-Zeitstempel bereitstellt. |
Aufzählungen
@100
@100
Tags für das kNestDebug_StringLogEntryEvent.
Attribute | |
---|---|
kTag_Message
|
Ein String, der die eigentliche Debug-Meldung enthält. |
kTag_Region
|
Ein unsigniertes 32-Bit-Format, das die Logregion angibt, d.h. das Modul, auf das sich die Lognachricht bezieht. |
@101
@101
Tags für das kNestDebug_TokenizedLogEntryEvent.
Attribute | |
---|---|
kTag_Args
|
Ein Array mit Argumenten, die zusammen mit der Tokennachricht gesendet werden sollen. |
kTag_Token
|
Ein vorzeichenloser 32-Bit-Wert, der dem Token entspricht. |
@102
@102
Tags für dauerhafte Ereignisse.
@104
@104
Die Nachrichtentypen des WDM-Profils.
Diese Werte werden in der Datenverwaltungsspezifikation aufgerufen.
@105
@105
WDM-spezifische Statuscodes.
@147
@147
@95
@95
Logging-Einstellungs-Tags.
Attribute | |
---|---|
kTag_CurrentImportance
|
Aktuelle Logging-Wichtigkeit. Der Wert ist vom Typ ImportanceType. |
kTag_ImportanceExpiration
|
Zeit in UTC-Sekunden, wenn die aktuellen erhöhten Protokollierungseinstellungen auf die Standardwerte zurückgesetzt werden. |
kTag_LoggingDestination
|
Eine URL, die das Ziel des Protokolluploads angibt. |
kTag_MaximumLogUploadInterval
|
Maximale Dauer in Sekunden zwischen automatisch ausgelösten Protokolluploadversuchen. |
kTag_MinimumLogUploadInterval
|
Minimale Dauer in Sekunden zwischen automatisch ausgelösten Protokolluploadversuchen. |
kTag_TraitLoggingImportance
|
Ein optionales Array, das ausgewählte Profile selektiv den höheren Logging-Ebenen zuordnet. Jedes Element im Array hat eine Form (profile,path,loggingimportance), um die Protokollierung selektiv von einer Teilmenge des Systems zu erhöhen. Die Protokollierungspriorität für erhöhte Profile ist nur dann von Bedeutung, wenn die Protokollierungspriorität diejenige von currentImportance überschreitet und dieselbe Ablaufzeit wie die aktuelle Importance hat. |
@96
@96
Tags für Logging-Funktionen.
Attribute | |
---|---|
kTag_LogBufferingCapacity
|
Eine vorzeichenlose 32-Bit-Ganzzahl, die die Log-Pufferungskapazität in kB beschreibt. |
kTag_LoggingVolume
|
Eine vorzeichenlose 32-Bit-Ganzzahl, die das erwartete Logging-Volumen in kB/Tag beschreibt. |
kTag_SupportedLogTransports
|
Ein Array unterstützter Log-Transportmechanismen. |
kTag_SupportsNonVolatileStorage
|
Ein boolescher Wert, der angibt, ob das Gerät nichtflüchtigen Logspeicher unterstützt. |
kTag_SupportsPerTraitVerbosity
|
Ein boolescher Wert, der angibt, ob das Gerät Ausführlichkeitseinstellungen pro Trait unterstützt. |
kTag_SupportsStreaming
|
Ein boolescher Wert, der angibt, ob das Gerät das Streaming von Logs unterstützt. |
@97
@97
Tags für Ereignismetadaten.
Die vollständige Semantik der Tag-Werte finden Sie in der Ereignisdesign-Spezifikation.
Attribute | |
---|---|
kTag_EventData
|
Optional. Ereignisdaten selbst. Wenn das Feld leer ist, wird standardmäßig eine leere Struktur verwendet. |
kTag_EventDeltaSystemTime
|
Internes WDM-Tag, Zeitdifferenz vom vorherigen Ereignis in der Codierung. |
kTag_EventDeltaUTCTime
|
Internes WDM-Tag, Zeitdifferenz vom vorherigen Ereignis in der Codierung. |
kTag_EventID
|
Sequenznummer des Ereignisses, ausgedrückt als 64-Bit-Menge ohne Vorzeichen. Muss sequenziell sein. Sprünge in der Sequenz weisen auf Ereignislücken hin. |
kTag_EventImportance
|
Die Bedeutung des Ereignisses. |
kTag_EventResourceID
|
Optional. Der Wert ist die ID der Ressource, auf die sich das Ereignis bezieht. Wenn Sie keinen Wert angeben, entspricht der Wert dem Wert von kTag_EventSource. |
kTag_EventSource
|
NodeID des Geräts, von dem das Ereignis generiert wurde. |
kTag_EventSystemTimestamp
|
Optional. Systemzeitstempel des Ereignisses in Millisekunden. |
kTag_EventTraitInstanceID
|
Optional die Instanz der Eigenschaft, die das Ereignis generiert hat. |
kTag_EventTraitProfileID
|
Obligatorisch. Vorzeichenlose 32-Bit-Ganzzahl, die der ProfileID des Merkmals entspricht. |
kTag_EventType
|
Obligatorisch. Vorzeichenlose 16-Bit-Ganzzahl, die der wdl.event.id für diesen Ereignistyp entspricht. |
kTag_EventUTCTimestamp
|
Optional. Zeitstempel des Ereignisses in Millisekunden (UTC) |
kTag_ExternalEventStructure
|
Internes Tag für externe Ereignisse. Wird nie über den Draht übertragen und sollte nie außerhalb der Weave-Bibliothek verwendet werden. |
kTag_RelatedEventID
|
Optional. ID eines Ereignisses, mit dem dieses Ereignis verknüpft ist. Wenn keine Angabe gemacht wird, entspricht der Wert dem Wert von kTag_EventID. |
kTag_RelatedEventImportance
|
Optional. Die Bedeutung des zugehörigen Ereignisses. Wenn keine Angabe gemacht wird, entspricht der Wert dem Wert von kTag_EventImportance. |
@98
@98
Profildefinitionen für die Debug-Trait.
@99
@99
Ereignistypen für die Nest-Fehlerbehebungs-Trait.
Attribute | |
---|---|
kNestDebug_StringLogEntryEvent
|
Ein Ereignis für eine Debug-Nachricht mit freiem Format. |
kNestDebug_TokenizedHeaderEntryEvent
|
Ein Ereignis zur Übermittlung der tokenisierten Header-Informationen. |
kNestDebug_TokenizedLogEntryEvent
|
Ein Ereignis für eine tokenisierte Debug-Nachricht. |
CommandFlags
CommandFlags
Attribute | |
---|---|
kCommandFlag_ActionTimeValid
|
Legt fest, wann die Aktionszeit gültig ist. |
kCommandFlag_ExpiryTimeValid
|
Legt fest, wann die Ablaufzeit gültig ist. |
kCommandFlag_InitiationTimeValid
|
Legt fest, wann die Init-Zeit gültig ist. |
kCommandFlag_IsOneWay
|
Wird festgelegt, wenn der Befehl einseitig ist. |
kCommandFlag_MustBeVersionValid
|
Legt fest, wann das Versionsfeld gültig ist. |
ImportanceType
ImportanceType
Die Wichtigkeit des Logeintrags.
Anhand der Wichtigkeit können Ereignisse gefiltert werden, bevor sie tatsächlich in das Log ausgegeben werden. Sobald sich das Ereignis im Protokoll befindet, werden keine weiteren Vorkehrungen getroffen, um es unwiderruflich aus dem Protokoll zu entfernen. Die Prioritätsebene dient der Priorisierung der Speicherung von Ereignissen. Wenn ein Ereignis von hoher Wichtigkeit zu einem vollständigen Puffer hinzugefügt wird, werden Ereignisse nach Wichtigkeit (und Alter) verworfen, um es zu berücksichtigen. Daher haben Wichtigkeitsstufen nur einen relativen Wert. Verwendet ein System nur eine Wichtigkeitsstufe, werden Ereignisse nur nach ihrem Alter gelöscht, z. B. ein Ringzwischenspeicher.
Attribute | |
---|---|
Debug
|
Die Wichtigkeit der Fehlerbehebung bezeichnet Logeinträge, die für die Entwickler des Systems von Interesse sind. Sie werden hauptsächlich in der Entwicklungsphase verwendet. Logs zur Wichtigkeit der Fehlerbehebung werden bei den Bandbreiten- und Energiebudgets der eingeschränkten Geräte nicht berücksichtigt. Daher dürfen sie nur über einen begrenzten Zeitraum in Produktionssystemen verwendet werden. |
Info
|
Die Wichtigkeit von Informationen bezeichnet Logeinträge, die zusätzliche Einblicke und Diagnosen zum laufenden System liefern. Die Informationsprotokollierungsebene kann über einen längeren Zeitraum in einem Produktionssystem oder als Standardprotokollierungsebene in einem Field Trial verwendet werden. Auf den eingeschränkten Geräten müssen die mit der Infoebene protokollierten Einträge im Bandbreiten- und Arbeitsspeicherbudget berücksichtigt werden, aber nicht im Energiebudget. |
Production
|
Produktionswichtig sind die Protokolleinträge, die für die fortlaufende Überwachung und Wartung der Nest-Umgebung verwendet werden. Auf eingeschränkten Geräten müssen protokollierte Einträge mit Wichtigkeit für die Produktion im Energie- und Arbeitsspeicherbudget berücksichtigt werden, da davon auszugehen ist, dass sie immer protokolliert und vom Gerät ausgelagert werden. |
ProductionCritical
|
„Produktionskritisch“ bezeichnet Ereignisse, deren Verlust sich direkt auf kundenorientierte Features auswirken würde. Anwendungen können den Verlust von produktionskritischen Ereignissen nutzen, um auf einen Systemfehler hinzuweisen. Auf eingeschränkten Geräten müssen Einträge, die mit „Produktionskritisch“ protokolliert werden, im Energie- und Arbeitsspeicherbudget berücksichtigt werden, da davon auszugehen ist, dass sie immer protokolliert und vom Gerät ausgelagert werden. |
LoggingManagementStates
LoggingManagementStates
Attribute | |
---|---|
kLoggingManagementState_Holdoff
|
Logauslagerung ist abgeschlossen. Das Log wird erst nach Ablauf des Holdoffs neu gestartet. |
kLoggingManagementState_Idle
|
Es findet keine Log-Auslagerung statt. Die Log-Auslagerung kann ohne Einschränkungen beginnen. |
kLoggingManagementState_InProgress
|
Log-Auslagerung läuft. |
kLoggingManagementState_Shutdown
|
Kann keine Logging-Vorgänge ausführen. |
TimestampType
TimestampType
Die Gültigkeit und den Typ des Zeitstempels, der in EventOptions enthalten ist.
Typedefs
CommandFlags
enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags
DataVersion
uint64_t DataVersion
EventProcessor
void * EventProcessor
EventWriterFunct
WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
Eine Funktion, die das eventData-Element für das Ereignisprotokollierungs-Subsystem bereitstellt.
Von Funktionen dieses Typs wird erwartet, dass sie das Element „eventData“ für das Ereignisprotokollierungs-Subsystem bereitstellen. Die Funktionen dieses Typs werden aufgerufen, nachdem das Ereignissubsystem alle erforderlichen Ereignismetadaten generiert hat. Die Funktion wird mit einem nl::Weave::TLV::TLVWriter-Objekt aufgerufen, in das sie ein einzelnes TLV-Element mit dem Tag kTag_EventData ausgibt. Der Wert dieses Elements MUSS eine Struktur sein, die die Ereignisdaten enthält. Die Ereignisdaten selbst müssen mithilfe von Kontext-Tags strukturiert werden.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
PlainTextWriter
EventWriterTLVCopy
FetchExternalEventsFunct
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
Ein Funktionsprototyp für Plattform-Callbacks, die Ereignisdaten abrufen.
Ähnlich wie bei FetchEventsEvents gibt diese Abruffunktion alle Ereignisse von EventLoadOutContext.mStartingEventID bis ExternalEvents.mLastEventID zurück.
Der Kontextzeiger hat den Typ FetchExternalEventsContext. Dazu gehört EventLoadOutContext mit einigen Hilfsvariablen für das Format von TLV. Sie enthält auch einen Zeiger auf die Struktur ExternalEvents, die bei der Registrierung des Callbacks erstellt wird. Gibt den Ereignis-ID-Bereich für den Rückruf an.
Bei der Rückgabe von der Funktion sollte „EventLoadOutContext.mCurrentEventID“ die erste Ereignis-ID widerspiegeln, die nicht in den TLV-Zwischenspeicher geschrieben wurde. Die Plattform muss den Ereignisheader und die Ereignisdaten im richtigen Format an den TLV-Writer schreiben, das im EventLogging-Protokoll angegeben ist. Außerdem muss die Plattform die Eindeutigkeit von Ereignissen und Zeitstempeln beibehalten.
Alle TLV-Fehler sollten auf höhere Ebenen verteilt werden. Wenn beispielsweise der Speicherplatz im Puffer knapp wird, wird eine gesendete Nachricht ausgelöst, gefolgt von einem weiteren Aufruf des Callbacks mit der verbleibenden Ereignis-ID.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Rückgabewerte |
|
GenericTraitSinkCatalog
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
GenericTraitSourceCatalog
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
ImportanceType
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
Die Wichtigkeit des Logeintrags.
Anhand der Wichtigkeit können Ereignisse gefiltert werden, bevor sie tatsächlich in das Log ausgegeben werden. Sobald sich das Ereignis im Protokoll befindet, werden keine weiteren Vorkehrungen getroffen, um es unwiderruflich aus dem Protokoll zu entfernen. Die Prioritätsebene dient der Priorisierung der Speicherung von Ereignissen. Wenn ein Ereignis von hoher Wichtigkeit zu einem vollständigen Puffer hinzugefügt wird, werden Ereignisse nach Wichtigkeit (und Alter) verworfen, um es zu berücksichtigen. Daher haben Wichtigkeitsstufen nur einen relativen Wert. Verwendet ein System nur eine Wichtigkeitsstufe, werden Ereignisse nur nach ihrem Alter gelöscht, z. B. ein Ringzwischenspeicher.
IteratorCallback
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
Trait-Handle-Iterator.
LoggingBufferHandler
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
NotifyExternalEventsDeliveredFunct
void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
Ein Funktionsprototyp für einen Callback, der aufgerufen wird, wenn externe Ereignisse an den Remote-Abonnenten gesendet werden.
Wenn die externen Ereignisse an einen Remote-Abonnenten gesendet werden, sendet die Engine eine Benachrichtigung an den externen Ereignisanbieter. Der Callback enthält das Ereignis der zuletzt übermittelten ID sowie die ID des Abonnenten, der das Ereignis empfangen hat.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
NotifyExternalEventsEvictedFunct
void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
Ein Funktionsprototyp für einen Callback, der aufgerufen wird, wenn externe Ereignisse aus den Puffern entfernt werden.
Wenn das externe Ereignisobjekt aus dem Zwischenspeicher für ausgehende Nachrichten entfernt wurde, sendet die Suchmaschine eine Benachrichtigung an den externen Ereignisanbieter. Der Callback enthält das zu entfernende externe Ereignis.
Details | |||
---|---|---|---|
Parameter |
|
PropertyDictionaryKey
uint16_t PropertyDictionaryKey
PropertyPathHandle
uint32_t PropertyPathHandle
Ein PropertyPathHandle ist ein eindeutiger numerischer 32-Bit-Hash eines WDM-Pfads relativ zum Stamm einer Trait-Instanz.
Sie besteht aus zwei Teilen:
- Eine niedrigere 16-Bit-Zahl, die dem statischen Teil des Schemas zugeordnet ist.
- Während sich die unteren 16 Bit auf einen Pfad innerhalb eines Wörterbuchelements beziehen, steht eine höhere 16-Bit-Zahl für den Wörterbuchschlüssel, der mit diesem Element verknüpft ist. Wenn sich die unteren 16 Bit auf ein Element beziehen, das kein Wörterbuch ist, sollten die oberen 16 Bit 0 sein.
Einige Merkmale:
- Jede Eigenschaft hat einen eigenen Handle für den Eigenschaftenpfad.
- Jeder eindeutige WDM-Unterpfad-Pfad hat einen ähnlich eindeutigen PropertyPathHandle.
- PropertyPathHandles werden von einem Trait-Compiler aus IDL automatisch (vorerst manuell erstellt) generiert und werden in der Headerdatei des entsprechenden Traits als Aufzählungsliste dargestellt.
- Bei diesem Konstrukt muss sich die Anwendungslogik nie direkt mit WDM-Pfaden auseinandersetzen. Stattdessen werden ihre Interaktionen mit WDM ausschließlich über diese Aliasse durchgeführt.
- Es gibt zwei reservierte Werte für Pfad-Handles, die eine bestimmte Bedeutung haben:
- 0 steht für einen NULL-Handle.
- 1 gibt einen Handle an, der auf die Stamminstanz der Trait-Instanz verweist.
PropertySchemaHandle
uint16_t PropertySchemaHandle
SchemaVersion
uint16_t SchemaVersion
SingleResourceSinkTraitCatalog
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
SingleResourceSourceTraitCatalog
SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog
TimestampType
enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType
Die Gültigkeit und den Typ des Zeitstempels, der in EventOptions enthalten ist.
TraitDataHandle
uint16_t TraitDataHandle
duration_t
uint32_t duration_t
Typ zur Beschreibung der Dauer in Millisekunden.
event_id_t
uint32_t event_id_t
Der Typ der Ereignis-ID.
timestamp_t
uint32_t timestamp_t
Typ zur Beschreibung des Zeitstempels in Millisekunden.
utc_timestamp_t
uint64_t utc_timestamp_t
Typ zur Beschreibung des UTC-Zeitstempels in Millisekunden.
Variablen
sInstance
LoggingManagement sInstance
sLogFileName
char sLogFileName[] = "topazlog"
Funktionen
BdxErrorHandler
void BdxErrorHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, WEAVE_ERROR aErrorCode )
BdxGetBlockHandler
void BdxGetBlockHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aIsLastBlock )
BdxRejectHandler
void BdxRejectHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aReport )
BdxSendAcceptHandler
WEAVE_ERROR BdxSendAcceptHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg )
BdxXferDoneHandler
void BdxXferDoneHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer )
BdxXferErrorHandler
void BdxXferErrorHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError )
CreatePropertyPathHandle
PropertyPathHandle CreatePropertyPathHandle( PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey )
EventWriterTLVCopy
WEAVE_ERROR EventWriterTLVCopy( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Eine Hilfsfunktion, die ein bereits serialisiertes Ereignisdatenelement in den Ereignispuffer übersetzt.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
GetPropertyDictionaryKey
PropertyDictionaryKey GetPropertyDictionaryKey( PropertyPathHandle aHandle )
GetPropertySchemaHandle
PropertySchemaHandle GetPropertySchemaHandle( PropertyPathHandle aHandle )
IsNullPropertyPathHandle
bool IsNullPropertyPathHandle( PropertyPathHandle aHandle )
IsRootPropertyPathHandle
bool IsRootPropertyPathHandle( PropertyPathHandle aHandle )
IsVersionNewer
bool IsVersionNewer( const DataVersion & aVersion, const DataVersion & aReference )
Dies ist eine optimierte Implementierung des Algorithmus zum Vergleich von Versionen.
Clientseitig ist eine vom Dienst erhaltene Version immer die neueste Version.
IsVersionNewerOrEqual
bool IsVersionNewerOrEqual( const DataVersion & aVersion, const DataVersion & aReference )
Adresse anzeigen
TraitUpdatableDataSink * Locate( TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog )
Dienstprogrammfunktion, die eine TraitUpdatableDataSink in einem TraitDataSink findet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf TraitUpdatableDataSink. NULL, wenn der Handle nicht existiert oder auf eine nicht aktualisierbare TraitDataSink verweist.
|
LogEvent
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData )
Protokollieren Sie ein Ereignis aus einem vorserialisierten Formular.
Die Funktion protokolliert ein Ereignis, das als nl::Weave::TLV::TLVReader dargestellt wird. Dies impliziert, dass die Darstellung der Ereignisdaten im Speicher, der nl::Weave::TLV::TLVReader zugrunde liegt, bereits serialisiert ist. nl::Weave::TLV::TLVReader muss mindestens ein einzelnes Datenelement enthalten. Dieses Element muss eine Struktur sein. Das erste aus dem Lesegerät gelesene Element wird als Ereignisdaten behandelt und im Ereignisprotokoll gespeichert. Die Ereignisdaten MÜSSEN Kontext-Tags enthalten, die innerhalb des durch inProfileID und inEventType identifizierten Schemas interpretiert werden müssen. Das Tag des ersten Elements wird ignoriert. Es wird vom Ereignisprotokollierungssystem durch das Tag eventData ersetzt.
Das Ereignis wird protokolliert, wenn seine inImportance den in der LoggingConfiguration festgelegten Schwellenwert für die Protokollierung überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird es verworfen und die Funktion gibt 0
als resultierende Ereignis-ID zurück.
Bei dieser Variante des Aufrufs werden implizit alle Standardereignisoptionen angegeben:
- ist das Ereignis mit der aktuellen Uhrzeit zum Zeitpunkt des Aufrufs versehen,
- das Ereignis als zu dem Gerät gehört markiert wird, das den Anruf tätigt,
- das Ereignis eigenständig ist und nicht mit anderen Ereignissen in Verbindung steht,
- nicht dringend ist,
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
event_id_t: Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, andernfalls „0“.
|
LogEvent
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions )
Protokollieren Sie ein Ereignis aus einer vorserialisierten Form mit zusätzlichen Optionen.
Die Funktion protokolliert ein Ereignis, das als nl::Weave::TLV::TLVReader dargestellt wird. Dies impliziert, dass die Darstellung der Ereignisdaten im Speicher, der nl::Weave::TLV::TLVReader zugrunde liegt, bereits serialisiert ist. nl::Weave::TLV::TLVReader muss mindestens ein einzelnes Datenelement enthalten. Dieses Element muss eine Struktur sein. Das erste aus dem Lesegerät gelesene Element wird als Ereignisdaten behandelt und im Ereignisprotokoll gespeichert. Die Ereignisdaten MÜSSEN Kontext-Tags enthalten, die innerhalb des durch inProfileID und inEventType identifizierten Schemas interpretiert werden müssen. Das Tag des ersten Elements wird ignoriert. Es wird vom Ereignisprotokollierungssystem durch das Tag eventData ersetzt.
Das Ereignis wird protokolliert, wenn seine inImportance den in der LoggingConfiguration festgelegten Schwellenwert für die Protokollierung überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird es verworfen und die Funktion gibt 0
als resultierende Ereignis-ID zurück.
Diese Variante des Aufrufs ermöglicht dem Aufrufer, eine beliebige Kombination von EventOptions
festzulegen:
- Zeitstempel ist, wenn 0 standardmäßig die aktuelle Uhrzeit zum Zeitpunkt des Aufrufs ist,
- „root“-Abschnitt der Ereignisquelle (Ereignisquelle und Trait-ID). Wenn dieser Wert NULL ist, wird standardmäßig das aktuelle Gerät verwendet. Das Ereignis wird als mit dem Gerät verknüpft gekennzeichnet, das den Aufruf durchführt.
- eine zugehörige Ereignis-ID zum Gruppieren von Ereignis-IDs. Wenn die zugehörige Ereignis-ID 0 ist, wird das Ereignis als nicht mit anderen Ereignissen verknüpft gekennzeichnet.
- Dringlichkeit; standardmäßig nicht dringend.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
event_id_t: Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, andernfalls „0“.
|
LogEvent
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData )
Ereignis über einen Rückruf protokollieren.
Die Funktion protokolliert ein Ereignis, das als EventWriterFunct und als app-spezifischer appData
-Kontext dargestellt wird. Die Funktion schreibt die Ereignismetadaten und ruft inEventWriter
mit einer nl::Weave::TLV::TLVWriter-Referenz und dem inAppData
-Kontext auf, sodass der Nutzercode die Ereignisdaten direkt im Ereignisprotokoll ausgeben kann. Diese Form der Ereignisprotokollierung minimiert den Speicherverbrauch, da Ereignisdaten direkt in den Zielpuffer serialisiert werden. Die Ereignisdaten MÜSSEN Kontexttags enthalten, die innerhalb des durch inProfileID
und inEventType
angegebenen Schemas interpretiert werden müssen. Das Tag des ersten Elements wird ignoriert. Es wird vom Ereignisprotokollierungssystem durch das Tag eventData ersetzt.
Das Ereignis wird protokolliert, wenn seine inImportance den in der LoggingConfiguration festgelegten Schwellenwert für die Protokollierung überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird es verworfen und die Funktion gibt 0
als resultierende Ereignis-ID zurück.
Bei dieser Variante des Aufrufs werden implizit alle Standardereignisoptionen angegeben:
- ist das Ereignis mit der aktuellen Uhrzeit zum Zeitpunkt des Aufrufs versehen,
- das Ereignis als zu dem Gerät gehört markiert wird, das den Anruf tätigt,
- das Ereignis eigenständig ist und nicht mit anderen Ereignissen in Verbindung steht,
- nicht dringend ist,
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
event_id_t: Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, andernfalls „0“.
|
LogEvent
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
Ereignis über einen Rückruf mit Optionen protokollieren.
Die Funktion protokolliert ein Ereignis, das als EventWriterFunct und als app-spezifischer appData
-Kontext dargestellt wird. Die Funktion schreibt die Ereignismetadaten und ruft inEventWriter
mit einer nl::Weave::TLV::TLVWriter-Referenz und dem inAppData
-Kontext auf, sodass der Nutzercode die Ereignisdaten direkt im Ereignisprotokoll ausgeben kann. Diese Form der Ereignisprotokollierung minimiert den Speicherverbrauch, da Ereignisdaten direkt in den Zielpuffer serialisiert werden. Die Ereignisdaten MÜSSEN Kontexttags enthalten, die innerhalb des durch inProfileID
und inEventType
angegebenen Schemas interpretiert werden müssen. Das Tag des ersten Elements wird ignoriert. Es wird vom Ereignisprotokollierungssystem durch das Tag eventData ersetzt.
Das Ereignis wird protokolliert, wenn seine inImportance den in der LoggingConfiguration festgelegten Schwellenwert für die Protokollierung überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird es verworfen und die Funktion gibt 0
als resultierende Ereignis-ID zurück.
Diese Variante des Aufrufs ermöglicht dem Aufrufer, eine beliebige Kombination von EventOptions
festzulegen:
- Zeitstempel ist, wenn 0 standardmäßig die aktuelle Uhrzeit zum Zeitpunkt des Aufrufs ist,
- „root“-Abschnitt der Ereignisquelle (Ereignisquelle und Trait-ID). Wenn dieser Wert NULL ist, wird standardmäßig das aktuelle Gerät verwendet. Das Ereignis wird als mit dem Gerät verknüpft gekennzeichnet, das den Aufruf durchführt.
- eine zugehörige Ereignis-ID zum Gruppieren von Ereignis-IDs. Wenn die zugehörige Ereignis-ID 0 ist, wird das Ereignis als nicht mit anderen Ereignissen verknüpft gekennzeichnet.
- Dringlichkeit; standardmäßig nicht dringend.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabe |
event_id_t: Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, andernfalls „0“.
|
LogFreeform
event_id_t LogFreeform( ImportanceType inImportance, const char *inFormat, ... )
LogFreeform gibt einen freien String an den Standardereignisstream aus.
Der String wird in eine Debug-Ereignisstruktur gekapselt, die strukturell identisch mit anderen protokollierten Strings ist. Die Ereignisprofil-ID entspricht der eines Nest Debug-Ereignisses und der Ereignistyp ist kNestDebug_StringLogEntryEvent
.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
event_id_t: Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, andernfalls „0“.
|
LookForElementWithTag
WEAVE_ERROR LookForElementWithTag( const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader )
PlainTextWriter
WEAVE_ERROR PlainTextWriter( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Eine Hilfsfunktion zum Ausgeben von Freitext als Debug-Ereignis.
Das Debug-Ereignis ist eine Struktur mit einer Logregion und einem freien Text.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
PlainTextWriter
WEAVE_ERROR PlainTextWriter( ::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Eine Hilfsfunktion zum Ausgeben von Freitext als Debug-Ereignis.
Das Debug-Ereignis ist eine Struktur mit einer Logregion und einem freien Text.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|