nl:: Weave:: Perfis:: DataManagement_Current
Esse namespace inclui todas as interfaces no Weave para o perfil Gerenciamento de dados do Weave (WDM, na sigla em inglês) que são compatíveis com o uso em produção.
Resumo
Typedefs |
|
---|---|
CommandFlags
|
typedef |
DataVersion
|
typedefuint64_t
|
EventProcessor
|
typedefvoid *
|
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
|
typedef Uma função que fornece o elemento eventData para o subsistema de registro de eventos. |
FetchExternalEventsFunct)(EventLoadOutContext *aContext)
|
typedef Um protótipo de função para callbacks de plataforma que buscam dados de eventos. |
GenericTraitSinkCatalog
|
typedef |
GenericTraitSourceCatalog
|
typedef |
ImportanceType
|
typedef A importância da entrada de registro. |
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
|
typedefvoid(*
Iterador de alça de característica. |
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
|
typedef |
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
|
typedefvoid(*
Um protótipo de função para um callback invocado quando eventos externos são entregues ao assinante remoto. |
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
|
typedefvoid(*
Um protótipo de função para um callback invocado quando eventos externos são removidos dos buffers. |
PropertyDictionaryKey
|
typedefuint16_t
|
PropertyPathHandle
|
typedefuint32_t
Um PropertyPathHandle é um hash numérico exclusivo de 32 bits de um caminho WDM em relação à raiz de uma instância de característica. |
PropertySchemaHandle
|
typedefuint16_t
|
SchemaVersion
|
typedefuint16_t
|
SingleResourceSinkTraitCatalog
|
typedef |
SingleResourceSourceTraitCatalog
|
typedef |
TimestampType
|
typedef A validade e o tipo de carimbo de data/hora incluído em EventOptions. |
TraitDataHandle
|
typedefuint16_t
|
duration_t
|
nl::Weave::Perfis::DataManagement_Current::duration_tuint32_t
Tipo usado para descrever a duração em milésimos de segundos. |
event_id_t
|
nl::Weave::Perfis::DataManagement_Current::event_id_tuint32_t
O tipo de ID do evento. |
timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::timestamp_tuint32_t
Tipo usado para descrever o carimbo de data/hora em milissegundos. |
utc_timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::utc_timestamp_tuint64_t
Tipo usado para descrever o carimbo de data/hora em milissegundos do UTC. |
Variables |
|
---|---|
sInstance
|
|
sLogFileName = "topazlog"[]
|
char
|
Funções |
|
---|---|
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)
|
Uma função auxiliar que converte um elemento eventdata já serializado em buffer 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
Essa é uma implementação otimizada do algoritmo para comparar versões.
|
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
|
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
|
Função de utilitário que encontra um TraitUpdatableDataSink em um catálogo TraitDataSink.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
|
Registre um evento em um formulário pré-serializado.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
|
Registre um evento de um formulário pré-serializado com opções adicionais.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
|
Registre um evento usando um callback.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
|
Registre um evento usando um callback com opções.
|
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
|
O LogFreeform emite uma string de formato livre para o fluxo de eventos padrão.
|
LookForElementWithTag(const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader)
|
|
PlainTextWriter(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
Uma função auxiliar para emitir um texto em formato livre como um evento de depuração.
|
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
Uma função auxiliar para emitir um texto em formato livre como um evento de depuração.
|
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
União |
|
---|---|
nl:: |
A união que fornece um sistema de conjunto de aplicativos ou carimbo de data/hora UTC. |
Enumerações
100
@100
Tags para o kNestDebug_StringLogEntryEvent.
Propriedades | |
---|---|
kTag_Message
|
Uma string que contém a mensagem de depuração real. |
kTag_Region
|
Um não assinado de 32 bits que indica a região do registro, ou seja, o módulo a que a mensagem de registro pertence. |
@101
@101
Tags para o kNestDebug_TokenizedLogEntryEvent
Propriedades | |
---|---|
kTag_Args
|
Uma matriz de argumentos a serem enviados junto com a mensagem do token. |
kTag_Token
|
Um valor não assinado de 32 bits correspondente ao token. |
@102
@102
Tags para persistir eventos.
@104
@104
Os tipos de mensagem do perfil WDM.
Esses valores são destacados na especificação de gerenciamento de dados.
@105
@105
Códigos de status específicos do WDM.
@147
@147
95
@95
Tags de configurações do Logging.
Propriedades | |
---|---|
kTag_CurrentImportance
|
Importância da geração de registros atual. O valor é do tipo ImportanceType. |
kTag_ImportanceExpiration
|
Horário, em segundos UTC, em que as configurações atuais de geração de registros elevadas revertem para os valores padrão. |
kTag_LoggingDestination
|
Um URL que indica o destino do upload do registro. |
kTag_MaximumLogUploadInterval
|
Duração máxima, em segundos, entre as tentativas de upload de registros acionadas automaticamente. |
kTag_MinimumLogUploadInterval
|
Duração mínima, em segundos, entre as tentativas de upload de registros acionadas automaticamente. |
kTag_TraitLoggingImportance
|
Uma matriz opcional mapeando os perfis escolhidos nos níveis de geração de registros mais altos. Cada elemento em uma matriz usa um formulário (perfil,caminho,importação de registros) para elevar seletivamente a geração de registros de um subconjunto do sistema. A prioridade de geração de registros elevada do perfil só tem importância quando a prioridade de registro excede a da currentImportance e está sujeita ao mesmo prazo de validade da currentImportance. |
96
@96
Tags para recursos de geração de registros.
Propriedades | |
---|---|
kTag_LogBufferingCapacity
|
Um número inteiro sem assinatura de 32 bits que descreve a capacidade de buffer de registros em KB. |
kTag_LoggingVolume
|
Um número inteiro sem assinatura de 32 bits que descreve o volume esperado de registros em kB/dia. |
kTag_SupportedLogTransports
|
Uma matriz de mecanismos de transporte de registros compatíveis. |
kTag_SupportsNonVolatileStorage
|
É um booleano indicando se o dispositivo é compatível com o armazenamento de registros não voláteis. |
kTag_SupportsPerTraitVerbosity
|
É um booleano indicando se o dispositivo é compatível com as configurações de verbosidade por característica. |
kTag_SupportsStreaming
|
É um booleano indicando se o dispositivo oferece suporte a registros de streaming. |
99
@97
Tags para metadados de evento.
Para ver a semântica completa dos valores da tag, consulte a Especificação de design de eventos.
Propriedades | |
---|---|
kTag_EventData
|
Opcional. Dados do evento. Se estiver vazio, o padrão será uma estrutura vazia. |
kTag_EventDeltaSystemTime
|
Tag interna do WDM, diferença de horário do evento anterior na codificação. |
kTag_EventDeltaUTCTime
|
Tag interna do WDM, diferença de horário do evento anterior na codificação. |
kTag_EventID
|
Número de sequência do evento, expresso como uma quantidade de 64 bits não assinada. Precisa ser sequencial, saltos na sequência indicam lacunas de eventos. |
kTag_EventImportance
|
Importância do evento. |
kTag_EventResourceID
|
Opcional. O valor é o código do recurso a que o evento pertence. Quando omitido, o valor é igual ao valor de kTag_EventSource |
kTag_EventSource
|
ID do nó do dispositivo que gerou o evento. |
kTag_EventSystemTimestamp
|
Opcional. É o carimbo de data/hora do sistema em milissegundos. |
kTag_EventTraitInstanceID
|
Opcional: a instância da característica que gerou o evento. |
kTag_EventTraitProfileID
|
Obrigatório. Número inteiro não assinado de 32 bits, igual ao ProfileID da característica. |
kTag_EventType
|
Obrigatório. Número inteiro sem assinatura de 16 bits que é igual a wdl.event.id para esse tipo de evento. |
kTag_EventUTCTimestamp
|
Opcional. Carimbo de data/hora UTC do evento em milissegundos. |
kTag_ExternalEventStructure
|
Tag interna para eventos externos. Nunca transmitida entre os fios e nunca deve ser usada fora da biblioteca Weave. |
kTag_RelatedEventID
|
Opcional. É o ID de um evento relacionado ao evento. Se omitido, o valor é igual ao valor de kTag_EventID. |
kTag_RelatedEventImportance
|
Opcional. Importância do evento relacionado. Se omitido, o valor é igual ao valor de kTag_EventImportance. |
99
@98
Definições de perfil para a característica de depuração.
99
@99
Tipos de evento para a característica do Nest Debug.
Propriedades | |
---|---|
kNestDebug_StringLogEntryEvent
|
Um evento para a mensagem de depuração de string de forma livre. |
kNestDebug_TokenizedHeaderEntryEvent
|
Um evento para transmitir as informações do cabeçalho tokenizado. |
kNestDebug_TokenizedLogEntryEvent
|
Um evento para a mensagem de depuração tokenizada. |
Sinalizações de comando
CommandFlags
Propriedades | |
---|---|
kCommandFlag_ActionTimeValid
|
Defina quando o tempo de ação é válido. |
kCommandFlag_ExpiryTimeValid
|
Defina o prazo de validade. |
kCommandFlag_InitiationTimeValid
|
Defina quando o horário de inicialização é válido. |
kCommandFlag_IsOneWay
|
Defina quando o comando é de mão única. |
kCommandFlag_MustBeVersionValid
|
Defina quando o campo de versão é válido. |
TipoDeImportância
ImportanceType
A importância da entrada de registro.
A importância é usada como uma forma de filtrar eventos antes de serem emitidos no registro. Depois que o evento é incluído no registro, não fazemos mais disposições para eliminá-lo. O nível de importância serve para priorizar o armazenamento de eventos. Se um evento de alta importância for adicionado a um buffer completo, os eventos serão descartados em ordem de importância (e idade) para acomodá-lo. Por isso, os níveis de importância têm apenas valor relativo. Se um sistema estiver usando apenas um nível de importância, os eventos serão descartados apenas em ordem de idade, como um buffer de anel.
Propriedades | |
---|---|
Debug
|
A importância de depuração indica entradas de registro de interesse para os desenvolvedores do sistema e é usada principalmente na fase de desenvolvimento. Os registros de importância de depuração não são contabilizados nos larguras de banda ou nos orçamentos de energia dos dispositivos restritos. Como resultado, eles precisam ser usados apenas por um período limitado nos sistemas de produção. |
Info
|
A importância das informações indica entradas de registro que fornecem insights e diagnósticos adicionais no sistema em execução. O nível de registro de informações pode ser usado por um longo período em um sistema de produção ou pode ser usado como o nível de registro padrão em um teste de campo. Nos dispositivos restritos, as entradas registradas com o nível de informações precisam ser contabilizadas no orçamento de largura de banda e memória, mas não no orçamento de energia. |
Production
|
A importância de produção indica as entradas de registro usadas no monitoramento e na manutenção contínuo do ecossistema Nest. Em dispositivos restritos, as entradas registradas com importância de produção precisam ser contabilizadas no orçamento de energia e memória, já que é esperado que elas sejam sempre registradas e descarregadas do dispositivo. |
ProductionCritical
|
A importância crítica da produção indica eventos cuja perda impactaria diretamente os recursos voltados para o cliente. Os aplicativos podem usar a perda de eventos críticos de produção para indicar falha do sistema. Em dispositivos restritos, as entradas registradas com importância crítica de produção precisam ser contabilizadas no orçamento de energia e memória, já que é esperado que elas sejam sempre registradas e descarregadas do dispositivo. |
Estado de gerenciamento de registros
LoggingManagementStates
Propriedades | |
---|---|
kLoggingManagementState_Holdoff
|
O descarregamento de registros foi concluído. Não reiniciamos o registro até que a retenção expire. |
kLoggingManagementState_Idle
|
Nenhuma descarga de registro em andamento pode começar sem restrições. |
kLoggingManagementState_InProgress
|
O descarregamento de registros está em andamento. |
kLoggingManagementState_Shutdown
|
Não é possível executar nenhuma operação de geração de registros. |
Carimbo de data/hora
TimestampType
A validade e o tipo de carimbo de data/hora incluído em EventOptions.
Typedefs
Sinalizações de comando
enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags
Versão do dado
uint64_t DataVersion
Processador de eventos
void * EventProcessor
Função EventWriter
WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
Uma função que fornece o elemento eventData para o subsistema de registro de eventos.
Funções desse tipo fornecem o elemento eventData para o subsistema de registro de eventos. As funções desse tipo são chamadas depois que o subsistema de eventos gera todos os metadados de eventos necessários. A função é chamada com um objeto nl::Weave::TLV::TLVWriter em que emitirá um único elemento TLV marcado como kTag_EventData. O valor desse elemento PRECISA ser uma estrutura que contenha os dados do evento. Os próprios dados do evento precisam ser estruturados usando tags de contexto.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
PlainTextWriter
EventWriterTLVCopy
Busca externa de eventos externos
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
Um protótipo de função para callbacks de plataforma que buscam dados de eventos.
Semelhante a FetchEvents Desde, essa função de busca retorna todos os eventos de EventLoadOutContext.mStartingEventID por ExternalEvents.mLastEventID.
O ponteiro de contexto é do tipo FetchExternalEventsContext. Isso inclui o EventLoadOutContext, com algumas variáveis auxiliares para o formato do TLV. Isso também inclui um ponteiro para o struct ExternalEvents criado no registro do callback. Especifica o intervalo de IDs de evento do callback.
Ao retornar da função, EventLoadOutContext.mCurrentEventID precisa refletir o primeiro ID de evento que não foi gravado no buffer TLV. A plataforma precisa gravar o cabeçalho e os dados de eventos no gravador TLV no formato correto, especificado pelo protocolo EventLogging. A plataforma também precisa manter a exclusividade de eventos e carimbos de data/hora.
Todos os erros de TLV precisam ser propagados para níveis mais altos. Por exemplo, ficar sem espaço no buffer acionará uma mensagem enviada, seguida por outra chamada para o callback com o ID de evento restante.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Valores de retorno |
|
GenericTraitSinkCatalog
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
GenericTraitSourceCatalog
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
TipoDeImportância
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
A importância da entrada de registro.
A importância é usada como uma forma de filtrar eventos antes de serem emitidos no registro. Depois que o evento é incluído no registro, não fazemos mais disposições para eliminá-lo. O nível de importância serve para priorizar o armazenamento de eventos. Se um evento de alta importância for adicionado a um buffer completo, os eventos serão descartados em ordem de importância (e idade) para acomodá-lo. Por isso, os níveis de importância têm apenas valor relativo. Se um sistema estiver usando apenas um nível de importância, os eventos serão descartados apenas em ordem de idade, como um buffer de anel.
Iterador
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
Iterador de alça de característica.
LoggingBufferHandler
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
NotificarExternalEventsEntregue
void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
Um protótipo de função para um callback invocado quando eventos externos são entregues ao assinante remoto.
Quando os eventos externos são entregues a um assinante remoto, o mecanismo envia uma notificação ao provedor de eventos externo. O callback contém o evento do último código que foi entregue e o código do assinante que recebeu o evento.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
Notificação externaEventosEvictedFunct
void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
Um protótipo de função para um callback invocado quando eventos externos são removidos dos buffers.
Quando o objeto de eventos externos for removido do buffer de mensagens de saída, o mecanismo enviará uma notificação ao provedor de eventos externo. O callback contém o evento externo que será removido.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
Chave da dicionário da propriedade
uint16_t PropertyDictionaryKey
Identificador de caminho da propriedade
uint32_t PropertyPathHandle
Um PropertyPathHandle é um hash numérico exclusivo de 32 bits de um caminho WDM em relação à raiz de uma instância de característica.
Ela tem duas partes:
- É um número menor de 16 bits que é mapeado para a parte estática do esquema.
- Quando os últimos 16 bits se referem a um caminho dentro de um elemento do dicionário, há um número de 16 bits superior que representa a chave de dicionário associada a esse elemento. Se os 16 bits inferiores se referirem a um elemento que não é do dicionário, os de 16 bits superiores serão 0.
Algumas características:
- Cada característica tem o próprio espaço de processamento do caminho da propriedade.
- Cada caminho de subcaminho do WDM exclusivo terá um PropertyPathHandle também exclusivo.
- PropertyPathHandles são gerados automaticamente (gerenciados manualmente por enquanto) por um compilador de características do IDL e são representados como uma lista de enumeração no arquivo de cabeçalho da característica correspondente.
- Com essa construção, a lógica do aplicativo nunca precisa lidar diretamente com caminhos WDM. As interações com o WDM são realizadas exclusivamente por esses identificadores.
- Há dois valores reservados para os identificadores de caminho que têm um significado específico:
- 0 indica um identificador 'NULL'
- O valor 1 indica um identificador que aponta para a raiz da instância de característica.
Esquema de propriedade
uint16_t PropertySchemaHandle
Versão do esquema
uint16_t SchemaVersion
SingleResourceSinkTraitCatalog
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
SingleResourceSourceTraitCatalog
SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog
Carimbo de data/hora
enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType
A validade e o tipo de carimbo de data/hora incluído em EventOptions.
TraitDataHandle
uint16_t TraitDataHandle
duração_t
uint32_t duration_t
Tipo usado para descrever a duração em milésimos de segundos.
ID do evento
uint32_t event_id_t
O tipo de ID do evento.
timestamp_t
uint32_t timestamp_t
Tipo usado para descrever o carimbo de data/hora em milissegundos.
Hora do carimbo de data/hora
uint64_t utc_timestamp_t
Tipo usado para descrever o carimbo de data/hora em milissegundos do UTC.
Variables
Instância
LoggingManagement sInstance
Nome do arquivo sLog
char sLogFileName[] = "topazlog"
Funções
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 )
bdxHandler
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 )
Cópia EventEventTLV
WEAVE_ERROR EventWriterTLVCopy( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Uma função auxiliar que converte um elemento eventdata já serializado em buffer de eventos.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
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 )
Essa é uma implementação otimizada do algoritmo para comparar versões.
No lado do cliente, uma versão recebida do serviço é sempre a mais recente.
IsVersionNewerOrEqual
bool IsVersionNewerOrEqual( const DataVersion & aVersion, const DataVersion & aReference )
Localizar
TraitUpdatableDataSink * Locate( TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog )
Função de utilitário que encontra um TraitUpdatableDataSink em um catálogo TraitDataSink.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
Um ponteiro para TraitUpdatableDataSink, NULL se o identificador não existir ou apontar para um TraitDataSink não atualizável.
|
Evento de registro
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData )
Registre um evento em um formulário pré-serializado.
A função registra um evento representado como nl::Weave::TLV::TLVReader. Isso indica que a representação de dados de eventos já está serializada no armazenamento de nl::Weave::TLV::TLVReader. Espera-se que nl::Weave::TLV::TLVReader contenha pelo menos um único elemento de dados. Esse elemento precisa ser uma estrutura. O primeiro elemento lido fora do leitor é tratado como dados do evento e armazenado no log de eventos. Os dados do evento PRECISAM conter tags de contexto a serem interpretados no esquema identificado por inProfileID e inEventType. A tag do primeiro elemento será ignorada, e o sistema de registro de eventos a substituirá pela tag eventData.
O evento será registrado se a inimportance exceder o limite de geração de registros especificado na LoggingConfiguration. Se a importância do evento não atingir o limite atual, ela será descartada e a função retornará um 0
como o ID do evento resultante.
Essa variante da invocação especifica implicitamente todas as opções de eventos padrão:
- o evento tem um carimbo de data/hora com o horário atual no ponto da chamada;
- O evento é marcado como relacionado ao dispositivo que está fazendo a chamada.
- o evento é independente, não relacionado a nenhum outro evento,
- o evento é marcado como não urgente,
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
event_id_t O ID do evento, se o evento foi gravado no registro, caso contrário, será 0.
|
Evento de registro
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions )
Registre um evento de um formulário pré-serializado com opções adicionais.
A função registra um evento representado como nl::Weave::TLV::TLVReader. Isso indica que a representação de dados de eventos já está serializada no armazenamento de nl::Weave::TLV::TLVReader. Espera-se que nl::Weave::TLV::TLVReader contenha pelo menos um único elemento de dados. Esse elemento precisa ser uma estrutura. O primeiro elemento lido fora do leitor é tratado como dados do evento e armazenado no log de eventos. Os dados do evento PRECISAM conter tags de contexto a serem interpretados no esquema identificado por inProfileID e inEventType. A tag do primeiro elemento será ignorada, e o sistema de registro de eventos a substituirá pela tag eventData.
O evento será registrado se a inimportance exceder o limite de geração de registros especificado na LoggingConfiguration. Se a importância do evento não atingir o limite atual, ela será descartada e a função retornará um 0
como o ID do evento resultante.
Essa variante da invocação permite que o autor da chamada defina qualquer combinação de EventOptions
:
- timestamp, quando 0 assume como padrão a hora atual no ponto da chamada,
- Seção "quot;root" da fonte do evento (origem do evento e código da característica)". Se NULL, o padrão é o dispositivo atual. O evento é marcado como relacionado ao dispositivo que está fazendo a chamada.
- Um ID de evento relacionado para agrupar IDs de evento. Quando o ID do evento relacionado é 0, o evento é marcado como não relacionado a outros eventos.
- urgência; por padrão, não é urgente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retorna |
event_id_t O ID do evento, se o evento foi gravado no registro, caso contrário, será 0.
|
Evento de registro
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData )
Registre um evento usando um callback.
A função registra um evento representado como EventWriterFunct e um contexto appData
específico do app. A função grava os metadados do evento e chama a inEventWriter
com uma referência nl::Weave::TLV::TLVWriter e um contexto de inAppData
para que o código do usuário possa emitir os dados do evento diretamente para o log de eventos. Essa forma de registro de eventos minimiza o consumo de memória, já que os dados de eventos são serializados diretamente no buffer de destino. Os dados do evento PRECISAM conter tags de contexto para serem interpretados no esquema identificado por inProfileID
e inEventType
. A tag do primeiro elemento será ignorada, e o sistema de registro de eventos a substituirá pela tag eventData.
O evento será registrado se a inimportance exceder o limite de geração de registros especificado na LoggingConfiguration. Se a importância do evento não atingir o limite atual, ela será descartada e a função retornará um 0
como o ID do evento resultante.
Essa variante da invocação especifica implicitamente todas as opções de eventos padrão:
- o evento tem um carimbo de data/hora com o horário atual no ponto da chamada;
- O evento é marcado como relacionado ao dispositivo que está fazendo a chamada.
- o evento é independente, não relacionado a nenhum outro evento,
- o evento é marcado como não urgente,
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retorna |
event_id_t O ID do evento, se o evento foi gravado no registro, caso contrário, será 0.
|
Evento de registro
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
Registre um evento usando um callback com opções.
A função registra um evento representado como EventWriterFunct e um contexto appData
específico do app. A função grava os metadados do evento e chama a inEventWriter
com uma referência nl::Weave::TLV::TLVWriter e um contexto de inAppData
para que o código do usuário possa emitir os dados do evento diretamente para o log de eventos. Essa forma de registro de eventos minimiza o consumo de memória, já que os dados de eventos são serializados diretamente no buffer de destino. Os dados do evento PRECISAM conter tags de contexto para serem interpretados no esquema identificado por inProfileID
e inEventType
. A tag do primeiro elemento será ignorada, e o sistema de registro de eventos a substituirá pela tag eventData.
O evento será registrado se a inimportance exceder o limite de geração de registros especificado na LoggingConfiguration. Se a importância do evento não atingir o limite atual, ela será descartada e a função retornará um 0
como o ID do evento resultante.
Essa variante da invocação permite que o autor da chamada defina qualquer combinação de EventOptions
:
- timestamp, quando 0 assume como padrão a hora atual no ponto da chamada,
- Seção "quot;root" da fonte do evento (origem do evento e código da característica)". Se NULL, o padrão é o dispositivo atual. O evento é marcado como relacionado ao dispositivo que está fazendo a chamada.
- Um ID de evento relacionado para agrupar IDs de evento. Quando o ID do evento relacionado é 0, o evento é marcado como não relacionado a outros eventos.
- urgência; por padrão, não é urgente.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Retorna |
event_id_t O ID do evento, se o evento foi gravado no registro, caso contrário, será 0.
|
LogFreeform
event_id_t LogFreeform( ImportanceType inImportance, const char *inFormat, ... )
O LogFreeform emite uma string de formato livre para o fluxo de eventos padrão.
A string será encapsulada em uma estrutura de evento de depuração, estruturalmente idêntica a outras strings registradas. O ID do perfil será de um evento do Nest Debug, e o tipo de evento será kNestDebug_StringLogEntryEvent
.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
event_id_t O ID do evento, se o evento foi gravado no registro, caso contrário, será 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 )
Uma função auxiliar para emitir um texto em formato livre como um evento de depuração.
O evento de depuração é uma estrutura com logregion e um texto de forma livre.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
PlainTextWriter
WEAVE_ERROR PlainTextWriter( ::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Uma função auxiliar para emitir um texto em formato livre como um evento de depuração.
O evento de depuração é uma estrutura com logregion e um texto de forma livre.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|