nl::Weave::Profiles::DataManagement_Current

Dieser Namespace umfasst alle Schnittstellen in Weave 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_StringLogEvent.
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
enum
Tags für das kNestDebug_TokenizedLogEntryEvent.
@102 enum
Tags für persistente Ereignisse.
@104 enum
Die Nachrichtentypen im WDM-Profil.
@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 das Debug-Trait.
@99{
  kNestDebug_StringLogEntryEvent = 1,
  kNestDebug_TokenizedLogEntryEvent = 2,
  kNestDebug_TokenizedHeaderEntryEvent = 3
}
enum
Ereignistypen für die Eigenschaft „Nest Debug“.
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 Element „eventData“ für das Ereignisprotokollierungs-Subsystem bereitstellt.
FetchExternalEventsFunct)(EventLoadOutContext *aContext) typedef.
Ein Funktionsprototyp für Plattform-Callbacks zum Abrufen von Ereignisdaten.
GenericTraitSinkCatalog typedef.
GenericTraitSourceCatalog typedef.
ImportanceType typedef.
Die Wichtigkeit des Logeintrags.
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext) typedef.
void(*
Iterator für Trait-Handles.
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 Zwischenspeichern entfernt werden.
PropertyDictionaryKey typedef.
uint16_t
PropertyPathHandle typedef.
uint32_t
Ein PropertyPathHandle ist ein eindeutiger 32-Bit-Hash-Wert 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, mit dem der Zeitstempel in Millisekunden beschrieben wird.
utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::utc_timestamp_t
uint64_t
Typ, mit dem der UTC-Zeitstempel in Millisekunden beschrieben wird.

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 eventdata-Element 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 Vergleichen von Versionen.
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
bool
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
Dienstprogrammfunktion, die eine TraitUpdatableDataSink in einem TraitDataSink-Katalog findet.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
Ereignis aus einem vorserialisierten Formular protokollieren.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
Protokolliert ein Ereignis aus einem vorserialisierten Formular mit zusätzlichen Optionen.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
Protokolliere ein Ereignis über einen Callback.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Protokolliere ein Ereignis über einen Callback mit Optionen.
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
LogFreeform gibt einen freien 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 Texts als Debug-Ereignis.
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
Eine Hilfsfunktion zum Ausgeben eines freien Texts als Debug-Ereignis.
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool

Klassen

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

Basisklasse für WDM-Nachrichten-Encoder

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

Ein TLVReader mit CircularEventBuffer

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, die alle auf dieselbe Ressource verweisen.

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

Schnittstelle, die von einem Datenverarbeiter 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-Array-Elemente wie Daten- und Versionslisten spezialisiert sind.

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

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

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

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

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

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, auf dem alle WDM Next-Abos gehostet werden, 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 verwendet Schemainformationen, die mit einem bestimmten Merkmal verknüpft sind, und bietet Funktionen, um diese Informationen zu parsen und in eine von WDM-Geräten verwendbare Form zu übertragen.

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

Dienstprogrammklasse, mit der das Wörterbuch wieder in die Warteschlange für ausstehende Anfragen verschoben wird, wenn der Attributpfad mit untergeordnetem Wörterbuch verarbeitet wird.

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

Dienstprogrammklasse zum Filtern des Pfads beim Verarbeiten von Benachrichtigungen.

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

Dieses Objekt codiert die WDM-Nutzlasten vom Typ UpdateRequest und PartialUpdateRequest.

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

Strukturen

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

Interner Ereignispuffer, der um nl::Weave::TLV::WeaveCircularTLVBuffer herum erstellt wurde.

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

Interne Struktur für die Liste der durchlaufenden Ereignisse.

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 für das Kopieren von Ereignislisten bei der 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 einen Anwendungs-Set-System- oder UTC-Zeitstempel bereitstellt.

Namespaces

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

WDM-Definition benutzerdefinierter Befehle.

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

Definition der WDM-Antwort für benutzerdefinierten Befehl.

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

WDM-Pfaddefinition.

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

WDM-Definition der 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 WDM-Aktualisierungsanfrage

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_StringLogEvent.

Attribute
kTag_Message

Ein String, der die eigentliche Debug-Meldung enthält.

kTag_Region

Ein unsigniertes 32-Bit-Objekt, 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 von 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 persistente Ereignisse.

@104

 @104

Die Nachrichtentypen im WDM-Profil.

Diese Werte werden in der Datenverwaltungsspezifikation angegeben.

@105

 @105

WDM-spezifische Statuscodes

@147

 @147

@95

 @95

Logging-Einstellungs-Tags.

Attribute
kTag_CurrentImportance

Aktuelle Logging-Wichtigkeit; der Wert ist vom Typ "WichtiganceType".

kTag_ImportanceExpiration

Zeitpunkt in UTC-Sekunden, wenn die aktuellen erweiterten Logging-Einstellungen 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 Logupload-Versuchen.

kTag_MinimumLogUploadInterval

Minimale Dauer in Sekunden zwischen automatisch ausgelösten Logupload-Versuchen.

kTag_TraitLoggingImportance

Ein optionales Array, das ausgewählte Profile selektiv den höheren Logging-Ebenen zuordnet.

Jedes Element im Array hat eine bestimmte Form (profile,path,loggingwichtigkeit), um das Logging selektiv von einer Teilmenge des Systems zu optimieren. Die Protokollierungspriorität für erhöhte Profile ist nur dann von Bedeutung, wenn die Protokollierungspriorität die der aktuellen Wichtigkeit überschreitet und die gleiche Ablaufzeit wie für die aktuelle Wichtigkeit gilt.

@96

 @96

Tags für Logging-Funktionen.

Attribute
kTag_LogBufferingCapacity

Eine vorzeichenlose 32-Bit-Ganzzahl, die die Pufferkapazität des Logs in kB angibt.

kTag_LoggingVolume

Eine vorzeichenlose 32-Bit-Ganzzahl, die das erwartete Logging-Volumen in kB/Tag angibt.

kTag_SupportedLogTransports

Ein Array unterstützter Logtransportmechanismen.

kTag_SupportsNonVolatileStorage

Ein boolescher Wert, der angibt, ob das Gerät nichtflüchtigen Protokollspeicher unterstützt.

kTag_SupportsPerTraitVerbosity

Ein boolescher Wert, der angibt, ob das Gerät Ausführlichkeitseinstellungen nach Trait unterstützt.

kTag_SupportsStreaming

Ein boolescher Wert, der angibt, ob das Gerät Streaming-Logs unterstützt.

@97

 @97

Tags für Ereignismetadaten.

Die vollständige Semantik der Tag-Werte finden Sie in der Spezifikation für das Ereignisdesign.

Attribute
kTag_EventData

Optional. Die Ereignisdaten selbst. Wenn das Feld leer ist, wird standardmäßig eine leere Struktur verwendet.

kTag_EventDeltaSystemTime

Internes WDM-Tag: Zeitunterschied zum vorherigen Ereignis in der Codierung

kTag_EventDeltaUTCTime

Internes WDM-Tag: Zeitunterschied zum vorherigen Ereignis in der Codierung

kTag_EventID

Sequenznummer des Ereignisses, ausgedrückt als 64-Bit-Anzahl ohne Vorzeichen.

Die Reihenfolge muss aufeinanderfolgen. Sprünge in der Sequenz weisen auf Ereignislücken hin.

kTag_EventImportance

Bedeutung des Ereignisses

kTag_EventResourceID

Optional.

Der Wert ist die ID der Ressource, auf die sich das Ereignis bezieht. Wenn er weggelassen wird, entspricht der Wert dem Wert von kTag_EventSource.

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 Traits, 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 für diesen Ereignistyp der wdl.event.id entspricht.

kTag_EventUTCTimestamp

Optional. UTC-Zeitstempel des Ereignisses in Millisekunden.

kTag_ExternalEventStructure

Internes Tag für externe Ereignisse. Wird niemals über ein Kabel übertragen und sollte niemals außerhalb der Weave-Bibliothek verwendet werden.

kTag_RelatedEventID

Optional.

ID eines Ereignisses, auf das sich dieses Ereignis bezieht. Wenn keine Angabe gemacht wird, entspricht der Wert dem Wert von kTag_EventID.

kTag_RelatedEventImportance

Optional.

Bedeutung des zugehörigen Ereignisses Wenn keine Angabe gemacht wird, entspricht der Wert dem Wert von „kTag_EventImportance“.

@98

 @98

Profildefinitionen für das Debug-Trait.

@99

 @99

Ereignistypen für die Eigenschaft „Nest Debug“.

Attribute
kNestDebug_StringLogEntryEvent

Ein Ereignis für eine Debug-Meldung für einen String im freien Format.

kNestDebug_TokenizedHeaderEntryEvent

Ein Ereignis zum Übermitteln 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 Initialisierungszeit gültig ist.

kCommandFlag_IsOneWay

Wird festgelegt, wenn der Befehl in eine Richtung erfolgt.

kCommandFlag_MustBeVersionValid

Legt fest, wann das Versionsfeld gültig ist.

ImportanceType

 ImportanceType

Die Wichtigkeit des Logeintrags.

Mithilfe der Wichtigkeit können Ereignisse gefiltert werden, bevor sie tatsächlich in das Protokoll ausgegeben werden. Sobald das Ereignis im Protokoll eingetragen ist, können wir es nicht mehr aus dem Protokoll entfernen. Die Prioritätsstufe dient dazu, die Speicherung von Ereignissen zu priorisieren. Wenn ein Ereignis von hoher Wichtigkeit zu einem kompletten Zwischenspeicher hinzugefügt wird, werden Ereignisse nach Wichtigkeit (und Alter) sortiert, um das Ereignis aufzunehmen. Daher haben Prioritätsstufen nur einen relativen Wert. Wenn ein System nur eine Prioritätsstufe verwendet, werden Ereignisse nur nach dem Alter gelöscht, z. B. ein Ringpuffer.

Attribute
Debug

Die Debug-Wichtigkeit kennzeichnet Logeinträge, die für die Entwickler des Systems von Interesse sind. Sie wird hauptsächlich in der Entwicklungsphase verwendet.

Logs zur Debug-Wichtigkeit werden bei der Bandbreiten- oder Energiebudgets der eingeschränkten Geräte nicht berücksichtigt. Daher dürfen sie nur über einen begrenzten Zeitraum in Produktionssystemen verwendet werden.

Info

Die Infowichtigkeit kennzeichnet Logeinträge, die zusätzliche Einblicke und Diagnosen zum laufenden System bieten.

Die Informations-Logging-Ebene kann über einen längeren Zeitraum in einem Produktionssystem oder als Standard-Logebene in einem Feldtest verwendet werden. Auf den eingeschränkten Geräten müssen die mit dem Info-Level protokollierten Einträge in der Bandbreite und dem Arbeitsspeicherbudget berücksichtigt werden, aber nicht im Energiebudget.

Production

Die Wichtigkeit der Produktion bezeichnet die Logeinträge, die für die laufende Überwachung und Wartung des Nest-Systems verwendet werden.

Auf eingeschränkten Geräten müssen Einträge, die mit der Wichtigkeit "Produktion" protokolliert werden, im Energie- und Speicherbudget berücksichtigt werden, da sie erwartungsgemäß immer vom Gerät protokolliert und ausgelagert werden.

ProductionCritical

Die produktionskritische Bedeutung bezieht sich auf Ereignisse, deren Verlust sich direkt auf kundenseitige Funktionen auswirken würde.

Anwendungen können den Verlust von produktionskritischen Ereignissen nutzen, um einen Systemausfall anzuzeigen. Auf eingeschränkten Geräten müssen Einträge, die mit der Wichtigkeitsstufe „Produktion kritisch“ protokolliert werden, im Energie- und Arbeitsspeicherbudget berücksichtigt werden, da davon ausgegangen wird, dass sie immer protokolliert und vom Gerät ausgelagert werden.

LoggingManagementStates

 LoggingManagementStates
Attribute
kLoggingManagementState_Holdoff

Logauslagerung ist abgeschlossen. wird das Protokoll erst neu gestartet, wenn der Holdoff abläuft.

kLoggingManagementState_Idle

Keine Log-Auslagerung läuft. Die Log-Auslagerung kann ohne Einschränkungen beginnen.

kLoggingManagementState_InProgress

Logauslagerung läuft.

kLoggingManagementState_Shutdown

Kann keinen Logging-Vorgang 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 Element „eventData“ für das Ereignisprotokollierungs-Subsystem bereitstellt.

Von Funktionen dieses Typs wird erwartet, dass sie das Element „eventData“ für das Subsystem der Ereignisprotokollierung 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, an das sie ein einzelnes TLV-Element mit dem Tag „kTag_EventData“ ausgibt. der Wert dieses Elements MUSS eine Struktur mit den Ereignisdaten sein. Die Ereignisdaten selbst müssen mit Kontext-Tags strukturiert sein.

Details
Parameter
[in,out] ioWriter
Ein Verweis auf das Objekt nl::Weave::TLV::TLVWriter zur Verwendung für die Serialisierung von Ereignisdaten
[in] inDataTag
Ein Kontext-Tag für die TLV, die wir schreiben.
[in] appData
Ein Verweis 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 nicht in das Protokoll geschrieben.
Siehe auch:
PlainTextWriter
EventWriterTLVCopy

FetchExternalEventsFunct

WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)

Ein Funktionsprototyp für Plattform-Callbacks zum Abrufen von Ereignisdaten.

Ähnlich wie „FetchEventsDa“ gibt diese Abruffunktion alle Ereignisse von EventLoadOutContext.mStartingEventID bis ExternalEvents.mLastEventID zurück.

Der Kontextzeiger ist vom Typ "FetchExternalEventsContext". Dazu gehört auch EventLoadOutContext mit einigen Hilfsvariablen für das Format der TLV. Sie enthält auch einen Zeiger auf die Struktur ExternalEvents, die bei der Registrierung des Callbacks erstellt wurde. Gibt den Ereignis-ID-Bereich für den Callback an.

Nach der Rückgabe von der Funktion sollte EventLoadOutContext.mCurrentEventID die erste Ereignis-ID widerspiegeln, die nicht erfolgreich in den TLV-Zwischenspeicher geschrieben wurde. Die Plattform muss den Ereignisheader und die Ereignisdaten im TLV-Schreiber im richtigen Format schreiben, das im EventLogging-Protokoll angegeben ist. Außerdem muss die Plattform die Eindeutigkeit von Ereignissen und Zeitstempeln beibehalten.

Alle TLV-Fehler sollten an höhere Ebenen weitergegeben werden. Wenn beispielsweise der Speicherplatz im Zwischenspeicher ausgeht, wird eine gesendete Nachricht ausgelöst, gefolgt von einem weiteren Aufruf des Callbacks mit der jeweils verbleibenden Ereignis-ID.

Details
Rückgabewerte
WEAVE_ERROR_NO_MEMORY
Wenn kein Platz zum Schreiben von Terminen vorhanden ist.
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn kein Platz zum Schreiben von Terminen 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.

Mithilfe der Wichtigkeit können Ereignisse gefiltert werden, bevor sie tatsächlich in das Protokoll ausgegeben werden. Sobald das Ereignis im Protokoll eingetragen ist, können wir es nicht mehr aus dem Protokoll entfernen. Die Prioritätsstufe dient dazu, die Speicherung von Ereignissen zu priorisieren. Wenn ein Ereignis von hoher Wichtigkeit zu einem kompletten Zwischenspeicher hinzugefügt wird, werden Ereignisse nach Wichtigkeit (und Alter) sortiert, um das Ereignis aufzunehmen. Daher haben Prioritätsstufen nur einen relativen Wert. Wenn ein System nur eine Prioritätsstufe verwendet, werden Ereignisse nur nach dem Alter gelöscht, z. B. ein Ringpuffer.

IteratorCallback

void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)

Iterator für Trait-Handles.

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 letzten übermittelten ID und die ID des Abonnenten, der das Ereignis empfangen hat.

Details
Parameter
[in] inEv
Objekt für externe Ereignisse, das den gelieferten Ereignissen entspricht
[in] inLastDeliveredEventID
ID des letzten Ereignisses, das an den Abonnenten gesendet wurde.
[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 Zwischenspeichern entfernt werden.

Wenn das externe Ereignisobjekt aus dem Zwischenspeicher für ausgehende Nachrichten entfernt wird, sendet die Engine eine Benachrichtigung an den externen Ereignisanbieter. Der Callback enthält das externe Ereignis, das entfernt werden soll.

Details
Parameter
[in] inEv
Externes Ereignisobjekt, das entfernt werden soll

PropertyDictionaryKey

uint16_t PropertyDictionaryKey

PropertyPathHandle

uint32_t PropertyPathHandle

Ein PropertyPathHandle ist ein eindeutiger 32-Bit-Hash-Wert 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.
  • Wenn sich die unteren 16-Bits auf einen Pfad innerhalb eines Wörterbuchelements beziehen, ist eine obere 16-Bit-Zahl vorhanden, die den mit diesem Element verknüpften Wörterbuchschlüssel darstellt. Wenn sich die unteren 16 Bits auf ein Element beziehen, das kein Wörterbuch ist, sollten die oberen 16 Bit 0 sein.

Einige Merkmale:

  • Jedes Trait hat einen eigenen Handle-Bereich für den Eigenschaftspfad.
  • Jeder eindeutige WDM-Unterpfadpfad hat einen ähnlich eindeutigen PropertyPathHandle.
  • PropertyPathHandles werden von einem Trait-Compiler aus IDL automatisch generiert (vorerst manuell erledigt) und als Aufzählungsliste in der entsprechenden Headerdatei der entsprechenden Trait dargestellt.
  • Bei diesem Konstrukt muss die Anwendungslogik nie direkt mit WDM-Pfaden umgehen. Ihre Interaktionen mit WDM erfolgen ausschließlich über diese Aliasse.
  • Es gibt zwei reservierte Werte für Pfad-Handles, die eine bestimmte Bedeutung haben:
    • 0 steht für NULL. Alias
    • 1 gibt einen Handle an, der auf den Stamm 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, mit dem der Zeitstempel in Millisekunden beschrieben wird.

utc_timestamp_t

uint64_t utc_timestamp_t

Typ, mit dem der UTC-Zeitstempel in Millisekunden beschrieben wird.

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 eventdata-Element in den Ereignispuffer übersetzt.

Details
Parameter
[in,out] ioWriter
Eine Person, die den Termin verfasst
[in] inDataTag
Ein Kontext-Tag für den TLV, den wir kopieren Wird hier nicht verwendet, ist aber von der 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.

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 Vergleichen von Versionen.

Auf Clientseite ist eine vom Dienst empfangene Version immer die neueste.

IsVersionNewerOrEqual

bool IsVersionNewerOrEqual(
  const DataVersion & aVersion,
  const DataVersion & aReference
)

Suchen

TraitUpdatableDataSink * Locate(
  TraitDataHandle aTraitDataHandle,
  const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog
)

Dienstprogrammfunktion, die eine TraitUpdatableDataSink in einem TraitDataSink-Katalog findet.

Details
Parameter
[in] aTraitDataHandle
Handle der nachzuschlagenden Senke.
[in] aDataSinkCatalog
Katalog zum Suchen.
Rückgabe
Ein Verweis auf TraitUpdatableDataSink. NULL, wenn das Handle nicht vorhanden ist oder auf eine nicht aktualisierbare TraitDataSink verweist.

LogEvent

event_id_t LogEvent(
  const EventSchema & inSchema,
  nl::Weave::TLV::TLVReader & inData
)

Ereignis aus einem vorserialisierten Formular protokollieren.

Die Funktion protokolliert ein Ereignis, das als nl::Weave::TLV::TLVReader dargestellt wird. Das bedeutet, dass die Darstellung der Ereignisdaten bereits im Speicher serialisiert ist, der nl::Weave::TLV::TLVReader zugrunde liegt. nl::Weave::TLV::TLVReader muss mindestens ein einzelnes Datenelement enthalten. Dieses Element muss eine Struktur sein. Das erste aus dem Reader ausgelesene 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. ersetzt das Ereignisprotokollierungssystem es durch das Tag „eventData“.

Das Ereignis wird protokolliert, wenn seine Wichtigkeit den in LoggingConfiguration angegebenen Protokollierungsschwellenwert überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird es verworfen und die Funktion gibt eine 0 als resultierende Ereignis-ID zurück.

In dieser Variante des Aufrufs werden implizit alle Standardereignisoptionen angegeben:

  • wird das Ereignis mit der aktuellen Uhrzeit zum Zeitpunkt des Aufrufs versehen.
  • wird gekennzeichnet, dass das Ereignis zu dem Gerät gehört, das den Anruf tätigt,
  • die Veranstaltung eigenständig ist und nicht mit anderen Ereignissen in Verbindung steht.
  • der Termin als nicht dringend gekennzeichnet ist,

Details
Parameter
[in] inSchema
Schema, das die Wichtigkeit, die Profil-ID und den Strukturtyp dieses Ereignisses definiert.
[in] inData
Der TLV-Leser mit den Ereignisdaten als erstes Element.
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
)

Protokolliert ein Ereignis aus einem vorserialisierten Formular mit zusätzlichen Optionen.

Die Funktion protokolliert ein Ereignis, das als nl::Weave::TLV::TLVReader dargestellt wird. Das bedeutet, dass die Darstellung der Ereignisdaten bereits im Speicher serialisiert ist, der nl::Weave::TLV::TLVReader zugrunde liegt. nl::Weave::TLV::TLVReader muss mindestens ein einzelnes Datenelement enthalten. Dieses Element muss eine Struktur sein. Das erste aus dem Reader ausgelesene 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. ersetzt das Ereignisprotokollierungssystem es durch das Tag „eventData“.

Das Ereignis wird protokolliert, wenn seine Wichtigkeit den in LoggingConfiguration angegebenen Protokollierungsschwellenwert überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird es verworfen und die Funktion gibt eine 0 als resultierende Ereignis-ID zurück.

Diese Variante des Aufrufs erlaubt dem Aufrufer, eine beliebige Kombination aus EventOptions festzulegen:

  • Zeitstempel, wenn 0 standardmäßig auf die aktuelle Zeit zum Zeitpunkt des Aufrufs eingestellt ist,
  • „Stamm“ Abschnitt der Ereignisquelle (Ereignisquelle und Trait-ID) Wenn NULL, wird standardmäßig das aktuelle Gerät verwendet. wird gekennzeichnet, dass das Ereignis zu dem Gerät gehört, das den Anruf tätigt,
  • eine zugehörige Ereignis-ID zum Gruppieren von Ereignis-IDs Wenn die zugehörige Ereignis-ID 0 ist, wird das Ereignis so markiert, dass es nicht mit anderen Ereignissen in Zusammenhang steht.
  • 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-Leser mit den Ereignisdaten als erstes Element. 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
)

Protokolliere ein Ereignis über einen Callback.

Die Funktion protokolliert ein Ereignis, das als EventWriterFunct dargestellt wird, und einen anwendungsspezifischen appData-Kontext. Die Funktion schreibt die Ereignismetadaten und ruft die inEventWriter mit einer nl::Weave::TLV::TLVWriter-Referenz und einem inAppData-Kontext auf, sodass der Nutzercode die Ereignisdaten direkt an das Ereignisprotokoll senden kann. Diese Form der Ereignisprotokollierung minimiert den Arbeitsspeicherverbrauch, da Ereignisdaten direkt im Zielpuffer serialisiert werden. Die Ereignisdaten MÜSSEN Kontext-Tags enthalten, die innerhalb des durch inProfileID und inEventType angegebenen Schemas interpretiert werden können. Das Tag des ersten Elements wird ignoriert. ersetzt das Ereignisprotokollierungssystem es durch das Tag „eventData“.

Das Ereignis wird protokolliert, wenn seine Wichtigkeit den in LoggingConfiguration angegebenen Protokollierungsschwellenwert überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird es verworfen und die Funktion gibt eine 0 als resultierende Ereignis-ID zurück.

In dieser Variante des Aufrufs werden implizit alle Standardereignisoptionen angegeben:

  • wird das Ereignis mit der aktuellen Uhrzeit zum Zeitpunkt des Aufrufs versehen.
  • wird gekennzeichnet, dass das Ereignis zu dem Gerät gehört, das den Anruf tätigt,
  • die Veranstaltung eigenständig ist und nicht mit anderen Ereignissen in Verbindung steht.
  • der Termin als nicht dringend gekennzeichnet ist,

Details
Parameter
[in] inSchema
Schema, das die Wichtigkeit, die Profil-ID und den Strukturtyp dieses Ereignisses definiert.
[in] inEventWriter
Der Callback, der aufzurufen ist, 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
)

Protokolliere ein Ereignis über einen Callback mit Optionen.

Die Funktion protokolliert ein Ereignis, das als EventWriterFunct dargestellt wird, und einen anwendungsspezifischen appData-Kontext. Die Funktion schreibt die Ereignismetadaten und ruft die inEventWriter mit einer nl::Weave::TLV::TLVWriter-Referenz und einem inAppData-Kontext auf, sodass der Nutzercode die Ereignisdaten direkt an das Ereignisprotokoll senden kann. Diese Form der Ereignisprotokollierung minimiert den Arbeitsspeicherverbrauch, da Ereignisdaten direkt im Zielpuffer serialisiert werden. Die Ereignisdaten MÜSSEN Kontext-Tags enthalten, die innerhalb des durch inProfileID und inEventType angegebenen Schemas interpretiert werden können. Das Tag des ersten Elements wird ignoriert. ersetzt das Ereignisprotokollierungssystem es durch das Tag „eventData“.

Das Ereignis wird protokolliert, wenn seine Wichtigkeit den in LoggingConfiguration angegebenen Protokollierungsschwellenwert überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird es verworfen und die Funktion gibt eine 0 als resultierende Ereignis-ID zurück.

Diese Variante des Aufrufs erlaubt dem Aufrufer, eine beliebige Kombination aus EventOptions festzulegen:

  • Zeitstempel, wenn 0 standardmäßig auf die aktuelle Zeit zum Zeitpunkt des Aufrufs eingestellt ist,
  • „Stamm“ Abschnitt der Ereignisquelle (Ereignisquelle und Trait-ID) Wenn NULL, wird standardmäßig das aktuelle Gerät verwendet. wird gekennzeichnet, dass das Ereignis zu dem Gerät gehört, das den Anruf tätigt,
  • eine zugehörige Ereignis-ID zum Gruppieren von Ereignis-IDs Wenn die zugehörige Ereignis-ID 0 ist, wird das Ereignis so markiert, dass es nicht mit anderen Ereignissen in Zusammenhang steht.
  • 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 aufzurufen ist, 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 Standard-Ereignisstream aus.

Der String wird in eine Debug-Ereignisstruktur gekapselt, die strukturell identisch mit anderen protokollierten Strings ist. Die Ereignisprofil-ID ist die eines Nest Debug-Ereignisses und der Ereignistyp ist kNestDebug_StringLogEntryEvent.

Details
Parameter
[in] inImportance
Bedeutung des Logeintrags Wenn die Wichtigkeit unter die aktuelle Wichtigkeit fällt, wird das Ereignis nicht protokolliert.
[in] inFormat
printf-konformer Formatstring, gefolgt von zu formatierenden Argumenten
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 eines freien Texts als Debug-Ereignis.

Das Debug-Ereignis ist eine Struktur mit einer Logregion und einem freien Text.

Details
Parameter
[in,out] ioWriter
Eine Person, die den Termin verfasst
[in] appData
Ein Verweis auf DebugLogContext, eine Struktur, die ein Stringformat, Argumente und einen Logbereich enthält.
[in] inDataTag
Ein Kontext-Tag für die TLV, die wir schreiben. Wird hier nicht verwendet, ist aber von der typedef für EventWriterFunct erforderlich.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
other
Andere Fehler, die vom ioWriter zurückgegeben werden.

PlainTextWriter

WEAVE_ERROR PlainTextWriter(
  ::nl::Weave::TLV::TLVWriter & ioWriter,
  uint8_t inDataTag,
  void *appData
)

Eine Hilfsfunktion zum Ausgeben eines freien Texts als Debug-Ereignis.

Das Debug-Ereignis ist eine Struktur mit einer Logregion und einem freien Text.

Details
Parameter
[in,out] ioWriter
Eine Person, die den Termin verfasst
[in] inDataTag
Das Tag, das ausgegeben werden soll
[in] appData
Ein Verweis auf DebugLogContext, eine Struktur, die ein Stringformat, Argumente und einen Logbereich enthält.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
other
Andere Fehler, die von ioWriter zurückgegeben werden können.

operator!=

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

Operator==

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