nl::Weave::Profile::DataManagement_Current

Dieser Namespace enthält alle Schnittstellen in Weave für das WDM-Profil (Weave Data Management), die derzeit für die Produktion verwendet werden können.

Fazit

Aufzählungen

@100{
  kTag_Region = 1,
  kTag_Message = 2
}
enum
Tags für das Ereignis „kNestDebug_StringBidRequest“.
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
enum
Tags für das Ereignis „kNestDebug_TokenizedBidRequestEvent“.
@102 enum
Tags für anhaltende 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
Tags für die Protokollierung
@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 Fehlerbehebung.
@99{
  kNestDebug_StringLogEntryEvent = 1,
  kNestDebug_TokenizedLogEntryEvent = 2,
  kNestDebug_TokenizedHeaderEntryEvent = 3
}
enum
Ereignistypen für das Feld „Nest Debug“ (Fehler beheben)
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 Bedeutung des Logeintrags.
LoggingManagementStates{
  kLoggingManagementState_Idle = 1,
  kLoggingManagementState_InProgress = 2,
  kLoggingManagementState_Holdoff = 3,
  kLoggingManagementState_Shutdown = 4
}
enum
TimestampType enum
Die Gültigkeit und der Typ des Zeitstempels sind in den EventOptions enthalten.

Typdef.

CommandFlags Typdef
DataVersion Typdef
uint64_t
EventProcessor Typdef
void *
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData) Typdef
Eine Funktion, die das Ereignisdaten-Element für das Ereignis-Subsystem des Ereignisses bereitstellt.
FetchExternalEventsFunct)(EventLoadOutContext *aContext) Typdef
Ein Funktions-Prototyp für Plattform-Callbacks, mit denen Ereignisdaten abgerufen werden.
GenericTraitSinkCatalog Typdef
GenericTraitSourceCatalog Typdef
ImportanceType Typdef
Die Bedeutung des Logeintrags.
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext) Typdef
void(*
Trait Alias-Handler.
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer) Typdef
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID) Typdef
void(*
Ein Prototyp für eine Funktion, die aufgerufen wird, wenn externe Ereignisse an den Remote-Abonnenten gesendet werden.
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv) Typdef
void(*
Ein Funktionsprototyp für einen Callback, der aufgerufen wird, wenn externe Ereignisse aus den Zwischenspeichern entfernt werden.
PropertyDictionaryKey Typdef
uint16_t
PropertyPathHandle Typdef
uint32_t
Ein PropertyPathHandle ist ein eindeutiger 32-Bit-Hashwert eines WDM-Pfads relativ zum Stammverzeichnis einer Trat-Instanz.
PropertySchemaHandle Typdef
uint16_t
SchemaVersion Typdef
uint16_t
SingleResourceSinkTraitCatalog Typdef
SingleResourceSourceTraitCatalog Typdef
TimestampType Typdef
Die Gültigkeit und der Typ des Zeitstempels sind in den EventOptions enthalten.
TraitDataHandle Typdef
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 Ereigniszwischenspeicher übersetzt.
GetPropertyDictionaryKey(PropertyPathHandle aHandle)
PropertyDictionaryKey
GetPropertySchemaHandle(PropertyPathHandle aHandle)
PropertySchemaHandle
IsNullPropertyPathHandle(PropertyPathHandle aHandle)
bool
IsRootPropertyPathHandle(PropertyPathHandle aHandle)
bool
IsVersionNewer(const DataVersion & aVersion, const DataVersion & aReference)
bool
Dies ist eine optimierte Implementierung des Algorithmus, um Versionen miteinander zu vergleichen.
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
bool
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
Dienstprogrammfunktion, die einen TraitUpdatableDataSenken in einem TraitDataSenken-Katalog findet.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
Protokolliert ein Ereignis aus einem vor serialisierten Formular.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
Protokolliert ein Ereignis aus einem vor serialisierten Formular mit zusätzlichen Optionen
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
Ereignis über einen Callback protokollieren.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Ereignis über einen Callback protokollieren, mit Optionen
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
LogFreeform gibt einen kostenlosen String an den Standard-Ereignisstream aus.
LookForElementWithTag(const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader)
PlainTextWriter(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
Eine Hilfsfunktion zum Ausgeben eines freien Textes als Debug-Ereignis.
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
Eine Hilfsfunktion zum Ausgeben eines freien Textes als Debug-Ereignis.
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool

Klassen

nl::Weave::Profile::DataManagement_Current::AlwaysAcceptDataElementAccessControlDelegate
nl::Weave::Profile::DataManagement_Current::BuilderBase

Basisklasse für WDM-Nachrichtencodierung.

nl::Weave::Profile::DataManagement_Current::CircularEventReader

Ein TLVReader, unterstützt von CircularEventBuffer.

nl::Weave::Profile::DataManagement_Current::Befehl
nl::Weave::Profile::DataManagement_Current::CommandSender
nl::Weave::Profile::DataManagement_Current::GenericTraitKatalogImpl

Weave hat die Implementierung der Schnittstelle TraitKatalogBase für eine Sammlung von Eigenschaftsinstanzen bereitgestellt, die alle auf dieselbe Ressource verweisen.

nl::Weave::Profile::DataManagement_Current::IDataElementAccessControlDelegate

Schnittstelle, die von einem Prozessor der Datenelemente in einem NotifyRequest implementiert werden soll.

nl::Weave::Profile::DataManagement_Current::IDirtyPathCut
nl::Weave::Profile::DataManagement_Current::IPathFilter
nl::Weave::Profile::DataManagement_Current::IWeavePublisherLock

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

nl::Weave::Profile::DataManagement_Current::IWeaveWDMStummschaltenx

Schnittstelle eines mutex-Objekts.

nl::Weave::Profile::DataManagement_Current::ListBuilderBase

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

nl::Weave::Profile::DataManagement_Current::ListParserBase

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

nl::Weave::Profile::DataManagement_Current::LogBDXUpload
nl::Weave::Profile::DataManagement_Current::LoggingKonfiguration

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

nl::Weave::Profile::DataManagement_Current::LoggingManagement

Eine Klasse zum Verwalten der In-Memory-Ereignisprotokolle.

nl::Weave::Profile::DataManagement_Current::NotificationEngine
nl::Weave::Profile::DataManagement_Current::ParserBase

Basisklasse für WDM-Nachrichtenparser.

nl::Weave::Profile::DataManagement_Current::ResourceIdentifier

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

nl::Weave::Profile::DataManagement_Current::SingleResourceTraitKatalog
nl::Weave::Profile::DataManagement_Current::SubscriptionClient
nl::Weave::Profile::DataManagement_Current::SubscriptionEngine

Das ist ein Singleton-Client für alle WDM Next-Abos – sowohl auf Client- als auch auf Publisher-Seite.

nl::Weave::Profile::DataManagement_Current::SubscriptionHandler
nl::Weave::Profile::DataManagement_Current::TraitcatalogBase
nl::Weave::Profile::DataManagement_Current::TraitDataSenken
nl::Weave::Profile::DataManagement_Current::TraitDataSource
nl::Weave::Profile::DataManagement_Current::TraitSchemaEngine

Die Schema-Engine verwendet Schemainformationen, die mit einer bestimmten Eigenschaft verknüpft sind. Sie bietet Funktionen zum Parsen und Übersetzen der Daten in eine Form, die von den WDM-Maschinen verwendet werden kann.

nl::Weave::Profile::DataManagement_Current::TraitUpdatableDataSenken
nl::Weave::Profile::DataManagement_Current::UpdateClient
nl::Weave::Profile::DataManagement_Current::UpdateDictionaryDirtyPathCut

Dienstprogrammklasse zum Verschieben des Wörterbuchs in die Warteschlange für ausstehende Vorgänge, wenn der Property-Pfad mit dem untergeordneten Wörterbuch verarbeitet wird.

nl::Weave::Profile::DataManagement_Current::UpdateDirtyPathFilter

Dienstprogrammklasse zum Filtern des Pfads bei der Verarbeitung einer Benachrichtigung.

nl::Weave::Profile::DataManagement_Current::UpdateEncoder

Dieses Objekt codiert die WDM-Nutzlast UpdateRequest und PartialUpdateRequest.

nl::Weave::Profile::DataManagement_Current::ViewClient

Strebenklemmen

nl::Weave::Profile::DataManagement_Current::CircularEventBuffer

Interner Ereigniszwischenspeicher, eingebettet um nl::Weave::TLV::WeaveCircularTLVBuffer.

nl::Weave::Profile::DataManagement_Current::ConstSchemaVersionRange
nl::Weave::Profile::DataManagement_Current::CopyAndAdjustDeltaTimeContext

Interne Struktur der Ereignisliste.

nl::Weave::Profile::DataManagement_Current::DebugLogContext
nl::Weave::Profile::DataManagement_Current::DetailedRootSection

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

nl::Weave::Profile::DataManagement_Current::EventEnvelopeContext

Interne Struktur für Traversierungsereignisse

nl::Weave::Profile::DataManagement_Current::EventLoadOutContext

Struktur zum Kopieren von Ereignislisten bei der Ausgabe.

nl::Weave::Profile::DataManagement_Current::EventOptions

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

nl::Weave::Profile::DataManagement_Current::EventSchema

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

nl::Weave::Profile::DataManagement_Current::ExternalEvents

Struktur für die Erfassung gespeicherter Plattformereignisse

nl::Weave::Profile::DataManagement_Current::LogStorageResources

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

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

Gewerkschaften

nl::Weave::Profile::DataManagement_Current::Zeitstempel

Die Union, die ein System für den Anwendungssatz oder einen Zeitstempel (UTC) bereitstellt.

Namespaces

nl::Weave::Profile::DataManagement_Current::BaseMessageWithAbonnierenId
nl::Weave::Profile::DataManagement_Current::CustomCommand

Benutzerdefinierte DM-Definition.

nl::Weave::Profile::DataManagement_Current::CustomCommandResponse

Benutzerdefinierte Command-Antwort für WDM.

nl::Weave::Profile::DataManagement_Current::DataElement

Definition des WDM-Datenelements

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

Definition des WDM-Pfads.

nl::Weave::Profile::DataManagement_Current::PathList

Definition der WDM-Pfadliste.

nl::Weave::Profile::DataManagement_Current::Platform
nl::Weave::Profile::DataManagement_Current::Ablehnungseintrag
nl::Weave::Profile::DataManagement_Current::DenyionRecordList
nl::Weave::Profile::DataManagement_Current::StatusElement

Definition des WDM-Statuselements.

nl::Weave::Profile::DataManagement_Current::StatusList
nl::Weave::Profile::DataManagement_Current::SubscribeCancelRequest
nl::Weave::Profile::DataManagement_Current::AbonnierenConfirmRequest
nl::Weave::Profile::DataManagement_Current::Abonnieren-Anfrage
nl::Weave::Profile::DataManagement_Current::SubscribeResponse
nl::Weave::Profile::DataManagement_Current::UpdateRequest

Definition der WDM-Aktualisierungsanfrage.

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

Aufzählungen

@100

 @100

Tags für das Ereignis „kNestDebug_StringBidRequest“.

Attribute
kTag_Message

Ein String mit der eigentlichen Debug-Nachricht.

kTag_Region

Eine 32-Bit-Signatur ohne Protokoll, die die Logregion angibt, d.h. das Modul, zu dem die Lognachricht gehört.

@101

 @101

Tags für das Ereignis „kNestDebug_TokenizedBidRequestEvent“.

Attribute
kTag_Args

Ein Array von Argumenten, die zusammen mit der Tokennachricht gesendet werden sollen.

kTag_Token

Ein 32-Bit-Wert ohne Vorzeichen, der dem Token entspricht.

@102

 @102

Tags für anhaltende Ereignisse

@104

 @104

Die Nachrichtentypen des WDM-Profils.

Diese Werte werden in der Datenverwaltungsspezifikation aufgeführt.

@105

 @105

WDM-spezifische Statuscodes.

@147

 @147

@95

 @95

Tags für die Protokollierung

Attribute
kTag_CurrentImportance

Aktueller Logging-Wichtigkeit: Der Wert hat den Typ „ImportanceType“.

kTag_ImportanceExpiration

Zeit in UTC-Sekunden, wenn die aktuellen erhöhten Logging-Einstellungen auf die Standardwerte zurückgesetzt werden.

kTag_LoggingDestination

Eine URL, die das Ziel des Loguploads angibt.

kTag_MaximumLogUploadInterval

Maximale Dauer in Sekunden zwischen automatisch ausgelösten Log-Upload-Versuchen.

kTag_MinimumLogUploadInterval

Minimale Dauer in Sekunden zwischen automatisch ausgelösten Log-Upload-Versuchen

kTag_TraitLoggingImportance

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

Jedes Element im Array nimmt eine Form vor (Profil,Pfad,Protokollierungsimport), um die Protokollierung selektiv aus einer Teilmenge des Systems zu erhöhen. Die Priorität des Loggings des erhöhten Profils ist nur dann von Bedeutung, wenn die Logging-Priorität der currentImportance überschreitet und dieselbe Ablaufzeit wie der currentImportance gilt.

@96

 @96

Tags für Logging-Funktionen

Attribute
kTag_LogBufferingCapacity

Eine 32-Bit-Ganzzahl ohne Vorzeichen, die die Pufferkapazität des Logs in KB beschreibt.

kTag_LoggingVolume

Eine 32-Bit-Ganzzahl ohne Vorzeichen, die das erwartete Logging-Volumen in kB/Tag beschreibt.

kTag_SupportedLogTransports

Ein Array der unterstützten Log-Transport-Mechanismen.

kTag_SupportsNonVolatileStorage

Ein boolescher Wert, der angibt, ob das Gerät dauerhaften Logspeicher unterstützt.

kTag_SupportsPerTraitVerbosity

Boolescher Wert, der angibt, ob für das Gerät die Ausführlichkeitseinstellungen aktiviert werden.

kTag_SupportsStreaming

Ein boolescher Wert, mit dem angegeben wird, ob das Gerät Streaminglogs unterstützt.

@97

 @97

Tags für Ereignismetadaten

Die vollständige Semantik der Tag-Werte finden Sie in der Ereignisdesignspezifikation.

Attribute
kTag_EventData

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

kTag_EventDeltaSystemTime

Internes WDM-Tag, zeitlicher Unterschied zum vorherigen Ereignis in der Codierung.

kTag_EventDeltaUTCTime

Internes WDM-Tag, zeitlicher Unterschied zum vorherigen Ereignis in der Codierung.

kTag_EventID

Sequenznummer des Ereignisses in Form einer nicht signierten Menge von 64 Bit.

Muss sequentiell sein, Sprünge in der Sequenz weisen auf Lücken bei Ereignissen hin.

kTag_EventImportance

Die Bedeutung des Ereignisses

kTag_EventResourceID

Optional.

Der Wert ist die ID der Ressource, auf die sich das Ereignis bezieht. Wenn dieser Wert weggelassen wird, ist der Wert mit dem Wert von „kTag_EventSource“ identisch

kTag_EventSource

NodeID des Geräts, das das Ereignis generiert hat.

kTag_EventSystemTimestamp

Optional. System-Zeitstempel des Ereignisses in Millisekunden.

kTag_EventTraitInstanceID

Optional: Die Instanz des Eigenschafts, der das Ereignis generiert hat.

kTag_EventTraitProfileID

Verbindlich. 32-Bit-Ganzzahl ohne Vorzeichen, die der Profil-ID der Eigenschaft entspricht.

kTag_EventType

Verbindlich. 16-Bit-Ganzzahl ohne Vorzeichen, die der Datei „wdl.event.id“ für diesen Ereignistyp entspricht.

kTag_EventUTCTimestamp

Optional. UTC-Zeitstempel des Ereignisses in Millisekunden.

kTag_ExternalEventStructure

Internes Tag für externe Ereignisse. Nie über das Kabel übertragen, sollte niemals außerhalb der Weave-Bibliothek verwendet werden.

kTag_RelatedEventID

Optional.

ID eines Ereignisses, mit dem dieses Ereignis verknüpft ist Wenn nicht angegeben, entspricht der Wert dem Wert „kTag_EventID“.

kTag_RelatedEventImportance

Optional.

Die Bedeutung des ähnlichen Ereignisses. Wenn nicht angegeben, entspricht der Wert dem Wert „kTag_EventImportance“.

@98

 @98

Profildefinitionen für die Fehlerbehebung.

@99

 @99

Ereignistypen für das Feld „Nest Debug“ (Fehler beheben)

Attribute
kNestDebug_StringLogEntryEvent

Ein Ereignis für die Debug-Nachricht im freien String.

kNestDebug_TokenizedHeaderEntryEvent

Ein Ereignis zur Übermittlung der Token-Header-Informationen.

kNestDebug_TokenizedLogEntryEvent

Ein Ereignis für die Debug-Nachricht in Tokens

CommandFlags

 CommandFlags
Attribute
kCommandFlag_ActionTimeValid

Legen Sie fest, wann die Aktionszeit gültig ist.

kCommandFlag_ExpiryTimeValid

Legen Sie fest, wann die Ablaufzeit gültig ist.

kCommandFlag_InitiationTimeValid

Legen Sie fest, wann die Startzeit gültig ist.

kCommandFlag_IsOneWay

Legt fest, wann der Befehl einseitig ist.

kCommandFlag_MustBeVersionValid

Geben Sie an, wann das Versionsfeld gültig ist.

Importart

 ImportanceType

Die Bedeutung des Logeintrags.

Die Wichtigkeit dient als Filter für Ereignisse, bevor sie tatsächlich in das Protokoll aufgenommen werden. Sobald das Ereignis im Protokoll enthalten ist, wird es nicht mehr entfernt. Die Wichtigkeitsstufe dient dazu, den Ereignisspeicher zu priorisieren. Wenn ein Ereignis mit hohem Wert einem vollständigen Puffer hinzugefügt wird, werden sie in der Reihenfolge ihrer Wichtigkeit (und des Alters) entfernt, um ihr Platz zu bieten. Daher haben die Wichtigkeitsstufen nur einen relativen Wert. Wenn ein System nur eine Wichtigkeitsstufe verwendet, werden Ereignisse nur nach Alter gelöscht, z. B. ein Ringzwischenspeicher.

Attribute
Debug

Die Wichtigkeit der Fehlerbehebung bedeutet, dass den Entwicklern des Systems Protokolleinträge angezeigt werden. Das Protokoll wird in der Entwicklungsphase hauptsächlich verwendet.

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

Info

„Info wichtig“ bedeutet Logeinträge, die zusätzliche Informationen und Diagnosen zum laufenden System liefern.

Die Protokollebene für Informationen kann über einen längeren Zeitraum in einem Produktionssystem oder als standardmäßige Protokollebene in einem Testlauf verwendet werden. Auf den eingeschränkten Geräten müssen die mit „Info“ protokollierten Einträge im Bandbreiten- und Arbeitsspeicherbudget berücksichtigt werden, aber nicht im Energiebudget.

Production

Die Produktionspriorität gibt die Logeinträge an, die für die laufende Überwachung und Wartung der Nest-Umgebung verwendet werden.

Auf eingeschränkten Geräten müssen Einträge, die mit dem Wert „Produktion“ protokolliert sind, im Strom- und Speicherbudget berücksichtigt werden, da erwartet wird, dass sie immer protokolliert und vom Gerät entladen werden.

ProductionCritical

„Produktkritische Wichtigkeit“ bezieht sich auf Ereignisse, deren Verlust sich direkt auf die Funktionen für Kunden auswirkt.

Anwendungen können den Verlust produktionskritischer Ereignisse nutzen, um auf Systemfehler hinzuweisen. Auf eingeschränkten Geräten müssen Einträge, die mit produktionskritischem Wert protokolliert werden, im Leistungs- und Arbeitsspeicherbudget berücksichtigt werden, da erwartet wird, dass sie immer protokolliert und vom Gerät entladen werden.

LoggingManagementStates

 LoggingManagementStates
Attribute
kLoggingManagementState_Holdoff

Die Logauslagerung ist abgeschlossen. Das Protokoll wird erst neu gestartet, wenn der Holdoff abgelaufen ist.

kLoggingManagementState_Idle

Es wird kein Log-Auslagerung ausgeführt. Der Log-Auslagerung kann ohne Einschränkungen beginnen.

kLoggingManagementState_InProgress

Log-Auslagerung wird ausgeführt.

kLoggingManagementState_Shutdown

Kann keine Logging-Vorgänge ausführen.

Zeitstempeltyp

 TimestampType

Die Gültigkeit und der Typ des Zeitstempels sind in den EventOptions enthalten.

Typdef.

CommandFlags

enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags

Datenversion

uint64_t DataVersion

Ereignisprozessor

void * EventProcessor

Eventautor

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

Eine Funktion, die das Ereignisdaten-Element für das Ereignis-Subsystem des Ereignisses bereitstellt.

Von diesem Typ wird erwartet, dass das Ereignisdaten-Element für das Ereignis-Logging-Subsystem bereitgestellt wird. Die Funktionen dieses Typs werden aufgerufen, nachdem das Ereignissubsystem alle erforderlichen Ereignismetadaten generiert hat. Die Funktion wird mit einem nl::Weave::TLV::TLVWriter-Objekt aufgerufen, in das sie ein einzelnes TLV-Element mit der Bezeichnung „kTag_EventData“ ausgeben. Der Wert dieses Elements muss eine Struktur sein, die die Ereignisdaten enthält. Die Ereignisdaten müssen mithilfe von Kontext-Tags strukturiert werden.

Details
Parameter
[in,out] ioWriter
Ein Verweis auf das Objekt nl::Weave::TLV::TLVWriter, das zur Serialisierung von Ereignisdaten verwendet wird.
[in] inDataTag
Ein Kontext-Tag für das TLV, das geschrieben wird.
[in] appData
Ein Hinweis auf einen anwendungsspezifischen Kontext.
Rückgabewerte
WEAVE_NO_ERROR
Erfolg.
other
Ein entsprechender Fehler weist darauf hin, dass die Serialisierung der Ereignisdaten nicht abgeschlossen werden konnte. Fehler von Aufrufen an ioWriter sollten ohne Neuzuordnung übertragen werden. Falls die Funktion einen Fehlertyp zurückgibt, wird die Ereignisgenerierung abgebrochen und das Ereignis nicht in das Log geschrieben.
Siehe auch:
PlainTextWriter
EventWriterTLVCopy

Abrufen – externe Ereignisse

WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)

Ein Funktions-Prototyp für Plattform-Callbacks, mit denen Ereignisdaten abgerufen werden.

Ähnlich wie "FetchEventsWhere" gibt diese Abruffunktion alle Ereignisse aus EventLoadOutContext.mBeginEventID bis ExternalEvents.mLastEventID zurück.

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

Bei der Rückgabe von der Funktion sollte EventLoadOutContext.mCurrentEventID die erste Ereignis-ID widerspiegeln, die nicht in den TLV-Puffer geschrieben wurde. Die Plattform muss die Header und Daten der Ereignisse im TLV-Autor im richtigen Format schreiben, das im Protokoll von EventLogging angegeben ist. Außerdem muss die Plattform die Eindeutigkeit von Ereignissen und Zeitstempeln beibehalten.

Alle TLV-Fehler sollten auf höheren Ebenen weitergegeben werden. Wenn beispielsweise kein Speicherplatz mehr im Zwischenspeicher vorhanden ist, wird eine gesendete Nachricht ausgelöst, gefolgt von einem weiteren Aufruf an den Callback, wobei die Ereignis-ID beibehalten wird.

Details
Rückgabewerte
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
Erfolg.
WEAVE_END_OF_TLV
Erfolg.

GenericTraitSenkenKatalog

GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog

GenericTraitSourceKatalog

GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog

Importart

enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType

Die Bedeutung des Logeintrags.

Die Wichtigkeit dient als Filter für Ereignisse, bevor sie tatsächlich in das Protokoll aufgenommen werden. Sobald das Ereignis im Protokoll enthalten ist, wird es nicht mehr entfernt. Die Wichtigkeitsstufe dient dazu, den Ereignisspeicher zu priorisieren. Wenn ein Ereignis mit hohem Wert einem vollständigen Puffer hinzugefügt wird, werden sie in der Reihenfolge ihrer Wichtigkeit (und des Alters) entfernt, um ihr Platz zu bieten. Daher haben die Wichtigkeitsstufen nur einen relativen Wert. Wenn ein System nur eine Wichtigkeitsstufe verwendet, werden Ereignisse nur nach Alter gelöscht, z. B. ein Ringzwischenspeicher.

TensorBoard-Callback

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

Trait Alias-Handler.

LoggingBufferHandler

WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)

NotifyExternalEventsDelivery

void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)

Ein Prototyp für eine Funktion, die aufgerufen wird, wenn externe Ereignisse an den Remote-Abonnenten gesendet werden.

Wenn die externen Ereignisse an einen Remote-Abonnenten gesendet werden, sendet die Engine dem externen Ereignisanbieter eine Benachrichtigung. Der Callback enthält das Ereignis der letzten übermittelten ID und die ID des Abonnenten, der das Ereignis erhalten hat.

Details
Parameter
[in] inEv
Externes Ereignisobjekt, das den gelieferten Ereignissen entspricht
[in] inLastDeliveredEventID
ID des letzten Ereignisses, das an den Abonnenten gesendet wurde.
[in] inRecipientNodeID
Knoten-ID des Empfängers senden

NotifyExternalEventsEvictedFunct-

void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)

Ein Funktionsprototyp für einen Callback, der aufgerufen wird, wenn externe Ereignisse aus den Zwischenspeichern entfernt werden.

Wenn das externe Ereignisobjekt aus dem ausgehenden Nachrichtenpuffer entfernt wird, sendet die Engine eine Benachrichtigung an den externen Ereignisanbieter. Der Callback enthält das zu entfernende externe Ereignis.

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

PropertyDictionaryKey

uint16_t PropertyDictionaryKey

Eigenschaftspfad

uint32_t PropertyPathHandle

Ein PropertyPathHandle ist ein eindeutiger 32-Bit-Hashwert eines WDM-Pfads relativ zum Stammverzeichnis einer Trat-Instanz.

Dieser besteht aus zwei Teilen:

  • Eine niedrigere 16-Bit-Zahl, die dem statischen Teil des Schemas zugeordnet ist.
  • Wenn sich die unteren 16 Bit auf einen Pfad innerhalb eines Wörterbuchelements beziehen, ist eine höhere 16-Bit-Zahl vorhanden, die den Wörterbuchschlüssel für dieses Element darstellt. Wenn sich die unteren 16 Bit auf ein Element ohne Wörterbuch beziehen, sollten die oberen 16 Bit „0“ sein.

Einige Eigenschaften:

  • Jede Eigenschaft hat einen eigenen Eigenschaftspfad-Handle.
  • Jeder eindeutige Pfad unter WDM hat einen ähnlich eindeutigen PropertyPathHandle.
  • PropertyPathHandles werden automatisch generiert (vorhanden) von einem Trait-Compiler aus IDL. Sie werden in der zugehörigen Header-Datei als Aufzählungsliste dargestellt.
  • Bei diesem Konstrukt muss die Anwendungslogik nie direkt mit WDM-Pfaden umgehen. Stattdessen werden die Interaktionen mit der Mobilgeräteverwaltung ausschließlich über diese Handles ausgeführt.
  • Es gibt zwei reservierte Werte für Pfad-Handles mit bestimmter Bedeutung:
    • 0 gibt einen 'NULL'-Handle an
    • 1 gibt einen Handle an, der auf das Stammverzeichnis der Trat-Instanz verweist.

EigenschaftSchemaHandle

uint16_t PropertySchemaHandle

Schemaversion

uint16_t SchemaVersion

SingleResourceSenkeTraitKatalog

SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog

SingleResourceSourceTraitKatalog

SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog

Zeitstempeltyp

enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType

Die Gültigkeit und der Typ des Zeitstempels sind in den EventOptions enthalten.

Logo: TraitDataHandle

uint16_t TraitDataHandle

Dauer_t

uint32_t duration_t

Typ zur Beschreibung der Dauer in Millisekunden.

Ereignis_ID_t

uint32_t event_id_t

Der Typ der Ereignis-ID

timestamp_t (Zeitstempel)

uint32_t timestamp_t

Typ zur Beschreibung des Zeitstempels in Millisekunden.

UZC_timestamp_t

uint64_t utc_timestamp_t

Typ zur Beschreibung des UTC-Zeitstempels in Millisekunden.

Variablen

Instanz

LoggingManagement sInstance

sLogFileName

char sLogFileName[] = "topazlog"

Funktionen

Logo: BdxErrorHandler

void BdxErrorHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer,
  WEAVE_ERROR aErrorCode
)

BdxGetBlockHandler

void BdxGetBlockHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer,
  uint64_t *aLength,
  uint8_t **aDataBlock,
  bool *aIsLastBlock
)

BdxDenyHandler

void BdxRejectHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer,
  nl::Weave::Profiles::StatusReporting::StatusReport *aReport
)

BdxSendAcceptHandler

WEAVE_ERROR BdxSendAcceptHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer,
  nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg
)

BdxXferDoneHandler

void BdxXferDoneHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer
)

Logo: BdxXferErrorHandler

void BdxXferErrorHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer,
  nl::Weave::Profiles::StatusReporting::StatusReport *aXferError
)

PropertyPropertyPath

PropertyPathHandle CreatePropertyPathHandle(
  PropertySchemaHandle aPropertyPathSchemaId,
  PropertyDictionaryKey aPropertyPathDictionaryKey
)

EventWriterTLVCopy

WEAVE_ERROR EventWriterTLVCopy(
  TLVWriter & ioWriter,
  uint8_t inDataTag,
  void *appData
)

Eine Hilfsfunktion, die ein bereits serialisiertes Ereignisdatenelement in den Ereigniszwischenspeicher übersetzt.

Details
Parameter
[in,out] ioWriter
Der Autor, der die Veranstaltung schreibt
[in] inDataTag
Ein Kontext-Tag für das TLV, das kopiert wird. Hier nicht verwendet, wird jedoch von typedefFunct benötigt.
[in] appData
Ein Zeiger auf den TLVReader, der serialisierte Ereignisdaten enthält.
Rückgabewerte
WEAVE_NO_ERROR
Erfolg.
other
Sonstige Fehler, die vom ioWriter zurückgegeben werden.

GetPropertyDictionarySchlüssel

PropertyDictionaryKey GetPropertyDictionaryKey(
  PropertyPathHandle aHandle
)

GetPropertySchemaHandle

PropertySchemaHandle GetPropertySchemaHandle(
  PropertyPathHandle aHandle
)

isNullPropertyPathHandle

bool IsNullPropertyPathHandle(
  PropertyPathHandle aHandle
)

isRootPropertyPathHandle

bool IsRootPropertyPathHandle(
  PropertyPathHandle aHandle
)

IsVersionNewer

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

Dies ist eine optimierte Implementierung des Algorithmus, um Versionen miteinander zu vergleichen.

Clientseitig ist eine vom Dienst empfangene Version immer die aktuelle.

IsVersionNewerOrEqual

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

Adresse anzeigen

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

Dienstprogrammfunktion, die einen TraitUpdatableDataSenken in einem TraitDataSenken-Katalog findet.

Details
Parameter
[in] aTraitDataHandle
Ziehpunkt der Senke, die gesucht werden soll.
[in] aDataSinkCatalog
Katalog suchen
Rückgabe
Ein Zeiger auf TraitUpdatableDataSenke; NULL, wenn der Handle nicht vorhanden ist oder auf eine nicht aktualisierbare TraitDataSenke verweist.

Logereignis

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

Protokolliert ein Ereignis aus einem vor serialisierten Formular.

Die Funktion protokolliert ein Ereignis, das als nl::Weave::TLV::TLVReader dargestellt wird. Das bedeutet, dass die Ereignisdatendarstellung bereits im Speicher hinter dem nl::Weave::TLV::TLVReader serialisiert ist. nl::Weave::TLV::TLVReader muss mindestens ein Datenelement enthalten. Dieses Element muss eine Struktur sein. Das erste aus dem Reader gelesene Element wird als Ereignisdaten behandelt und im Ereignisprotokoll gespeichert. Die Ereignisdaten MÜSSEN Kontext-Tags enthalten, die im Schema „inProfileID“ und „inEventType“ interpretiert werden sollen. Das Tag des ersten Elements wird ignoriert. Es wird durch das Ereignis-Logging-System durch das Ereignis „eventData“ ersetzt.

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

Diese Variante des Aufrufs gibt implizit alle Standard-Ereignisoptionen an:

  • Das Ereignis wird mit einem Zeitstempel versehen, der mit der aktuellen Uhrzeit
  • ist das Ereignis als relevant für das Gerät markiert, das den Aufruf durchführt.
  • Das Ereignis ist eigenständig, es bezieht sich also nicht auf andere Ereignisse.
  • ist das Ereignis als nicht dringend gekennzeichnet

Details
Parameter
[in] inSchema
Schema der Definition von Wichtigkeit, Profil-ID und Strukturtyp dieses Ereignisses.
[in] inData
Das TLV-Lesegerät mit den Ereignisdaten als erstes Element
Rückgabe
event_id_t Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, sonst 0.

Logereignis

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

Protokolliert ein Ereignis aus einem vor serialisierten Formular mit zusätzlichen Optionen

Die Funktion protokolliert ein Ereignis, das als nl::Weave::TLV::TLVReader dargestellt wird. Das bedeutet, dass die Ereignisdatendarstellung bereits im Speicher hinter dem nl::Weave::TLV::TLVReader serialisiert ist. nl::Weave::TLV::TLVReader muss mindestens ein Datenelement enthalten. Dieses Element muss eine Struktur sein. Das erste aus dem Reader gelesene Element wird als Ereignisdaten behandelt und im Ereignisprotokoll gespeichert. Die Ereignisdaten MÜSSEN Kontext-Tags enthalten, die im Schema „inProfileID“ und „inEventType“ interpretiert werden sollen. Das Tag des ersten Elements wird ignoriert. Es wird durch das Ereignis-Logging-System durch das Ereignis „eventData“ ersetzt.

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

Bei dieser Variante des Aufrufs kann der Aufrufer eine beliebige Kombination von EventOptions festlegen:

  • timestamp: Wenn 0 standardmäßig auf die aktuelle Zeit am Anrufpunkt festgelegt ist,
  • &&t ergibt.
  • eine zugehörige Ereignis-ID für die Gruppierung von Ereignis-IDs. Wenn die zugehörige Ereignis-ID „0“ ist, wird das Ereignis als nicht relevant für andere Ereignisse gekennzeichnet.
  • Dringlichkeit; standardmäßig nicht dringend.

Details
Parameter
[in] inSchema
Schema der Definition von Wichtigkeit, Profil-ID und Strukturtyp dieses Ereignisses.
[in] inData
Das TLV-Lesegerät mit den Ereignisdaten als erstes Element Darf nicht NULL sein
[in] inOptions
Optionen für die Ereignismetadaten Kann NULL sein.
Rückgabe
event_id_t Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, sonst 0.

Logereignis

event_id_t LogEvent(
  const EventSchema & inSchema,
  EventWriterFunct inEventWriter,
  void *inAppData
)

Ereignis über einen Callback protokollieren.

Die Funktion protokolliert ein Ereignis, das als EventWriterFunct- und ein app-spezifischer appData-Kontext dargestellt wird. Die Funktion schreibt die Ereignismetadaten und ruft inEventWriter mit einem nl::Weave::TLV::TLVWriter-Referenz und inAppData-Kontext auf, damit der Nutzercode die Ereignisdaten direkt in das Ereignisprotokoll ausgeben kann. Diese Form des Ereignis-Loggings reduziert den Arbeitsspeicherverbrauch, da die Ereignisdaten direkt im Zielzwischenspeicher serialisiert werden. Die Ereignisdaten MÜSSEN Kontextkontext-Tags enthalten, die innerhalb des von inProfileID und inEventType identifizierten Schemas interpretiert werden sollen. Das Tag des ersten Elements wird ignoriert. Es wird durch das Ereignis-Logging-System durch das Ereignis „eventData“ ersetzt.

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

Diese Variante des Aufrufs gibt implizit alle Standard-Ereignisoptionen an:

  • Das Ereignis wird mit einem Zeitstempel versehen, der mit der aktuellen Uhrzeit
  • ist das Ereignis als relevant für das Gerät markiert, das den Aufruf durchführt.
  • Das Ereignis ist eigenständig, es bezieht sich also nicht auf andere Ereignisse.
  • ist das Ereignis als nicht dringend gekennzeichnet

Details
Parameter
[in] inSchema
Schema der Definition von Wichtigkeit, Profil-ID und Strukturtyp dieses Ereignisses.
[in] inEventWriter
Der Callback, der zum Serialisieren der Ereignisdaten aufgerufen wird
[in] inAppData
Anwendungskontext für Callback.
Rückgabe
event_id_t Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, sonst 0.

Logereignis

event_id_t LogEvent(
  const EventSchema & inSchema,
  EventWriterFunct inEventWriter,
  void *inAppData,
  const EventOptions *inOptions
)

Ereignis über einen Callback protokollieren, mit Optionen

Die Funktion protokolliert ein Ereignis, das als EventWriterFunct- und ein app-spezifischer appData-Kontext dargestellt wird. Die Funktion schreibt die Ereignismetadaten und ruft inEventWriter mit einem nl::Weave::TLV::TLVWriter-Referenz und inAppData-Kontext auf, damit der Nutzercode die Ereignisdaten direkt in das Ereignisprotokoll ausgeben kann. Diese Form des Ereignis-Loggings reduziert den Arbeitsspeicherverbrauch, da die Ereignisdaten direkt im Zielzwischenspeicher serialisiert werden. Die Ereignisdaten MÜSSEN Kontextkontext-Tags enthalten, die innerhalb des von inProfileID und inEventType identifizierten Schemas interpretiert werden sollen. Das Tag des ersten Elements wird ignoriert. Es wird durch das Ereignis-Logging-System durch das Ereignis „eventData“ ersetzt.

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

Bei dieser Variante des Aufrufs kann der Aufrufer eine beliebige Kombination von EventOptions festlegen:

  • timestamp: Wenn 0 standardmäßig auf die aktuelle Zeit am Anrufpunkt festgelegt ist,
  • &&t ergibt.
  • eine zugehörige Ereignis-ID für die Gruppierung von Ereignis-IDs. Wenn die zugehörige Ereignis-ID „0“ ist, wird das Ereignis als nicht relevant für andere Ereignisse gekennzeichnet.
  • Dringlichkeit; standardmäßig nicht dringend.

Details
Parameter
[in] inSchema
Schema der Definition von Wichtigkeit, Profil-ID und Strukturtyp dieses Ereignisses.
[in] inEventWriter
Der Callback, der zum Serialisieren der Ereignisdaten aufgerufen wird
[in] inAppData
Anwendungskontext für Callback.
[in] inOptions
Optionen für die Ereignismetadaten Kann NULL sein.
Rückgabe
event_id_t Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, sonst 0.

LogFreies Format

event_id_t LogFreeform(
  ImportanceType inImportance,
  const char *inFormat,
  ...
)

LogFreeform gibt einen kostenlosen String an den Standard-Ereignisstream aus.

Der String wird in einer Debug-Ereignisstruktur eingefügt, die strukturell mit anderen protokollierten Strings identisch ist. Die Ereignisprofil-ID ist die ID eines Nest Debug-Ereignisses und der Ereignistyp lautet kNestDebug_StringLogEntryEvent.

Details
Parameter
[in] inImportance
Die Bedeutung des Logeintrags. Wenn die Wichtigkeit unter die aktuelle Wichtigkeit fällt, 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, sonst 0.

LookForElementWithTag

WEAVE_ERROR LookForElementWithTag(
  const nl::Weave::TLV::TLVReader & aSrcReader,
  const uint64_t aTagInApiForm,
  nl::Weave::TLV::TLVReader *apDstReader
)

Nur-Text-Autor

WEAVE_ERROR PlainTextWriter(
  TLVWriter & ioWriter,
  uint8_t inDataTag,
  void *appData
)

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

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

Details
Parameter
[in,out] ioWriter
Der Autor, der die Veranstaltung schreibt
[in] appData
Verweis auf DebugLogContext, eine Struktur mit einem Stringformat, Argumenten und einer Logregion
[in] inDataTag
Ein Kontext-Tag für das TLV, das geschrieben wird. Hier nicht verwendet, wird jedoch von typedefFunct benötigt.
Rückgabewerte
WEAVE_NO_ERROR
Erfolg.
other
Sonstige Fehler, die vom ioWriter zurückgegeben werden.

Nur-Text-Autor

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

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

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

Details
Parameter
[in,out] ioWriter
Der Autor, der die Veranstaltung schreibt
[in] inDataTag
Das auszugebende Tag
[in] appData
Verweis auf DebugLogContext, eine Struktur mit einem Stringformat, Argumenten und einer Logregion
Rückgabewerte
WEAVE_NO_ERROR
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
)