nl:: Weave:: Profile:: DataManagement_Current
Dieser Namespace enthält alle Schnittstellen in Weave für das WDM-Profil (Weave Data Management), die derzeit für die Produktion verwendet werden können.
Fazit
Typdef. |
|
---|---|
CommandFlags
|
Typdef |
DataVersion
|
Typdefuint64_t
|
EventProcessor
|
Typdefvoid *
|
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
|
Typdef Eine Funktion, die das Ereignisdaten-Element für das Ereignis-Subsystem des Ereignisses bereitstellt. |
FetchExternalEventsFunct)(EventLoadOutContext *aContext)
|
Typdef Ein Funktions-Prototyp für Plattform-Callbacks, mit denen Ereignisdaten abgerufen werden. |
GenericTraitSinkCatalog
|
Typdef |
GenericTraitSourceCatalog
|
Typdef |
ImportanceType
|
Typdef Die Bedeutung des Logeintrags. |
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
|
Typdefvoid(*
Trait Alias-Handler. |
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
|
Typdef |
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
|
Typdefvoid(*
Ein Prototyp für eine Funktion, die aufgerufen wird, wenn externe Ereignisse an den Remote-Abonnenten gesendet werden. |
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
|
Typdefvoid(*
Ein Funktionsprototyp für einen Callback, der aufgerufen wird, wenn externe Ereignisse aus den Zwischenspeichern entfernt werden. |
PropertyDictionaryKey
|
Typdefuint16_t
|
PropertyPathHandle
|
Typdefuint32_t
Ein PropertyPathHandle ist ein eindeutiger 32-Bit-Hashwert eines WDM-Pfads relativ zum Stammverzeichnis einer Trat-Instanz. |
PropertySchemaHandle
|
Typdefuint16_t
|
SchemaVersion
|
Typdefuint16_t
|
SingleResourceSinkTraitCatalog
|
Typdef |
SingleResourceSourceTraitCatalog
|
Typdef |
TimestampType
|
Typdef Die Gültigkeit und der Typ des Zeitstempels sind in den EventOptions enthalten. |
TraitDataHandle
|
Typdefuint16_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 Ereigniszwischenspeicher ü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, um Versionen miteinander zu vergleichen.
|
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
|
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
|
Dienstprogrammfunktion, die einen TraitUpdatableDataSenken in einem TraitDataSenken-Katalog findet.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
|
Protokolliert ein Ereignis aus einem vor serialisierten Formular.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
|
Protokolliert ein Ereignis aus einem vor serialisierten Formular mit zusätzlichen Optionen
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
|
Ereignis über einen Callback protokollieren.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
|
Ereignis über einen Callback protokollieren, mit Optionen
|
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
|
LogFreeform gibt einen kostenlosen String an den Standard-Ereignisstream 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 eines freien Textes als Debug-Ereignis.
|
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
Eine Hilfsfunktion zum Ausgeben eines freien Textes 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 System für den Anwendungssatz oder einen Zeitstempel (UTC) bereitstellt. |
Aufzählungen
@100
@100
Tags für das Ereignis „kNestDebug_StringBidRequest“.
Attribute | |
---|---|
kTag_Message
|
Ein String mit der eigentlichen Debug-Nachricht. |
kTag_Region
|
Eine 32-Bit-Signatur ohne Protokoll, die die Logregion angibt, d.h. das Modul, zu dem die Lognachricht gehört. |
@101
@101
Tags für das Ereignis „kNestDebug_TokenizedBidRequestEvent“.
Attribute | |
---|---|
kTag_Args
|
Ein Array von Argumenten, die zusammen mit der Tokennachricht gesendet werden sollen. |
kTag_Token
|
Ein 32-Bit-Wert ohne Vorzeichen, der dem Token entspricht. |
@102
@102
Tags für anhaltende Ereignisse
@104
@104
Die Nachrichtentypen des WDM-Profils.
Diese Werte werden in der Datenverwaltungsspezifikation aufgeführt.
@105
@105
WDM-spezifische Statuscodes.
@147
@147
@95
@95
Tags für die Protokollierung
Attribute | |
---|---|
kTag_CurrentImportance
|
Aktueller Logging-Wichtigkeit: Der Wert hat den Typ „ImportanceType“. |
kTag_ImportanceExpiration
|
Zeit in UTC-Sekunden, wenn die aktuellen erhöhten Logging-Einstellungen auf die Standardwerte zurückgesetzt werden. |
kTag_LoggingDestination
|
Eine URL, die das Ziel des Loguploads angibt. |
kTag_MaximumLogUploadInterval
|
Maximale Dauer in Sekunden zwischen automatisch ausgelösten Log-Upload-Versuchen. |
kTag_MinimumLogUploadInterval
|
Minimale Dauer in Sekunden zwischen automatisch ausgelösten Log-Upload-Versuchen |
kTag_TraitLoggingImportance
|
Ein optionales Array, das selektiv die ausgewählten Profile den höheren Logging-Ebenen zuordnet. Jedes Element im Array nimmt eine Form vor (Profil,Pfad,Protokollierungsimport), um die Protokollierung selektiv aus einer Teilmenge des Systems zu erhöhen. Die Priorität des Loggings des erhöhten Profils ist nur dann von Bedeutung, wenn die Logging-Priorität der currentImportance überschreitet und dieselbe Ablaufzeit wie der currentImportance gilt. |
@96
@96
Tags für Logging-Funktionen
Attribute | |
---|---|
kTag_LogBufferingCapacity
|
Eine 32-Bit-Ganzzahl ohne Vorzeichen, die die Pufferkapazität des Logs in KB beschreibt. |
kTag_LoggingVolume
|
Eine 32-Bit-Ganzzahl ohne Vorzeichen, die das erwartete Logging-Volumen in kB/Tag beschreibt. |
kTag_SupportedLogTransports
|
Ein Array der unterstützten Log-Transport-Mechanismen. |
kTag_SupportsNonVolatileStorage
|
Ein boolescher Wert, der angibt, ob das Gerät dauerhaften Logspeicher unterstützt. |
kTag_SupportsPerTraitVerbosity
|
Boolescher Wert, der angibt, ob für das Gerät die Ausführlichkeitseinstellungen aktiviert werden. |
kTag_SupportsStreaming
|
Ein boolescher Wert, mit dem angegeben wird, ob das Gerät Streaminglogs unterstützt. |
@97
@97
Tags für Ereignismetadaten
Die vollständige Semantik der Tag-Werte finden Sie in der Ereignisdesignspezifikation.
Attribute | |
---|---|
kTag_EventData
|
Optional. Ereignisdaten selbst. Wenn es leer ist, wird standardmäßig eine leere Struktur verwendet. |
kTag_EventDeltaSystemTime
|
Internes WDM-Tag, zeitlicher Unterschied zum vorherigen Ereignis in der Codierung. |
kTag_EventDeltaUTCTime
|
Internes WDM-Tag, zeitlicher Unterschied zum vorherigen Ereignis in der Codierung. |
kTag_EventID
|
Sequenznummer des Ereignisses in Form einer nicht signierten Menge von 64 Bit. Muss sequentiell sein, Sprünge in der Sequenz weisen auf Lücken bei Ereignissen hin. |
kTag_EventImportance
|
Die Bedeutung des Ereignisses |
kTag_EventResourceID
|
Optional. Der Wert ist die ID der Ressource, auf die sich das Ereignis bezieht. Wenn dieser Wert weggelassen wird, ist der Wert mit dem Wert von „kTag_EventSource“ identisch |
kTag_EventSource
|
NodeID des Geräts, das das Ereignis generiert hat. |
kTag_EventSystemTimestamp
|
Optional. System-Zeitstempel des Ereignisses in Millisekunden. |
kTag_EventTraitInstanceID
|
Optional: Die Instanz des Eigenschafts, der das Ereignis generiert hat. |
kTag_EventTraitProfileID
|
Verbindlich. 32-Bit-Ganzzahl ohne Vorzeichen, die der Profil-ID der Eigenschaft entspricht. |
kTag_EventType
|
Verbindlich. 16-Bit-Ganzzahl ohne Vorzeichen, die der Datei „wdl.event.id“ für diesen Ereignistyp entspricht. |
kTag_EventUTCTimestamp
|
Optional. UTC-Zeitstempel des Ereignisses in Millisekunden. |
kTag_ExternalEventStructure
|
Internes Tag für externe Ereignisse. Nie über das Kabel übertragen, sollte niemals außerhalb der Weave-Bibliothek verwendet werden. |
kTag_RelatedEventID
|
Optional. ID eines Ereignisses, mit dem dieses Ereignis verknüpft ist Wenn nicht angegeben, entspricht der Wert dem Wert „kTag_EventID“. |
kTag_RelatedEventImportance
|
Optional. Die Bedeutung des ähnlichen Ereignisses. Wenn nicht angegeben, entspricht der Wert dem Wert „kTag_EventImportance“. |
@98
@98
Profildefinitionen für die Fehlerbehebung.
@99
@99
Ereignistypen für das Feld „Nest Debug“ (Fehler beheben)
Attribute | |
---|---|
kNestDebug_StringLogEntryEvent
|
Ein Ereignis für die Debug-Nachricht im freien String. |
kNestDebug_TokenizedHeaderEntryEvent
|
Ein Ereignis zur Übermittlung der Token-Header-Informationen. |
kNestDebug_TokenizedLogEntryEvent
|
Ein Ereignis für die Debug-Nachricht in Tokens |
CommandFlags
CommandFlags
Attribute | |
---|---|
kCommandFlag_ActionTimeValid
|
Legen Sie fest, wann die Aktionszeit gültig ist. |
kCommandFlag_ExpiryTimeValid
|
Legen Sie fest, wann die Ablaufzeit gültig ist. |
kCommandFlag_InitiationTimeValid
|
Legen Sie fest, wann die Startzeit gültig ist. |
kCommandFlag_IsOneWay
|
Legt fest, wann der Befehl einseitig ist. |
kCommandFlag_MustBeVersionValid
|
Geben Sie an, wann das Versionsfeld gültig ist. |
Importart
ImportanceType
Die Bedeutung des Logeintrags.
Die Wichtigkeit dient als Filter für Ereignisse, bevor sie tatsächlich in das Protokoll aufgenommen werden. Sobald das Ereignis im Protokoll enthalten ist, wird es nicht mehr entfernt. Die Wichtigkeitsstufe dient dazu, den Ereignisspeicher zu priorisieren. Wenn ein Ereignis mit hohem Wert einem vollständigen Puffer hinzugefügt wird, werden sie in der Reihenfolge ihrer Wichtigkeit (und des Alters) entfernt, um ihr Platz zu bieten. Daher haben die Wichtigkeitsstufen nur einen relativen Wert. Wenn ein System nur eine Wichtigkeitsstufe verwendet, werden Ereignisse nur nach Alter gelöscht, z. B. ein Ringzwischenspeicher.
Attribute | |
---|---|
Debug
|
Die Wichtigkeit der Fehlerbehebung bedeutet, dass den Entwicklern des Systems Protokolleinträge angezeigt werden. Das Protokoll wird in der Entwicklungsphase hauptsächlich verwendet. Logs zur Wichtigkeit der Fehlerbehebung werden bei den Bandbreiten- oder Strombudgets der eingeschränkten Geräte nicht berücksichtigt. Daher dürfen sie nur über einen begrenzten Zeitraum in Produktionssystemen verwendet werden. |
Info
|
„Info wichtig“ bedeutet Logeinträge, die zusätzliche Informationen und Diagnosen zum laufenden System liefern. Die Protokollebene für Informationen kann über einen längeren Zeitraum in einem Produktionssystem oder als standardmäßige Protokollebene in einem Testlauf verwendet werden. Auf den eingeschränkten Geräten müssen die mit „Info“ protokollierten Einträge im Bandbreiten- und Arbeitsspeicherbudget berücksichtigt werden, aber nicht im Energiebudget. |
Production
|
Die Produktionspriorität gibt die Logeinträge an, die für die laufende Überwachung und Wartung der Nest-Umgebung verwendet werden. Auf eingeschränkten Geräten müssen Einträge, die mit dem Wert „Produktion“ protokolliert sind, im Strom- und Speicherbudget berücksichtigt werden, da erwartet wird, dass sie immer protokolliert und vom Gerät entladen werden. |
ProductionCritical
|
„Produktkritische Wichtigkeit“ bezieht sich auf Ereignisse, deren Verlust sich direkt auf die Funktionen für Kunden auswirkt. Anwendungen können den Verlust produktionskritischer Ereignisse nutzen, um auf Systemfehler hinzuweisen. Auf eingeschränkten Geräten müssen Einträge, die mit produktionskritischem Wert protokolliert werden, im Leistungs- und Arbeitsspeicherbudget berücksichtigt werden, da erwartet wird, dass sie immer protokolliert und vom Gerät entladen werden. |
LoggingManagementStates
LoggingManagementStates
Attribute | |
---|---|
kLoggingManagementState_Holdoff
|
Die Logauslagerung ist abgeschlossen. Das Protokoll wird erst neu gestartet, wenn der Holdoff abgelaufen ist. |
kLoggingManagementState_Idle
|
Es wird kein Log-Auslagerung ausgeführt. Der Log-Auslagerung kann ohne Einschränkungen beginnen. |
kLoggingManagementState_InProgress
|
Log-Auslagerung wird ausgeführt. |
kLoggingManagementState_Shutdown
|
Kann keine Logging-Vorgänge ausführen. |
Zeitstempeltyp
TimestampType
Die Gültigkeit und der Typ des Zeitstempels sind in den EventOptions enthalten.
Typdef.
CommandFlags
enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags
Datenversion
uint64_t DataVersion
Ereignisprozessor
void * EventProcessor
Eventautor
WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
Eine Funktion, die das Ereignisdaten-Element für das Ereignis-Subsystem des Ereignisses bereitstellt.
Von diesem Typ wird erwartet, dass das Ereignisdaten-Element für das Ereignis-Logging-Subsystem bereitgestellt wird. 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 der Bezeichnung „kTag_EventData“ ausgeben. Der Wert dieses Elements muss eine Struktur sein, die die Ereignisdaten enthält. Die Ereignisdaten müssen mithilfe von Kontext-Tags strukturiert werden.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
PlainTextWriter
EventWriterTLVCopy
Abrufen – externe Ereignisse
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
Ein Funktions-Prototyp für Plattform-Callbacks, mit denen Ereignisdaten abgerufen werden.
Ähnlich wie "FetchEventsWhere" gibt diese Abruffunktion alle Ereignisse aus EventLoadOutContext.mBeginEventID bis ExternalEvents.mLastEventID zurück.
Der Kontextzeiger hat den Typ „FetchExternalEventsContext“. Dazu gehört EventLoadOutContext mit einigen Hilfsvariablen zum Format von TLV. Sie enthält auch einen Hinweis auf die Struktur ExternalEvents, die bei der Registrierung des Callbacks erstellt wurde. Gibt den Ereignis-ID-Bereich für den Callback an.
Bei der Rückgabe von der Funktion sollte EventLoadOutContext.mCurrentEventID die erste Ereignis-ID widerspiegeln, die nicht in den TLV-Puffer geschrieben wurde. Die Plattform muss die Header und Daten der Ereignisse im TLV-Autor im richtigen Format schreiben, das im Protokoll von EventLogging angegeben ist. Außerdem muss die Plattform die Eindeutigkeit von Ereignissen und Zeitstempeln beibehalten.
Alle TLV-Fehler sollten auf höheren Ebenen weitergegeben werden. Wenn beispielsweise kein Speicherplatz mehr im Zwischenspeicher vorhanden ist, wird eine gesendete Nachricht ausgelöst, gefolgt von einem weiteren Aufruf an den Callback, wobei die Ereignis-ID beibehalten wird.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Rückgabewerte |
|
GenericTraitSenkenKatalog
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
GenericTraitSourceKatalog
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
Importart
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
Die Bedeutung des Logeintrags.
Die Wichtigkeit dient als Filter für Ereignisse, bevor sie tatsächlich in das Protokoll aufgenommen werden. Sobald das Ereignis im Protokoll enthalten ist, wird es nicht mehr entfernt. Die Wichtigkeitsstufe dient dazu, den Ereignisspeicher zu priorisieren. Wenn ein Ereignis mit hohem Wert einem vollständigen Puffer hinzugefügt wird, werden sie in der Reihenfolge ihrer Wichtigkeit (und des Alters) entfernt, um ihr Platz zu bieten. Daher haben die Wichtigkeitsstufen nur einen relativen Wert. Wenn ein System nur eine Wichtigkeitsstufe verwendet, werden Ereignisse nur nach Alter gelöscht, z. B. ein Ringzwischenspeicher.
TensorBoard-Callback
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
Trait Alias-Handler.
LoggingBufferHandler
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
NotifyExternalEventsDelivery
void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
Ein Prototyp für eine Funktion, die aufgerufen wird, wenn externe Ereignisse an den Remote-Abonnenten gesendet werden.
Wenn die externen Ereignisse an einen Remote-Abonnenten gesendet werden, sendet die Engine dem externen Ereignisanbieter eine Benachrichtigung. Der Callback enthält das Ereignis der letzten übermittelten ID und die ID des Abonnenten, der das Ereignis erhalten hat.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
NotifyExternalEventsEvictedFunct-
void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
Ein Funktionsprototyp für einen Callback, der aufgerufen wird, wenn externe Ereignisse aus den Zwischenspeichern entfernt werden.
Wenn das externe Ereignisobjekt aus dem ausgehenden Nachrichtenpuffer entfernt wird, sendet die Engine eine Benachrichtigung an den externen Ereignisanbieter. Der Callback enthält das zu entfernende externe Ereignis.
Details | |||
---|---|---|---|
Parameter |
|
PropertyDictionaryKey
uint16_t PropertyDictionaryKey
Eigenschaftspfad
uint32_t PropertyPathHandle
Ein PropertyPathHandle ist ein eindeutiger 32-Bit-Hashwert eines WDM-Pfads relativ zum Stammverzeichnis einer Trat-Instanz.
Dieser besteht aus zwei Teilen:
- Eine niedrigere 16-Bit-Zahl, die dem statischen Teil des Schemas zugeordnet ist.
- Wenn sich die unteren 16 Bit auf einen Pfad innerhalb eines Wörterbuchelements beziehen, ist eine höhere 16-Bit-Zahl vorhanden, die den Wörterbuchschlüssel für dieses Element darstellt. Wenn sich die unteren 16 Bit auf ein Element ohne Wörterbuch beziehen, sollten die oberen 16 Bit „0“ sein.
Einige Eigenschaften:
- Jede Eigenschaft hat einen eigenen Eigenschaftspfad-Handle.
- Jeder eindeutige Pfad unter WDM hat einen ähnlich eindeutigen PropertyPathHandle.
- PropertyPathHandles werden automatisch generiert (vorhanden) von einem Trait-Compiler aus IDL. Sie werden in der zugehörigen Header-Datei als Aufzählungsliste dargestellt.
- Bei diesem Konstrukt muss die Anwendungslogik nie direkt mit WDM-Pfaden umgehen. Stattdessen werden die Interaktionen mit der Mobilgeräteverwaltung ausschließlich über diese Handles ausgeführt.
- Es gibt zwei reservierte Werte für Pfad-Handles mit bestimmter Bedeutung:
- 0 gibt einen 'NULL'-Handle an
- 1 gibt einen Handle an, der auf das Stammverzeichnis der Trat-Instanz verweist.
EigenschaftSchemaHandle
uint16_t PropertySchemaHandle
Schemaversion
uint16_t SchemaVersion
SingleResourceSenkeTraitKatalog
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
SingleResourceSourceTraitKatalog
SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog
Zeitstempeltyp
enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType
Die Gültigkeit und der Typ des Zeitstempels sind in den EventOptions enthalten.
Logo: TraitDataHandle
uint16_t TraitDataHandle
Dauer_t
uint32_t duration_t
Typ zur Beschreibung der Dauer in Millisekunden.
Ereignis_ID_t
uint32_t event_id_t
Der Typ der Ereignis-ID
timestamp_t (Zeitstempel)
uint32_t timestamp_t
Typ zur Beschreibung des Zeitstempels in Millisekunden.
UZC_timestamp_t
uint64_t utc_timestamp_t
Typ zur Beschreibung des UTC-Zeitstempels in Millisekunden.
Variablen
Instanz
LoggingManagement sInstance
sLogFileName
char sLogFileName[] = "topazlog"
Funktionen
Logo: 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 )
BdxDenyHandler
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 )
Logo: BdxXferErrorHandler
void BdxXferErrorHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError )
PropertyPropertyPath
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 Ereigniszwischenspeicher übersetzt.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
GetPropertyDictionarySchlüssel
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, um Versionen miteinander zu vergleichen.
Clientseitig ist eine vom Dienst empfangene Version immer die aktuelle.
IsVersionNewerOrEqual
bool IsVersionNewerOrEqual( const DataVersion & aVersion, const DataVersion & aReference )
Adresse anzeigen
TraitUpdatableDataSink * Locate( TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog )
Dienstprogrammfunktion, die einen TraitUpdatableDataSenken in einem TraitDataSenken-Katalog findet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf TraitUpdatableDataSenke; NULL, wenn der Handle nicht vorhanden ist oder auf eine nicht aktualisierbare TraitDataSenke verweist.
|
Logereignis
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData )
Protokolliert ein Ereignis aus einem vor serialisierten Formular.
Die Funktion protokolliert ein Ereignis, das als nl::Weave::TLV::TLVReader dargestellt wird. Das bedeutet, dass die Ereignisdatendarstellung bereits im Speicher hinter dem nl::Weave::TLV::TLVReader serialisiert ist. nl::Weave::TLV::TLVReader muss mindestens ein Datenelement enthalten. Dieses Element muss eine Struktur sein. Das erste aus dem Reader gelesene Element wird als Ereignisdaten behandelt und im Ereignisprotokoll gespeichert. Die Ereignisdaten MÜSSEN Kontext-Tags enthalten, die im Schema „inProfileID“ und „inEventType“ interpretiert werden sollen. Das Tag des ersten Elements wird ignoriert. Es wird durch das Ereignis-Logging-System durch das Ereignis „eventData“ ersetzt.
Das Ereignis wird protokolliert, wenn seine InImportance den in LoggingConfiguration angegebenen Logging-Schwellenwert überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird er verworfen und die Funktion gibt 0
als resultierende Ereignis-ID zurück.
Diese Variante des Aufrufs gibt implizit alle Standard-Ereignisoptionen an:
- Das Ereignis wird mit einem Zeitstempel versehen, der mit der aktuellen Uhrzeit
- ist das Ereignis als relevant für das Gerät markiert, das den Aufruf durchführt.
- Das Ereignis ist eigenständig, es bezieht sich also nicht auf andere Ereignisse.
- ist das Ereignis als nicht dringend gekennzeichnet
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
event_id_t Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, sonst 0.
|
Logereignis
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions )
Protokolliert ein Ereignis aus einem vor serialisierten Formular mit zusätzlichen Optionen
Die Funktion protokolliert ein Ereignis, das als nl::Weave::TLV::TLVReader dargestellt wird. Das bedeutet, dass die Ereignisdatendarstellung bereits im Speicher hinter dem nl::Weave::TLV::TLVReader serialisiert ist. nl::Weave::TLV::TLVReader muss mindestens ein Datenelement enthalten. Dieses Element muss eine Struktur sein. Das erste aus dem Reader gelesene Element wird als Ereignisdaten behandelt und im Ereignisprotokoll gespeichert. Die Ereignisdaten MÜSSEN Kontext-Tags enthalten, die im Schema „inProfileID“ und „inEventType“ interpretiert werden sollen. Das Tag des ersten Elements wird ignoriert. Es wird durch das Ereignis-Logging-System durch das Ereignis „eventData“ ersetzt.
Das Ereignis wird protokolliert, wenn seine InImportance den in LoggingConfiguration angegebenen Logging-Schwellenwert überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird er verworfen und die Funktion gibt 0
als resultierende Ereignis-ID zurück.
Bei dieser Variante des Aufrufs kann der Aufrufer eine beliebige Kombination von EventOptions
festlegen:
- timestamp: Wenn 0 standardmäßig auf die aktuelle Zeit am Anrufpunkt festgelegt ist,
- &&t ergibt.
- eine zugehörige Ereignis-ID für die Gruppierung von Ereignis-IDs. Wenn die zugehörige Ereignis-ID „0“ ist, wird das Ereignis als nicht relevant für andere Ereignisse gekennzeichnet.
- Dringlichkeit; standardmäßig nicht dringend.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
event_id_t Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, sonst 0.
|
Logereignis
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData )
Ereignis über einen Callback protokollieren.
Die Funktion protokolliert ein Ereignis, das als EventWriterFunct- und ein app-spezifischer appData
-Kontext dargestellt wird. Die Funktion schreibt die Ereignismetadaten und ruft inEventWriter
mit einem nl::Weave::TLV::TLVWriter-Referenz und inAppData
-Kontext auf, damit der Nutzercode die Ereignisdaten direkt in das Ereignisprotokoll ausgeben kann. Diese Form des Ereignis-Loggings reduziert den Arbeitsspeicherverbrauch, da die Ereignisdaten direkt im Zielzwischenspeicher serialisiert werden. Die Ereignisdaten MÜSSEN Kontextkontext-Tags enthalten, die innerhalb des von inProfileID
und inEventType
identifizierten Schemas interpretiert werden sollen. Das Tag des ersten Elements wird ignoriert. Es wird durch das Ereignis-Logging-System durch das Ereignis „eventData“ ersetzt.
Das Ereignis wird protokolliert, wenn seine InImportance den in LoggingConfiguration angegebenen Logging-Schwellenwert überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird er verworfen und die Funktion gibt 0
als resultierende Ereignis-ID zurück.
Diese Variante des Aufrufs gibt implizit alle Standard-Ereignisoptionen an:
- Das Ereignis wird mit einem Zeitstempel versehen, der mit der aktuellen Uhrzeit
- ist das Ereignis als relevant für das Gerät markiert, das den Aufruf durchführt.
- Das Ereignis ist eigenständig, es bezieht sich also nicht auf andere Ereignisse.
- ist das Ereignis als nicht dringend gekennzeichnet
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
event_id_t Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, sonst 0.
|
Logereignis
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
Ereignis über einen Callback protokollieren, mit Optionen
Die Funktion protokolliert ein Ereignis, das als EventWriterFunct- und ein app-spezifischer appData
-Kontext dargestellt wird. Die Funktion schreibt die Ereignismetadaten und ruft inEventWriter
mit einem nl::Weave::TLV::TLVWriter-Referenz und inAppData
-Kontext auf, damit der Nutzercode die Ereignisdaten direkt in das Ereignisprotokoll ausgeben kann. Diese Form des Ereignis-Loggings reduziert den Arbeitsspeicherverbrauch, da die Ereignisdaten direkt im Zielzwischenspeicher serialisiert werden. Die Ereignisdaten MÜSSEN Kontextkontext-Tags enthalten, die innerhalb des von inProfileID
und inEventType
identifizierten Schemas interpretiert werden sollen. Das Tag des ersten Elements wird ignoriert. Es wird durch das Ereignis-Logging-System durch das Ereignis „eventData“ ersetzt.
Das Ereignis wird protokolliert, wenn seine InImportance den in LoggingConfiguration angegebenen Logging-Schwellenwert überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird er verworfen und die Funktion gibt 0
als resultierende Ereignis-ID zurück.
Bei dieser Variante des Aufrufs kann der Aufrufer eine beliebige Kombination von EventOptions
festlegen:
- timestamp: Wenn 0 standardmäßig auf die aktuelle Zeit am Anrufpunkt festgelegt ist,
- &&t ergibt.
- eine zugehörige Ereignis-ID für die Gruppierung von Ereignis-IDs. Wenn die zugehörige Ereignis-ID „0“ ist, wird das Ereignis als nicht relevant für andere Ereignisse gekennzeichnet.
- Dringlichkeit; standardmäßig nicht dringend.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabe |
event_id_t Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, sonst 0.
|
LogFreies Format
event_id_t LogFreeform( ImportanceType inImportance, const char *inFormat, ... )
LogFreeform gibt einen kostenlosen String an den Standard-Ereignisstream aus.
Der String wird in einer Debug-Ereignisstruktur eingefügt, die strukturell mit anderen protokollierten Strings identisch ist. Die Ereignisprofil-ID ist die ID eines Nest Debug-Ereignisses und der Ereignistyp lautet kNestDebug_StringLogEntryEvent
.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
event_id_t Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, sonst 0.
|
LookForElementWithTag
WEAVE_ERROR LookForElementWithTag( const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader )
Nur-Text-Autor
WEAVE_ERROR PlainTextWriter( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Eine Hilfsfunktion zum Ausgeben eines freien Textes als Debug-Ereignis.
Das Debug-Ereignis ist eine Struktur mit einer Logregion und einem Freitext.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
Nur-Text-Autor
WEAVE_ERROR PlainTextWriter( ::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Eine Hilfsfunktion zum Ausgeben eines freien Textes als Debug-Ereignis.
Das Debug-Ereignis ist eine Struktur mit einer Logregion und einem Freitext.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|