nl:: Weave:: Profiles:: DataManagement_Current
Esse namespace inclui todas as interfaces do Weave para o perfil Weave Data Management (WDM) que atualmente têm suporte para 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 do identificador da 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 do 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ídos em EventOptions. |
TraitDataHandle
|
typedefuint16_t
|
duration_t
|
nl::Weave::Profiles::DataManagement_Current::duration_tuint32_t
Tipo usado para descrever a duração, em milissegundos. |
event_id_t
|
nl::Weave::Profiles::DataManagement_Current::event_id_tuint32_t
Tipo de ID de 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 UTC em milissegundos. |
Variáveis |
|
---|---|
sInstance
|
|
sLogFileName = "topazlog"[]
|
char
|
remotas |
|
---|---|
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 para o 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 de 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 mais opções.
|
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, ...)
|
A 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 de 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 de formato livre como um evento de depuração.
|
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
Sindicatos |
|
---|---|
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
|
String com 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 com a mensagem do token. |
kTag_Token
|
Um valor não assinado de 32 bits correspondente ao token. |
@102
@102
Tags para eventos persistentes.
@104
@104
Os tipos de mensagem do perfil do WDM.
Esses valores são chamados na especificação do gerenciamento de dados.
@105
@105
Códigos de status específicos do WDM.
@147
@147
@95
@95
Tags de configuração do Logging.
Propriedades | |
---|---|
kTag_CurrentImportance
|
Importância de registros atual: o valor é do tipo ImportanceType. |
kTag_ImportanceExpiration
|
Tempo, em segundos UTC, quando as configurações atuais de geração de registros elevados são revertidas 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 que mapeia seletivamente os perfis escolhidos nos níveis de registro mais altos. Cada elemento na matriz tem uma forma (perfil,caminho,função de geração de registros) para elevar seletivamente a geração de registros de um subconjunto do sistema. A prioridade elevada de geração de registros do perfil só é importante quando a prioridade de geração de registros excede a da currentImportance e está sujeita ao mesmo prazo de validade que a currentImportance. |
@96
@96
Tags para recursos de geração de registros.
Propriedades | |
---|---|
kTag_LogBufferingCapacity
|
Um número inteiro não assinado de 32 bits que descreve a capacidade de armazenamento em buffer do registro em kB. |
kTag_LoggingVolume
|
Um número inteiro não assinado de 32 bits que descreve o volume de geração de registros esperado em kB/dia. |
kTag_SupportedLogTransports
|
Uma matriz de mecanismos de transporte de registros aceitos. |
kTag_SupportsNonVolatileStorage
|
É um booleano indicando se o dispositivo oferece suporte ao armazenamento de registros não voláteis. |
kTag_SupportsPerTraitVerbosity
|
É um booleano que indica se o dispositivo oferece suporte às configurações de detalhamento por característica. |
kTag_SupportsStreaming
|
É um booleano indicando se o dispositivo é compatível com streaming de registros. |
@97
@97
Tags para metadados de evento.
Para a semântica completa dos valores da tag, consulte a Especificação de design de eventos.
Propriedades | |
---|---|
kTag_EventData
|
Opcional. Dados de eventos em si. Se estiver vazio, o padrão será uma estrutura vazia. |
kTag_EventDeltaSystemTime
|
Tag interna do WDM, diferença de horário em relação ao evento anterior na codificação. |
kTag_EventDeltaUTCTime
|
Tag interna do WDM, diferença de horário em relação ao evento anterior na codificação. |
kTag_EventID
|
Número de sequência do evento, expresso como uma quantidade não assinada de 64 bits. Precisa ser sequencial. Os saltos na sequência indicam lacunas de eventos. |
kTag_EventImportance
|
Importância do evento. |
kTag_EventResourceID
|
Opcional. O valor é o ID do recurso a que o evento pertence. Quando omitido, o valor é igual ao valor da kTag_EventSource |
kTag_EventSource
|
NodeID do dispositivo que gerou o evento. |
kTag_EventSystemTimestamp
|
Opcional. Carimbo de data/hora do sistema do evento em milissegundos. |
kTag_EventTraitInstanceID
|
A instância da característica que gerou o evento (opcional). |
kTag_EventTraitProfileID
|
Obrigatório. Número inteiro não assinado de 32 bits que é igual ao ProfileID da característica. |
kTag_EventType
|
Obrigatório. Número inteiro não assinado de 16 bits que é igual ao 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 transmitido através do fio, nunca deve ser usado fora da biblioteca do Weave. |
kTag_RelatedEventID
|
Opcional. ID de um evento a que este evento está relacionado. Se omitido, o valor será igual ao de kTag_EventID. |
kTag_RelatedEventImportance
|
Opcional. Importância do evento relacionado Se omitido, o valor será igual ao de kTag_EventImportance. |
@98
@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 uma mensagem de depuração de string de formato livre. |
kNestDebug_TokenizedHeaderEntryEvent
|
Um evento para transmitir as informações de cabeçalho tokenizadas. |
kNestDebug_TokenizedLogEntryEvent
|
Um evento para a mensagem de depuração tokenizada. |
CommandFlags
CommandFlags
Propriedades | |
---|---|
kCommandFlag_ActionTimeValid
|
Defina quando o momento da ação é válido. |
kCommandFlag_ExpiryTimeValid
|
Defina quando o tempo de expiração é válido. |
kCommandFlag_InitiationTimeValid
|
Defina quando o horário de inicialização é válido. |
kCommandFlag_IsOneWay
|
Defina quando o comando é unidirecional. |
kCommandFlag_MustBeVersionValid
|
Defina quando o campo de versão é válido. |
ImportanceType
ImportanceType
A importância da entrada de registro.
A importância é usada como uma maneira de filtrar eventos antes que eles sejam realmente emitidos no registro. Depois que o evento estiver no registro, não serão feitas outras açõ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, eles serão descartados em ordem de importância (e idade) para acomodá-lo. Assim, 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 somente por ordem de idade, como um buffer de anel.
Propriedades | |
---|---|
Debug
|
A importância da 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 considerados na largura 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 oferecem mais insights e diagnósticos para o sistema em execução. O nível de geração de registros de informações pode ser usado por um longo período em um sistema de produção ou como padrão em um teste de campo. Em dispositivos restritos, as entradas registradas com o nível de informações devem ser consideradas no orçamento de largura de banda e memória, mas não no orçamento de energia. |
Production
|
A importância da produção indica as entradas de registro usadas no monitoramento e na manutenção contínuos do ecossistema Nest. Em dispositivos restritos, as entradas registradas com a importância de produção precisam ser consideradas no orçamento de energia e memória, já que é esperado que elas sempre sejam registradas e descarregadas do dispositivo. |
ProductionCritical
|
A importância crítica de produção indica eventos com perda que afetaria diretamente os recursos voltados para o cliente. Os aplicativos podem usar a perda de eventos críticos de produção para indicar falhas no sistema. Em dispositivos restritos, as entradas registradas com a importância crítica de produção precisam ser consideradas no orçamento de energia e memória, já que é esperado que elas sempre sejam registradas e descarregadas do dispositivo. |
LoggingManagementStates
LoggingManagementStates
Propriedades | |
---|---|
kLoggingManagementState_Holdoff
|
O descarregamento de registros foi concluído. Não vamos reiniciar o registro até que a retenção expire. |
kLoggingManagementState_Idle
|
Não há descarregamento de registros em andamento. Ele pode começar sem restrições. |
kLoggingManagementState_InProgress
|
Descarregamento de registros em andamento. |
kLoggingManagementState_Shutdown
|
Não é capaz de executar nenhuma operação de geração de registros. |
Typedefs
CommandFlags
enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags
DataVersion
uint64_t DataVersion
EventProcessor
void * EventProcessor
EventWriterFunct
WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
Uma função que fornece o elemento eventData para o subsistema de registro de eventos.
Espera-se que as funções desse tipo forneçam 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 evento necessários. A função é chamada com um objeto nl::Weave::TLV::TLVWriter, em que vai emitir um único elemento TLV com a tag kTag_EventData. O valor desse elemento PRECISA ser uma estrutura que contenha os dados do evento. Os dados do evento precisam ser estruturados usando tags de contexto.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
PlainTextWriter
EventWriterTLVCopy
FetchExternalEventsFunct
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
Um protótipo de função para callbacks de plataforma que buscam dados de eventos.
Semelhante a FetchEventsDesde, essa função de busca retorna todos os eventos de EventLoadOutContext.mStartingEventID por meio de ExternalEvents.mLastEventID.
O ponteiro de contexto é do tipo FetchExternalEventsContext. Isso inclui o EventLoadOutContext, com algumas variáveis auxiliares para o formato do TLV. Ele também inclui um ponteiro para o struct ExternalEvents criado no registro do callback. Especifica o intervalo de IDs do evento para o callback.
Ao retornar da função, EventLoadOutContext.mCurrentEventID precisa refletir o primeiro ID de evento que não foi gravado com êxito no buffer TLV. A plataforma precisa gravar o cabeçalho e os dados dos eventos no gravador TLV no formato correto, especificado pelo protocolo EventLogging. A plataforma também precisa manter a exclusividade dos eventos e dos carimbos de data/hora.
Todos os erros TLV precisam ser propagados para níveis mais altos. Por exemplo, a falta de espaço no buffer acionará uma mensagem enviada, seguida por outra chamada ao callback com o ID de evento que restar.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Valores de retorno |
|
GenericTraitSinkCatalog
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
GenericTraitSourceCatalog
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
ImportanceType
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
A importância da entrada de registro.
A importância é usada como uma maneira de filtrar eventos antes que eles sejam realmente emitidos no registro. Depois que o evento estiver no registro, não serão feitas outras açõ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, eles serão descartados em ordem de importância (e idade) para acomodá-lo. Assim, 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 somente por ordem de idade, como um buffer de anel.
IteratorCallback
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
Iterador do identificador da característica.
LoggingBufferHandler
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
NotifyExternalEventsDeliveredFunct
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 fornece uma notificação ao provedor de eventos externo. O callback contém o evento do último ID enviado e o ID do assinante que recebeu o evento.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
NotifyExternalEventsEvictedFunct
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 a ser removido.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
PropertyDictionaryKey
uint16_t PropertyDictionaryKey
PropertyPathHandle
uint32_t PropertyPathHandle
Um PropertyPathHandle é um hash numérico exclusivo de 32 bits de um caminho do 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 16 bits inferiores se referem a um caminho dentro de um elemento de 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 referem a um elemento que não é de dicionário, os 16 bits superiores devem ser 0.
Algumas características:
- Cada característica tem um espaço de processamento próprio para o caminho de propriedade.
- Cada subcaminho exclusivo do WDM terá um PropertyPathHandle exclusivo.
- PropertyPathHandles são gerados automaticamente (por enquanto, feitos à mão) por um compilador de características da IDL e são representados como uma lista enumerada no arquivo de cabeçalho da característica correspondente.
- Com essa construção, a lógica do aplicativo nunca precisa lidar diretamente com os caminhos do WDM. As interações com o WDM são realizadas exclusivamente por esses identificadores.
- Há dois valores reservados para identificadores de caminho com um significado específico:
- 0 indica um identificador "NULL"
- 1 indica um identificador que aponta para a raiz da instância da característica.
PropertySchemaHandle
uint16_t PropertySchemaHandle
SchemaVersion
uint16_t SchemaVersion
SingleResourceSinkTraitCatalog
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
SingleResourceSourceTraitCatalog
SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog
TimestampType
enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType
A validade e o tipo de carimbo de data/hora incluídos em EventOptions.
TraitDataHandle
uint16_t TraitDataHandle
duration_t
uint32_t duration_t
Tipo usado para descrever a duração, em milissegundos.
event_id_t
uint32_t event_id_t
Tipo de ID de evento.
timestamp_t
uint32_t timestamp_t
Tipo usado para descrever o carimbo de data/hora em milissegundos.
utc_timestamp_t
uint64_t utc_timestamp_t
Tipo usado para descrever o carimbo de data/hora UTC em milissegundos.
Variáveis
sInstance
LoggingManagement sInstance
sLogFileName
char sLogFileName[] = "topazlog"
remotas
BdxErrorHandler
void BdxErrorHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, WEAVE_ERROR aErrorCode )
BdxGetBlockHandler
void BdxGetBlockHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aIsLastBlock )
BdxRejectHandler
void BdxRejectHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aReport )
BdxSendAcceptHandler
WEAVE_ERROR BdxSendAcceptHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg )
BdxXferDoneHandler
void BdxXferDoneHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer )
BdxXferErrorHandler
void BdxXferErrorHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError )
CreatePropertyPathHandle
PropertyPathHandle CreatePropertyPathHandle( PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey )
EventWriterTLVCopy
WEAVE_ERROR EventWriterTLVCopy( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Uma função auxiliar que converte um elemento eventdata já serializado para o 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 o TraitUpdatableDataSink, NULL se o identificador não existir ou se ele apontar para um TraitDataSink não atualizável.
|
LogEvent
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData )
Registre um evento de um formulário pré-serializado.
A função registra um evento representado como nl::Weave::TLV::TLVReader. Isso significa que a representação dos dados do evento já está serializada no armazenamento relacionado a nl::Weave::TLV::TLVReader. Espera-se que nl::Weave::TLV::TLVReader contenha pelo menos um único elemento de dados, que precisa ser uma estrutura. O primeiro elemento lido no leitor é tratado como dados de evento e armazenado no log de eventos. Os dados do evento PRECISAM conter tags de contexto para serem interpretadas dentro do esquema identificado por inProfileID e inEventType. A tag do primeiro elemento será ignorada; o sistema de log de eventos a substituirá pela tag eventData.
O evento é registrado se a importância dele exceder o limite de geração de registros especificado em LoggingConfiguration. Se a importância do evento não atingir o limite atual, ela será descartada e a função vai retornar um 0
como o ID do evento resultante.
Esta variante da invocação especifica implicitamente todas as opções de evento padrão:
- o evento recebe o carimbo de data/hora com o horário atual no ponto da chamada;
- o evento for marcado como relacionado ao dispositivo que está fazendo a ligação;
- o evento é independente, não relacionado a outros eventos;
- o evento estiver marcado como não urgente,
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
event_id_t O ID do evento se o evento tiver sido gravado no registro. Caso contrário, será 0.
|
LogEvent
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 mais opções.
A função registra um evento representado como nl::Weave::TLV::TLVReader. Isso significa que a representação dos dados do evento já está serializada no armazenamento relacionado a nl::Weave::TLV::TLVReader. Espera-se que nl::Weave::TLV::TLVReader contenha pelo menos um único elemento de dados, que precisa ser uma estrutura. O primeiro elemento lido no leitor é tratado como dados de evento e armazenado no log de eventos. Os dados do evento PRECISAM conter tags de contexto para serem interpretadas dentro do esquema identificado por inProfileID e inEventType. A tag do primeiro elemento será ignorada; o sistema de log de eventos a substituirá pela tag eventData.
O evento é registrado se a importância dele exceder o limite de geração de registros especificado em LoggingConfiguration. Se a importância do evento não atingir o limite atual, ela será descartada e a função vai 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
:
- carimbo de data/hora, quando 0 é o padrão para a hora atual no ponto da chamada
- seção "raiz" da fonte de eventos (origem do evento e ID da característica). Se for NULL, o padrão será 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 tiver sido gravado no registro. Caso contrário, será 0.
|
LogEvent
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 inEventWriter
com uma referência nl::Weave::TLV::TLVWriter e um contexto inAppData
, para que o código do usuário emita os dados do evento diretamente no log de eventos. Essa forma de log 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 interpretadas dentro do esquema identificado por inProfileID
e inEventType
. A tag do primeiro elemento será ignorada; o sistema de log de eventos a substituirá pela tag eventData.
O evento é registrado se a importância dele exceder o limite de geração de registros especificado em LoggingConfiguration. Se a importância do evento não atingir o limite atual, ela será descartada e a função vai retornar um 0
como o ID do evento resultante.
Esta variante da invocação especifica implicitamente todas as opções de evento padrão:
- o evento recebe o carimbo de data/hora com o horário atual no ponto da chamada;
- o evento for marcado como relacionado ao dispositivo que está fazendo a ligação;
- o evento é independente, não relacionado a outros eventos;
- o evento estiver marcado como não urgente,
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retorna |
event_id_t O ID do evento se o evento tiver sido gravado no registro. Caso contrário, será 0.
|
LogEvent
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 inEventWriter
com uma referência nl::Weave::TLV::TLVWriter e um contexto inAppData
, para que o código do usuário emita os dados do evento diretamente no log de eventos. Essa forma de log 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 interpretadas dentro do esquema identificado por inProfileID
e inEventType
. A tag do primeiro elemento será ignorada; o sistema de log de eventos a substituirá pela tag eventData.
O evento é registrado se a importância dele exceder o limite de geração de registros especificado em LoggingConfiguration. Se a importância do evento não atingir o limite atual, ela será descartada e a função vai 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
:
- carimbo de data/hora, quando 0 é o padrão para a hora atual no ponto da chamada
- seção "raiz" da fonte de eventos (origem do evento e ID da característica). Se for NULL, o padrão será 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 tiver sido gravado no registro. Caso contrário, será 0.
|
LogFreeform
event_id_t LogFreeform( ImportanceType inImportance, const char *inFormat, ... )
A LogFreeform emite uma string de formato livre para o fluxo de eventos padrão.
A string será encapsulada em uma estrutura de eventos de depuração, estruturalmente idêntica a outras strings registradas. O ID do perfil do evento será o 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 tiver sido 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 de formato livre como um evento de depuração.
O evento de depuração é uma estrutura com uma região de registro e um texto de formato 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 de formato livre como um evento de depuração.
O evento de depuração é uma estrutura com uma região de registro e um texto de formato livre.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|