nl:: Weave:: Perfiles:: DataManagement_Current
Este espacio de nombres incluye todas las interfaces de Weave para el perfil de administración de datos de Weave (WDM) que se admiten actualmente en la producción.
Resumen
Typedefs |
|
---|---|
CommandFlags
|
typedef |
DataVersion
|
typedefuint64_t
|
EventProcessor
|
typedefvoid *
|
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
|
typedef Una función que proporciona el elemento eventData para el subsistema de registro de eventos |
FetchExternalEventsFunct)(EventLoadOutContext *aContext)
|
typedef Un prototipo de función para las devoluciones de llamada de la plataforma que recuperan datos de eventos. |
GenericTraitSinkCatalog
|
typedef |
GenericTraitSourceCatalog
|
typedef |
ImportanceType
|
typedef La importancia de la entrada de registro |
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
|
typedefvoid(*
Iterador del controlador de características. |
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
|
typedef |
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
|
typedefvoid(*
Un prototipo de función para una devolución de llamada invocada cuando se entregan eventos externos al suscriptor remoto. |
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
|
typedefvoid(*
Prototipo de función para un callback invocado cuando los eventos externos son expulsados de los búferes. |
PropertyDictionaryKey
|
typedefuint16_t
|
PropertyPathHandle
|
typedefuint32_t
PropertyPathHandle es un hash numérico único de 32 bits de una ruta de WDM en relación con la raíz de una instancia de característica. |
PropertySchemaHandle
|
typedefuint16_t
|
SchemaVersion
|
typedefuint16_t
|
SingleResourceSinkTraitCatalog
|
typedef |
SingleResourceSourceTraitCatalog
|
typedef |
TimestampType
|
typedef La validez y el tipo de marca de tiempo incluidos en EventOptions. |
TraitDataHandle
|
typedefuint16_t
|
duration_t
|
nl::Weave::Perfiles::DataManagement_Current::duration_tuint32_t
Tipo que se utiliza para describir la duración, en milisegundos. |
event_id_t
|
nl::Weave::Perfiles::DataManagement_Current::event_id_tuint32_t
Es el tipo de ID del evento. |
timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::timestamp_tuint32_t
Tipo que se usa para describir la marca de tiempo en milisegundos |
utc_timestamp_t
|
nl::Weave::Perfiles::DataManagement_Current::utc_timestamp_tuint64_t
Tipo que se usa para describir la marca de tiempo UTC en milisegundos |
Variables |
|
---|---|
sInstance
|
|
sLogFileName = "topazlog"[]
|
char
|
Funciones |
|
---|---|
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)
|
Una función auxiliar que traduce un elemento de datos de eventos ya serializado en el búfer de eventos.
|
GetPropertyDictionaryKey(PropertyPathHandle aHandle)
|
PropertyDictionaryKey
|
GetPropertySchemaHandle(PropertyPathHandle aHandle)
|
PropertySchemaHandle
|
IsNullPropertyPathHandle(PropertyPathHandle aHandle)
|
bool
|
IsRootPropertyPathHandle(PropertyPathHandle aHandle)
|
bool
|
IsVersionNewer(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
Esta es una implementación optimizada del algoritmo para comparar versiones.
|
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
|
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
|
Función de utilidad que encuentra un TraitUpdatableDataSink en un catálogo de TraitDataSink.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
|
Registra un evento desde un formulario preserializado.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
|
Registra un evento desde un formulario preserializado con opciones adicionales.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
|
Registra un evento mediante una devolución de llamada.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
|
Registra un evento mediante una devolución de llamada con opciones.
|
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
|
LogFreeform emite una string de formato libre a la transmisión de eventos predeterminada.
|
LookForElementWithTag(const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader)
|
|
PlainTextWriter(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
Una función auxiliar para emitir un texto de formato libre como un evento de depuración.
|
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
Una función auxiliar para emitir un texto de formato libre como un evento de depuración.
|
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
Uniones |
|
---|---|
nl:: |
La unión que proporciona un sistema de conjunto de aplicaciones o una marca de tiempo UTC. |
Enumeraciones
100
@100
Etiquetas para el evento kNestDebug_StringLogEntry.
Propiedades | |
---|---|
kTag_Message
|
Una string que contiene el mensaje de depuración real. |
kTag_Region
|
Un código de 32 bits sin firma que indica la región de registro, es decir, el módulo al que pertenece el mensaje de registro. |
@101
@101
Etiquetas para el evento kNestDebug_TokenizedLogEntry.
Propiedades | |
---|---|
kTag_Args
|
Una matriz de argumentos que se enviarán junto con el mensaje del token. |
kTag_Token
|
Un valor sin signo de 32 bits que corresponde al token. |
@102
@102
Etiquetas para eventos persistentes
@104
@104
Los tipos de mensajes del perfil de WDM.
Estos valores se indican en la especificación de administración de datos.
@105
@105
Códigos de estado específicos de WDM
@147
@147
@95
@95
Propiedades | |
---|---|
kTag_CurrentImportance
|
Importancia de registro actual, el valor es del tipo ImportanceType. |
kTag_ImportanceExpiration
|
Hora, en UTC segundos, cuando la configuración de registro elevada actual vuelve a los valores predeterminados. |
kTag_LoggingDestination
|
Una URL que indica el destino de la carga de registros. |
kTag_MaximumLogUploadInterval
|
Duración máxima, en segundos, entre los intentos de carga de registros activados automáticamente. |
kTag_MinimumLogUploadInterval
|
Duración mínima, en segundos, entre los intentos de carga automática de registros. |
kTag_TraitLoggingImportance
|
Un arreglo opcional que asigna perfiles elegidos de forma selectiva a los niveles de registro más altos. Cada elemento del arreglo toma una forma (profile,path,loggingimportance) para elevar de forma selectiva los registros desde un subconjunto del sistema. La prioridad de registro del perfil elevado solo es importante cuando la prioridad de registro supera la de la importación actual y está sujeta a la misma fecha de vencimiento que la actual. |
@96
@96
Etiquetas para las capacidades de registro
Propiedades | |
---|---|
kTag_LogBufferingCapacity
|
Un número entero sin firma de 32 bits que describe la capacidad de almacenamiento en búfer en kB. |
kTag_LoggingVolume
|
Un número entero sin firma de 32 bits que describe el volumen de registro esperado en KB. |
kTag_SupportedLogTransports
|
Un arreglo de mecanismos de transporte de registros compatibles. |
kTag_SupportsNonVolatileStorage
|
Un valor booleano que indica si el dispositivo admite almacenamiento de registros no volátil. |
kTag_SupportsPerTraitVerbosity
|
Un valor booleano que indica si el dispositivo admite la configuración de verbosidad por característica. |
kTag_SupportsStreaming
|
Un valor booleano que indica si el dispositivo admite registros de transmisión. |
@97
@97
Etiquetas para los metadatos del evento.
Para obtener una semántica completa de los valores de la etiqueta, consulta la especificación de diseño de eventos.
Propiedades | |
---|---|
kTag_EventData
|
Opcional. Datos de eventos en sí. Si está vacío, el valor predeterminado es una estructura vacía. |
kTag_EventDeltaSystemTime
|
Etiqueta interna de WDM, diferencia de tiempo con el evento anterior en la codificación. |
kTag_EventDeltaUTCTime
|
Etiqueta interna de WDM, diferencia de tiempo con el evento anterior en la codificación. |
kTag_EventID
|
Número de secuencia de evento, expresado como una cantidad sin firma de 64 bits. Deben ser secuenciales; los saltos en la secuencia indican brechas de eventos. |
kTag_EventImportance
|
Importancia del evento. |
kTag_EventResourceID
|
Opcional. El valor es el ID del recurso al que pertenece el evento. Cuando se omite, el valor es el mismo que el de kTag_EventSource. |
kTag_EventSource
|
NodeID del dispositivo que generó el evento. |
kTag_EventSystemTimestamp
|
Opcional. Timestamp del sistema del evento en milisegundos |
kTag_EventTraitInstanceID
|
Opcional: La instancia de la característica que generó el evento. |
kTag_EventTraitProfileID
|
Obligatorio. Número entero de 32 bits sin firma que es igual al ProfileID de la característica. |
kTag_EventType
|
Obligatorio. Número entero de 16 bits sin firma que es igual al wdl.event.id para este tipo de evento. |
kTag_EventUTCTimestamp
|
Opcional. Marca de tiempo UTC del evento en milisegundos. |
kTag_ExternalEventStructure
|
Etiqueta interna para eventos externos Nunca se debe transmitir a través de un cable; nunca se debe usar fuera de la biblioteca de Weave. |
kTag_RelatedEventID
|
Opcional. ID de un evento con el que está relacionado este evento. Si se omite, el valor es igual al valor de kTag_EventID. |
kTag_RelatedEventImportance
|
Opcional. Importancia del evento relacionado Si se omite, el valor es igual al valor de kTag_EventImportance. |
@98
@98
Definiciones de perfiles para la característica de depuración
@99
@99
Tipos de eventos para la característica de depuración de Nest.
Propiedades | |
---|---|
kNestDebug_StringLogEntryEvent
|
Un evento para el mensaje de depuración de string de formato libre. |
kNestDebug_TokenizedHeaderEntryEvent
|
Un evento para transmitir la información del encabezado con token. |
kNestDebug_TokenizedLogEntryEvent
|
Un evento para el mensaje de depuración con token. |
Marcas de comando
CommandFlags
Propiedades | |
---|---|
kCommandFlag_ActionTimeValid
|
Se establece cuando el tiempo de acción es válido. |
kCommandFlag_ExpiryTimeValid
|
Se establece cuando la hora de vencimiento es válida. |
kCommandFlag_InitiationTimeValid
|
Se establece cuando la hora de inicio es válida. |
kCommandFlag_IsOneWay
|
Se establece cuando el comando es unidireccional. |
kCommandFlag_MustBeVersionValid
|
Se establece cuando el campo de versión es válido. |
Tipo de importación
ImportanceType
La importancia de la entrada de registro
La importancia se usa como una forma de filtrar eventos antes de que se emitan en el registro. Una vez que el evento está en el registro, no tomamos ninguna otra medida para eliminarlo definitivamente. El nivel de importancia sirve para priorizar el almacenamiento de eventos. Si se agrega un evento de gran importancia a un búfer completo, los eventos se descartan en orden de importancia (y edad) para adaptarse a él. Por lo tanto, los niveles de importancia solo tienen valor relativo. Si un sistema usa solo un nivel de importancia, los eventos se descartan solo por orden de antigüedad, como un búfer de anillo.
Propiedades | |
---|---|
Debug
|
La importancia de depuración denota entradas de registro de interés para los desarrolladores del sistema y se usa principalmente en la fase de desarrollo. Los registros de importancia de depuración no se tienen en cuenta en el ancho de banda o en los presupuestos de energía de los dispositivos restringidos; por lo tanto, solo deben usarse durante un período limitado en los sistemas de producción. |
Info
|
La importancia de la información denota entradas de registro que proporcionan estadísticas y diagnósticos adicionales en el sistema en ejecución. El nivel de registro de información se puede usar durante un período prolongado en un sistema de producción o se puede usar como el nivel de registro predeterminado en una prueba de campo. En los dispositivos restringidos, las entradas registradas con el nivel de información deben tenerse en cuenta en el presupuesto de ancho de banda y de memoria, pero no en el presupuesto de energía. |
Production
|
La importancia de producción denota las entradas de registro que se usan en la supervisión y el mantenimiento continuos del ecosistema de Nest. En los dispositivos con restricciones, las entradas registradas con la importancia de producción deben tenerse en cuenta en el presupuesto de energía y memoria, ya que se espera que siempre se registren y descarguen del dispositivo. |
ProductionCritical
|
La importancia crítica de producción denota eventos cuya pérdida podría afectar directamente las funciones para el cliente. Las aplicaciones pueden utilizar la pérdida de eventos críticos para la producción para indicar la falla del sistema. En los dispositivos con restricciones, las entradas registradas con importancia crítica para la producción deben tenerse en cuenta en el presupuesto de energía y memoria, ya que se espera que siempre se registren y descarguen del dispositivo. |
Estados de administración de registros
LoggingManagementStates
Propiedades | |
---|---|
kLoggingManagementState_Holdoff
|
Se completó la descarga de registros. No reiniciaremos el registro hasta que caduque la retención. |
kLoggingManagementState_Idle
|
No hay descargas de registros en curso. La descarga de registros puede comenzar sin restricciones. |
kLoggingManagementState_InProgress
|
Descarga de registros en curso |
kLoggingManagementState_Shutdown
|
No es capaz de realizar ninguna operación de registro. |
Tipo de marca de tiempo
TimestampType
La validez y el tipo de marca de tiempo incluidos en EventOptions.
Typedefs
Marcas de comando
enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags
Versión de datos
uint64_t DataVersion
EventProcessor
void * EventProcessor
EventoFundApp
WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
Una función que proporciona el elemento eventData para el subsistema de registro de eventos
Se espera que las funciones de este tipo proporcionen el elemento eventData para el subsistema de registro de eventos. Las funciones de este tipo se llaman después de que el subsistema de eventos genera todos los metadatos de eventos requeridos. La función se llama con un objeto nl::Weave::TLV::TLVWriter en el que emitirá un único elemento TLV con la etiqueta kTag_EventData. El valor de ese elemento DEBE ser una estructura que contenga los datos del evento. Los datos del evento deben estructurarse mediante etiquetas de contexto.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|
PlainTextWriter
EventWriterTLVCopy
FetchExternalEventsFunct
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
Un prototipo de función para las devoluciones de llamada de la plataforma que recuperan datos de eventos.
Al igual que con FetchEventsSince, esta función fetch muestra todos los eventos de EventLoadOutContext.mStartEventID a través de ExternalEvents.mLastEventID.
El puntero de contexto es del tipo FetchExternalEventsContext. Esto incluye EventLoadOutContext, con algunas variables auxiliares para el formato de TLV. También incluye un puntero para la estructura ExternalEvents creada en el registro de la devolución de llamada. Esto especifica el rango de ID de evento para la devolución de llamada.
Cuando se muestra desde la función, EventLoadOutContext.mCurrentEventID debe reflejar el primer ID de evento que no se escribió correctamente en el búfer TLV. La plataforma debe escribir el encabezado y los datos de eventos en el escritor TLV en el formato correcto, especificado por el protocolo EventLogging. La plataforma también debe mantener la originalidad de los eventos y las marcas de tiempo.
Todos los errores TLV deben propagarse a niveles superiores. Por ejemplo, la falta de espacio en el búfer activará un mensaje enviado, seguido de otra llamada a la devolución de llamada con el ID de evento restante.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Valores de retorno |
|
Catálogo genérico de Traductor
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
Catálogo general de fuentes de datos
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
Tipo de importación
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
La importancia de la entrada de registro
La importancia se usa como una forma de filtrar eventos antes de que se emitan en el registro. Una vez que el evento está en el registro, no tomamos ninguna otra medida para eliminarlo definitivamente. El nivel de importancia sirve para priorizar el almacenamiento de eventos. Si se agrega un evento de gran importancia a un búfer completo, los eventos se descartan en orden de importancia (y edad) para adaptarse a él. Por lo tanto, los niveles de importancia solo tienen valor relativo. Si un sistema usa solo un nivel de importancia, los eventos se descartan solo por orden de antigüedad, como un búfer de anillo.
Devolución de llamada de Iterator
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
Iterador del controlador de características.
LoggingBufferHandler
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
Notificar eventos externos.
void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
Un prototipo de función para una devolución de llamada invocada cuando se entregan eventos externos al suscriptor remoto.
Cuando los eventos externos se entregan a un suscriptor remoto, el motor proporcionará una notificación al proveedor de eventos externo. La devolución de llamada contiene el evento del último ID que se entregó y el ID del suscriptor que recibió el evento.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
Notificar los eventos externosexpulsados
void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
Prototipo de función para un callback invocado cuando los eventos externos son expulsados de los búferes.
Cuando el objeto de eventos externos se expulsa del búfer de mensajes saliente, el motor proporcionará una notificación al proveedor de eventos externo. La devolución de llamada contiene el evento externo que se expulsará.
Detalles | |||
---|---|---|---|
Parámetros |
|
Propiedad DictionaryKey
uint16_t PropertyDictionaryKey
Controlador de la propiedad
uint32_t PropertyPathHandle
PropertyPathHandle es un hash numérico único de 32 bits de una ruta de WDM en relación con la raíz de una instancia de característica.
Tiene dos partes:
- Un número de 16 bits inferior que se asigna a la parte estática del esquema.
- Cuando los 16 bits inferiores hacen referencia a una ruta dentro de un elemento de diccionario, hay un número de 16 bits superior que representa la clave de diccionario asociada con ese elemento. Si los 16 bits inferiores hacen referencia a un elemento que no es diccionario, los 16 bits superiores deben ser 0.
Algunas características:
- Cada característica tiene su propio espacio de control de la ruta de propiedad.
- Cada ruta de subruta de WDM única tendrá un PropertyPathHandle similar.
- PropertyPathHandles se generan automáticamente (hecho a mano por el momento) mediante un compilador de características de IDL y se representa como una lista [{}]{}t en el archivo de encabezado de característica correspondiente.
- Con esta construcción, la lógica de la aplicación nunca tiene que lidiar con las rutas de WDM directamente. En cambio, sus interacciones con WDM se realizan exclusivamente a través de estos controladores.
- Hay dos valores reservados para los controladores de la ruta de acceso que tienen un significado específico:
- 0 indica un 'NULL' controlador
- 1 indica un controlador que apunta a la raíz de la instancia de característica.
Esquema de propiedad
uint16_t PropertySchemaHandle
Versión del esquema
uint16_t SchemaVersion
Catalog de recurso único de receptor
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
Catálogo único de recursos Trait
SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog
Tipo de marca de tiempo
enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType
La validez y el tipo de marca de tiempo incluidos en EventOptions.
TránsitoDeDatosDeTrait
uint16_t TraitDataHandle
duración_t
uint32_t duration_t
Tipo que se utiliza para describir la duración, en milisegundos.
id_evento
uint32_t event_id_t
Es el tipo de ID del evento.
marca de tiempo_t
uint32_t timestamp_t
Tipo que se usa para describir la marca de tiempo en milisegundos
utc_marca de tiempo_t
uint64_t utc_timestamp_t
Tipo que se usa para describir la marca de tiempo UTC en milisegundos
Variables
Instancia
LoggingManagement sInstance
NombreDeArchivoDeRegistro
char sLogFileName[] = "topazlog"
Funciones
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 )
BdxRechazarHandler
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 )
Una función auxiliar que traduce un elemento de datos de eventos ya serializado en el búfer de eventos.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|
ObtenerPropiedadDictionaryKey
PropertyDictionaryKey GetPropertyDictionaryKey( PropertyPathHandle aHandle )
GetPropertySchemaHandle.
PropertySchemaHandle GetPropertySchemaHandle( PropertyPathHandle aHandle )
IsNullPropertyPathHandle.
bool IsNullPropertyPathHandle( PropertyPathHandle aHandle )
IsRootPropertyPathHandle.
bool IsRootPropertyPathHandle( PropertyPathHandle aHandle )
La versión más reciente
bool IsVersionNewer( const DataVersion & aVersion, const DataVersion & aReference )
Esta es una implementación optimizada del algoritmo para comparar versiones.
Del lado del cliente, una versión recibida del servicio es siempre la más reciente.
IsVersionNewerOrEqual
bool IsVersionNewerOrEqual( const DataVersion & aVersion, const DataVersion & aReference )
Ubicar
TraitUpdatableDataSink * Locate( TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog )
Función de utilidad que encuentra un TraitUpdatableDataSink en un catálogo de TraitDataSink.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
Un puntero para TraitUpdatableDataSink; NULL si el controlador no existe o si apunta a un TraitDataSink no actualizable
|
Evento de registro
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData )
Registra un evento desde un formulario preserializado.
La función registra un evento representado como nl::Weave::TLV::TLVReader. Esto significa que la representación de los datos del evento ya está serializada en el almacenamiento subyacente de la interfaz nl::Weave::TLV::TLVReader. Se espera que nl::Weave::TLV::TLVReader contenga al menos un solo elemento de datos, que debe ser una estructura. El primer elemento leído del lector se trata como datos de evento y se almacena en el registro de acontecimientos. Los datos del evento DEBEN contener etiquetas de contexto que se deben interpretar dentro del esquema que se identifica con inProfileID e inEventType. Se ignorará la etiqueta del primer elemento; el sistema de registro de eventos la reemplazará con la etiqueta eventData.
El evento se registra si su inImportance supera el umbral de registro especificado en la LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0
como ID del evento resultante.
Esta variante de la invocación especifica implícitamente todas las opciones de eventos predeterminadas:
- la marca de tiempo del evento con la hora actual en el momento de la llamada,
- si el evento está marcado como relacionado con el dispositivo que realiza la llamada
- El evento es independiente y no se relaciona con ningún otro.
- el evento está marcado como no urgente.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
event_id_t El ID del evento si el evento se escribió en el registro; de lo contrario, es 0.
|
Evento de registro
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions )
Registra un evento desde un formulario preserializado con opciones adicionales.
La función registra un evento representado como nl::Weave::TLV::TLVReader. Esto significa que la representación de los datos del evento ya está serializada en el almacenamiento subyacente de la interfaz nl::Weave::TLV::TLVReader. Se espera que nl::Weave::TLV::TLVReader contenga al menos un solo elemento de datos, que debe ser una estructura. El primer elemento leído del lector se trata como datos de evento y se almacena en el registro de acontecimientos. Los datos del evento DEBEN contener etiquetas de contexto que se deben interpretar dentro del esquema que se identifica con inProfileID e inEventType. Se ignorará la etiqueta del primer elemento; el sistema de registro de eventos la reemplazará con la etiqueta eventData.
El evento se registra si su inImportance supera el umbral de registro especificado en la LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0
como ID del evento resultante.
Esta variante de la invocación permite al emisor configurar cualquier combinación de EventOptions
:
- marca de tiempo, cuando 0 es la hora actual predeterminada en el punto de la llamada,
- "root" de la fuente del evento (fuente del evento e ID de característica); si es NULO, se establece de forma predeterminada en el dispositivo actual. El evento se marca como relacionado con el dispositivo que realiza la llamada.
- un ID de evento relacionado para agrupar los ID de evento; cuando el ID de evento relacionado es 0, el evento se marca como no relacionado con ningún otro evento
- urgencia; de manera predeterminada, no es urgente.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Qué muestra |
event_id_t El ID del evento si el evento se escribió en el registro; de lo contrario, es 0.
|
Evento de registro
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData )
Registra un evento mediante una devolución de llamada.
La función registra un evento representado como un EventWriterFunct y un contexto appData
específico de la app. La función escribe los metadatos del evento y llama a inEventWriter
con una referencia nl::Weave::TLV::TLVWriter y un contexto inAppData
para que el código del usuario pueda emitir los datos del evento directamente en el registro de acontecimientos. Esta forma de registro de eventos minimiza el consumo de memoria, ya que los datos de eventos se serializan directamente en el búfer de destino. Los datos del evento DEBEN contener etiquetas de contexto que se deben interpretar dentro del esquema que identifican inProfileID
y inEventType
. Se ignorará la etiqueta del primer elemento; el sistema de registro de eventos la reemplazará con la etiqueta eventData.
El evento se registra si su inImportance supera el umbral de registro especificado en la LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0
como ID del evento resultante.
Esta variante de la invocación especifica implícitamente todas las opciones de eventos predeterminadas:
- la marca de tiempo del evento con la hora actual en el momento de la llamada,
- si el evento está marcado como relacionado con el dispositivo que realiza la llamada
- El evento es independiente y no se relaciona con ningún otro.
- el evento está marcado como no urgente.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Qué muestra |
event_id_t El ID del evento si el evento se escribió en el registro; de lo contrario, es 0.
|
Evento de registro
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
Registra un evento mediante una devolución de llamada con opciones.
La función registra un evento representado como un EventWriterFunct y un contexto appData
específico de la app. La función escribe los metadatos del evento y llama a inEventWriter
con una referencia nl::Weave::TLV::TLVWriter y un contexto inAppData
para que el código del usuario pueda emitir los datos del evento directamente en el registro de acontecimientos. Esta forma de registro de eventos minimiza el consumo de memoria, ya que los datos de eventos se serializan directamente en el búfer de destino. Los datos del evento DEBEN contener etiquetas de contexto que se deben interpretar dentro del esquema que identifican inProfileID
y inEventType
. Se ignorará la etiqueta del primer elemento; el sistema de registro de eventos la reemplazará con la etiqueta eventData.
El evento se registra si su inImportance supera el umbral de registro especificado en la LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0
como ID del evento resultante.
Esta variante de la invocación permite al emisor configurar cualquier combinación de EventOptions
:
- marca de tiempo, cuando 0 es la hora actual predeterminada en el punto de la llamada,
- "root" de la fuente del evento (fuente del evento e ID de característica); si es NULO, se establece de forma predeterminada en el dispositivo actual. El evento se marca como relacionado con el dispositivo que realiza la llamada.
- un ID de evento relacionado para agrupar los ID de evento; cuando el ID de evento relacionado es 0, el evento se marca como no relacionado con ningún otro evento
- urgencia; de manera predeterminada, no es urgente.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Qué muestra |
event_id_t El ID del evento si el evento se escribió en el registro; de lo contrario, es 0.
|
LogFreeform
event_id_t LogFreeform( ImportanceType inImportance, const char *inFormat, ... )
LogFreeform emite una string de formato libre a la transmisión de eventos predeterminada.
La string se encapsulará en una estructura de evento de depuración y tendrá la misma estructura que otras strings registradas. El ID de perfil de evento será el de un evento de depuración de Nest y el tipo de evento será kNestDebug_StringLogEntryEvent
.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
event_id_t El ID del evento si el evento se escribió en el registro; de lo contrario, es 0.
|
Buscar elemento con etiqueta
WEAVE_ERROR LookForElementWithTag( const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader )
Escritor de texto sin formato
WEAVE_ERROR PlainTextWriter( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Una función auxiliar para emitir un texto de formato libre como un evento de depuración.
El evento de depuración es una estructura con una región de registro y un texto de formato libre.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|
Escritor de texto sin formato
WEAVE_ERROR PlainTextWriter( ::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Una función auxiliar para emitir un texto de formato libre como un evento de depuración.
El evento de depuración es una estructura con una región de registro y un texto de formato libre.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|