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

Aufzählungen

@100{
  kTag_Region = 1,
  kTag_Message = 2
}
enum
Tags für das kNestDebug_StringLogEntryEvent.
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
enum
Tags für das kNestDebug_TokenizedLogEntryEvent.
@102 enum
Tags für dauerhafte Ereignisse.
@104 enum
Die Nachrichtentypen des WDM-Profils.
@105 enum
WDM-spezifische Statuscodes.
@147 enum
@95{
  kTag_CurrentImportance = 1,
  kTag_ImportanceExpiration,
  kTag_MinimumLogUploadInterval,
  kTag_MaximumLogUploadInterval,
  kTag_LoggingDestination,
  kTag_TraitLoggingImportance
}
enum
Logging-Einstellungs-Tags.
@96{
  kTag_SupportedLogTransports = 1,
  kTag_SupportsStreaming = 2,
  kTag_SupportsNonVolatileStorage = 3,
  kTag_SupportsPerTraitVerbosity = 4,
  kTag_LoggingVolume = 5,
  kTag_LogBufferingCapacity = 6
}
enum
Tags für Logging-Funktionen.
@97{
  kTag_EventSource = 1,
  kTag_EventImportance = 2,
  kTag_EventID = 3,
  kTag_RelatedEventImportance = 10,
  kTag_RelatedEventID = 11,
  kTag_EventUTCTimestamp = 12,
  kTag_EventSystemTimestamp = 13,
  kTag_EventResourceID = 14,
  kTag_EventTraitProfileID = 15,
  kTag_EventTraitInstanceID = 16,
  kTag_EventType = 17,
  kTag_EventDeltaUTCTime = 30,
  kTag_EventDeltaSystemTime = 31,
  kTag_EventData = 50,
  kTag_ExternalEventStructure = 99
}
enum
Tags für Ereignismetadaten.
@98 enum
Profildefinitionen für die Debug-Trait.
@99{
  kNestDebug_StringLogEntryEvent = 1,
  kNestDebug_TokenizedLogEntryEvent = 2,
  kNestDebug_TokenizedHeaderEntryEvent = 3
}
enum
Ereignistypen für die Nest-Fehlerbehebungs-Trait.
CommandFlags{
  kCommandFlag_MustBeVersionValid = 0x0001,
  kCommandFlag_InitiationTimeValid = 0x0002,
  kCommandFlag_ActionTimeValid = 0x0004,
  kCommandFlag_ExpiryTimeValid = 0x0008,
  kCommandFlag_IsOneWay = 0x0010
}
enum
ImportanceType{
  ProductionCritical = 1,
  Production,
  Info,
  Debug
}
enum
Die Wichtigkeit des Logeintrags.
LoggingManagementStates{
  kLoggingManagementState_Idle = 1,
  kLoggingManagementState_InProgress = 2,
  kLoggingManagementState_Holdoff = 3,
  kLoggingManagementState_Shutdown = 4
}
enum
TimestampType enum
Die Gültigkeit und den Typ des Zeitstempels, der in EventOptions enthalten ist.

Typedefs

CommandFlags typedef
DataVersion typedef
uint64_t
EventProcessor typedef
void *
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) typedef
void(*
Trait-Handle-Iterator.
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer) typedef
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID) typedef
void(*
Ein Funktionsprototyp für einen Callback, der aufgerufen wird, wenn externe Ereignisse an den Remote-Abonnenten gesendet werden.
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv) typedef
void(*
Ein Funktionsprototyp für einen Callback, der aufgerufen wird, wenn externe Ereignisse aus den Puffern entfernt werden.
PropertyDictionaryKey typedef
uint16_t
PropertyPathHandle typedef
uint32_t
Ein PropertyPathHandle ist ein eindeutiger numerischer 32-Bit-Hash eines WDM-Pfads relativ zum Stamm einer Trait-Instanz.
PropertySchemaHandle typedef
uint16_t
SchemaVersion typedef
uint16_t
SingleResourceSinkTraitCatalog typedef
SingleResourceSourceTraitCatalog typedef
TimestampType typedef
Die Gültigkeit und den Typ des Zeitstempels, der in EventOptions enthalten ist.
TraitDataHandle typedef
uint16_t
duration_t nl::Weave::Profiles::DataManagement_Current::duration_t
uint32_t
Typ zur Beschreibung der Dauer in Millisekunden.
event_id_t nl::Weave::Profiles::DataManagement_Current::event_id_t
uint32_t
Der Typ der Ereignis-ID.
timestamp_t nl::Weave::Profiles::DataManagement_Current::timestamp_t
uint32_t
Typ zur Beschreibung des Zeitstempels in Millisekunden.
utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::utc_timestamp_t
uint64_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

Kurse

nl::Weave::Profiles::DataManagement_Current::AlwaysAcceptDataElementAccessControlDelegate
nl::Weave::Profiles::DataManagement_Current::BuilderBase

Basisklasse für WDM-Nachrichtenencoder.

nl::Weave::Profiles::DataManagement_Current::CircularEventReader

Ein TLVReader, der von CircularEventBuffer unterstützt wird.

nl::Weave::Profiles::DataManagement_Current::Command
nl::Weave::Profiles::DataManagement_Current::CommandSender
nl::Weave::Profiles::DataManagement_Current::GenericTraitCatalogImpl

Eine Weave-Implementierung der TraitCatalogBase-Schnittstelle für eine Sammlung von Trait-Dateninstanzen bereitgestellt, die alle auf dieselbe Ressource verweisen.

nl::Weave::Profiles::DataManagement_Current::IDataElementAccessControlDelegate

Schnittstelle, die von einem Prozessor von Datenelementen in einer NotifyRequest implementiert werden soll.

nl::Weave::Profiles::DataManagement_Current::IDirtyPathCut
nl::Weave::Profiles::DataManagement_Current::IPathFilter
nl::Weave::Profiles::DataManagement_Current::IWeavePublisherLock

Schnittstelle, die von der App implementiert werden soll, um den Zugriff auf wichtige WDM-Datenstrukturen zu serialisieren.

nl::Weave::Profiles::DataManagement_Current::IWeaveWDMMutex

Schnittstelle eines Mutex-Objekts.

nl::Weave::Profiles::DataManagement_Current::ListBuilderBase

Basisklasse für WDM-Nachrichtenencoder, die auf TLV-Arrayelemente wie Datenlisten und Versionslisten spezialisiert ist.

nl::Weave::Profiles::DataManagement_Current::ListParserBase

Basisklasse für WDM-Nachrichtenparser, spezialisiert auf TLV-Array-Elemente wie Datenlisten und Versionslisten.

nl::Weave::Profiles::DataManagement_Current::LogBDXUpload
nl::Weave::Profiles::DataManagement_Current::LoggingConfiguration

LoggingConfiguration kapselt die konfigurierbare Komponente des Weave-Ereignis-Subsystems Logging.

nl::Weave::Profiles::DataManagement_Current::LoggingManagement

Eine Klasse zum Verwalten der Ereignisprotokolle im Arbeitsspeicher.

nl::Weave::Profiles::DataManagement_Current::NotificationEngine
nl::Weave::Profiles::DataManagement_Current::ParserBase

Basisklasse für WDM-Nachrichtenparser.

nl::Weave::Profiles::DataManagement_Current::ResourceIdentifier

Eine Struktur, die die ID einer Ressource einschließt.

nl::Weave::Profiles::DataManagement_Current::SingleResourceTraitCatalog
nl::Weave::Profiles::DataManagement_Current::SubscriptionClient
nl::Weave::Profiles::DataManagement_Current::SubscriptionEngine

Dies ist ein Singleton, das alle WDM Next-Abos hostet, sowohl auf Client- als auch auf Publisher-Seite.

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler
nl::Weave::Profiles::DataManagement_Current::TraitCatalogBase
nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitDataSource
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine

Die Schema-Engine nimmt Schemainformationen, die mit einem bestimmten Merkmal verknüpft sind, und bietet Funktionen zum Parsen und Übersetzen dieser Informationen in ein Formular, das von der WDM-Maschine verwendet werden kann.

nl::Weave::Profiles::DataManagement_Current::TraitUpdatableDataSink
nl::Weave::Profiles::DataManagement_Current::UpdateClient
nl::Weave::Profiles::DataManagement_Current::UpdateDictionaryDirtyPathCut

Dienstprogrammklasse, mit der das Wörterbuch beim Verarbeiten des Property-Pfads mit untergeordnetem Wörterbuch wieder in die Warteschlange für ausstehende Anfragen gesetzt wird.

nl::Weave::Profiles::DataManagement_Current::UpdateDirtyPathFilter

Dienstprogrammklasse zum Filtern des Pfads bei der Verarbeitung von Benachrichtigungen.

nl::Weave::Profiles::DataManagement_Current::UpdateEncoder

Dieses Objekt codiert die WDM-Nutzlasten UpdateRequest und PartialUpdateRequest.

nl::Weave::Profiles::DataManagement_Current::ViewClient

Strukturen

nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer

Interner Ereignispuffer, der auf nl::Weave::TLV::WeaveCircularTLVBuffer basiert.

nl::Weave::Profiles::DataManagement_Current::ConstSchemaVersionRange
nl::Weave::Profiles::DataManagement_Current::CopyAndAdjustDeltaTimeContext

Interne Struktur für die Durchlauf-Ereignisliste.

nl::Weave::Profiles::DataManagement_Current::DebugLogContext
nl::Weave::Profiles::DataManagement_Current::DetailedRootSection

Die Struktur, die eine vollständige Auflösung der Trait-Instanz bietet.

nl::Weave::Profiles::DataManagement_Current::EventEnvelopeContext

Interne Struktur zum Durchlaufen von Ereignissen.

nl::Weave::Profiles::DataManagement_Current::EventLoadOutContext

Struktur zum Kopieren von Ereignislisten in die Ausgabe.

nl::Weave::Profiles::DataManagement_Current::EventOptions

Die Struktur, die Optionen für die verschiedenen Ereignisfelder bietet.

nl::Weave::Profiles::DataManagement_Current::EventSchema

Die Struktur, die ein Schema für Ereignismetadaten definiert.

nl::Weave::Profiles::DataManagement_Current::ExternalEvents

Struktur für das Tracking von auf der Plattform gespeicherten Ereignissen.

nl::Weave::Profiles::DataManagement_Current::LogStorageResources

Eine Hilfsklasse, die zum Initialisieren der Logging-Verwaltung verwendet wird.

nl::Weave::Profiles::DataManagement_Current::ReclaimEventCtx
nl::Weave::Profiles::DataManagement_Current::SchemaVersionRange
nl::Weave::Profiles::DataManagement_Current::TraitPath
nl::Weave::Profiles::DataManagement_Current::TraitPathStore
nl::Weave::Profiles::DataManagement_Current::VersionedTraitPath

Gewerkschaften

nl::Weave::Profiles::DataManagement_Current::Timestamp

Die Union, die ein Application Set-System oder einen UTC-Zeitstempel bereitstellt.

Namespaces

nl::Weave::Profiles::DataManagement_Current::BaseMessageWithSubscribeId
nl::Weave::Profiles::DataManagement_Current::CustomCommand

Benutzerdefinierte Befehl-Definition in WDM.

nl::Weave::Profiles::DataManagement_Current::CustomCommandResponse

Definition der benutzerdefinierten Befehls-WDM-Antwort.

nl::Weave::Profiles::DataManagement_Current::DataElement

WDM-Datenelementdefinition

nl::Weave::Profiles::DataManagement_Current::DataList
nl::Weave::Profiles::DataManagement_Current::Event
nl::Weave::Profiles::DataManagement_Current::EventList
nl::Weave::Profiles::DataManagement_Current::NotificationRequest
nl::Weave::Profiles::DataManagement_Current::Path

Definition des WDM-Pfads.

nl::Weave::Profiles::DataManagement_Current::PathList

Definition der WDM-Pfadliste.

nl::Weave::Profiles::DataManagement_Current::Platform
nl::Weave::Profiles::DataManagement_Current::RejectionRecord
nl::Weave::Profiles::DataManagement_Current::RejectionRecordList
nl::Weave::Profiles::DataManagement_Current::StatusElement

Definition des WDM-Statuselements

nl::Weave::Profiles::DataManagement_Current::StatusList
nl::Weave::Profiles::DataManagement_Current::SubscribeCancelRequest
nl::Weave::Profiles::DataManagement_Current::SubscribeConfirmRequest
nl::Weave::Profiles::DataManagement_Current::SubscribeRequest
nl::Weave::Profiles::DataManagement_Current::SubscribeResponse
nl::Weave::Profiles::DataManagement_Current::UpdateRequest

Definition der Anfrage zur WDM-Aktualisierungsanforderung.

nl::Weave::Profiles::DataManagement_Current::UpdateResponse
nl::Weave::Profiles::DataManagement_Current::VersionList
nl::Weave::Profiles::DataManagement_Current::ViewRequest
nl::Weave::Profiles::DataManagement_Current::ViewResponse

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
[in,out] ioWriter
Ein Verweis auf das Objekt nl::Weave::TLV::TLVWriter, das für die Serialisierung von Ereignisdaten verwendet wird.
[in] inDataTag
Ein Kontext-Tag für die TLV, die wir gerade schreiben.
[in] appData
Ein Zeiger auf einen anwendungsspezifischen Kontext.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
other
Ein entsprechender Fehler, der dem Aufrufer signalisiert, dass die Serialisierung der Ereignisdaten nicht abgeschlossen werden konnte. Fehler aus Aufrufen an den ioWriter sollten ohne Neuzuordnung weitergegeben werden. Wenn die Funktion einen Fehlertyp zurückgibt, wird die Ereignisgenerierung abgebrochen und das Ereignis wird nicht in das Log geschrieben.
Siehe auch:
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
WEAVE_ERROR_NO_MEMORY
Wenn kein Platz zum Schreiben von Ereignissen vorhanden ist.
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn kein Platz zum Schreiben von Ereignissen vorhanden ist.
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_END_OF_TLV
Bei Erfolg.

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
[in] inEv
Externes Ereignisobjekt, das ausgelieferten Ereignissen entspricht
[in] inLastDeliveredEventID
ID des letzten an den Abonnenten gesendeten Ereignisses.
[in] inRecipientNodeID
Weave-Knoten-ID des Empfängers

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
[in] inEv
Zu entfernendes externes Ereignisobjekt

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
[in,out] ioWriter
Der Writer, der zum Schreiben des Ereignisses verwendet werden soll
[in] inDataTag
Ein Kontext-Tag für die TLV, die Sie kopieren. Hier nicht verwendet, aber durch typedef für EventWriterFunct erforderlich.
[in] appData
Ein Zeiger auf den TLVReader, der serialisierte Ereignisdaten enthält.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
other
Andere Fehler, die vom ioWriter zurückgegeben werden müssen.

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
[in] aTraitDataHandle
Handle der nachzuschlagenden Senke.
[in] aDataSinkCatalog
Katalog für die Suche.
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
[in] inSchema
Schema, das die Wichtigkeit, die Profil-ID und den Strukturtyp dieses Ereignisses definiert.
[in] inData
Der TLV-Reader, der die Ereignisdaten als erstes Element enthält.
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
[in] inSchema
Schema, das die Wichtigkeit, die Profil-ID und den Strukturtyp dieses Ereignisses definiert.
[in] inData
Der TLV-Reader, der die Ereignisdaten als erstes Element enthält. Darf nicht NULL sein
[in] inOptions
Die Optionen für die Ereignismetadaten. Kann NULL sein.
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
[in] inSchema
Schema, das die Wichtigkeit, die Profil-ID und den Strukturtyp dieses Ereignisses definiert.
[in] inEventWriter
Der Callback, der aufgerufen werden soll, um die Ereignisdaten tatsächlich zu serialisieren.
[in] inAppData
Anwendungskontext für den Callback.
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
[in] inSchema
Schema, das die Wichtigkeit, die Profil-ID und den Strukturtyp dieses Ereignisses definiert.
[in] inEventWriter
Der Callback, der aufgerufen werden soll, um die Ereignisdaten tatsächlich zu serialisieren.
[in] inAppData
Anwendungskontext für den Callback.
[in] inOptions
Die Optionen für die Ereignismetadaten. Kann NULL sein.
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
[in] inImportance
Bedeutung des Protokolleintrags: Wenn die Wichtigkeit unter den aktuellen Wert sinkt, wird das Ereignis nicht protokolliert.
[in] inFormat
printf-konformer Formatstring, gefolgt von Argumenten, die formatiert werden sollen
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
[in,out] ioWriter
Der Writer, der zum Schreiben des Ereignisses verwendet werden soll
[in] appData
Ein Zeiger auf DebugLogContext, eine Struktur mit einem Stringformat, Argumenten und einem Logbereich.
[in] inDataTag
Ein Kontext-Tag für die TLV, die wir gerade schreiben. Hier nicht verwendet, aber durch typedef für EventWriterFunct erforderlich.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
other
Andere Fehler, die vom ioWriter zurückgegeben werden müssen.

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
[in,out] ioWriter
Der Writer, der zum Schreiben des Ereignisses verwendet werden soll
[in] inDataTag
Das Tag, das ausgegeben werden soll
[in] appData
Ein Zeiger auf DebugLogContext, eine Struktur mit einem Stringformat, Argumenten und einem Logbereich.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
other
Andere Fehler, die vom ioWriter zurückgegeben werden können.

Operator!=

bool operator!=(
  const ResourceIdentifier & lhs,
  const ResourceIdentifier & rhs
)

Operator==

bool operator==(
  const ResourceIdentifier & lhs,
  const ResourceIdentifier & rhs
)