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

Enumerações

@100{
  kTag_Region = 1,
  kTag_Message = 2
}
enum
Tags para o kNestDebug_StringLogEntryEvent.
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
enum
Tags para o kNestDebug_TokenizedLogEntryEvent.
@102 enum
Tags para eventos persistentes.
@104 enum
Os tipos de mensagem do perfil do WDM.
@105 enum
Códigos de status específicos do WDM.
@147 enum
@95{
  kTag_CurrentImportance = 1,
  kTag_ImportanceExpiration,
  kTag_MinimumLogUploadInterval,
  kTag_MaximumLogUploadInterval,
  kTag_LoggingDestination,
  kTag_TraitLoggingImportance
}
enum
Tags de configuração do Logging.
@96{
  kTag_SupportedLogTransports = 1,
  kTag_SupportsStreaming = 2,
  kTag_SupportsNonVolatileStorage = 3,
  kTag_SupportsPerTraitVerbosity = 4,
  kTag_LoggingVolume = 5,
  kTag_LogBufferingCapacity = 6
}
enum
Tags para recursos de geração de registros.
@97{
  kTag_EventSource = 1,
  kTag_EventImportance = 2,
  kTag_EventID = 3,
  kTag_RelatedEventImportance = 10,
  kTag_RelatedEventID = 11,
  kTag_EventUTCTimestamp = 12,
  kTag_EventSystemTimestamp = 13,
  kTag_EventResourceID = 14,
  kTag_EventTraitProfileID = 15,
  kTag_EventTraitInstanceID = 16,
  kTag_EventType = 17,
  kTag_EventDeltaUTCTime = 30,
  kTag_EventDeltaSystemTime = 31,
  kTag_EventData = 50,
  kTag_ExternalEventStructure = 99
}
enum
Tags para metadados de evento.
@98 enum
Definições de perfil para a característica de depuração.
@99{
  kNestDebug_StringLogEntryEvent = 1,
  kNestDebug_TokenizedLogEntryEvent = 2,
  kNestDebug_TokenizedHeaderEntryEvent = 3
}
enum
Tipos de evento para a característica do Nest Debug.
CommandFlags{
  kCommandFlag_MustBeVersionValid = 0x0001,
  kCommandFlag_InitiationTimeValid = 0x0002,
  kCommandFlag_ActionTimeValid = 0x0004,
  kCommandFlag_ExpiryTimeValid = 0x0008,
  kCommandFlag_IsOneWay = 0x0010
}
enum
ImportanceType{
  ProductionCritical = 1,
  Production,
  Info,
  Debug
}
enum
A importância da entrada de registro.
LoggingManagementStates{
  kLoggingManagementState_Idle = 1,
  kLoggingManagementState_InProgress = 2,
  kLoggingManagementState_Holdoff = 3,
  kLoggingManagementState_Shutdown = 4
}
enum
TimestampType enum
A validade e o tipo de carimbo de data/hora incluídos em EventOptions.

Typedefs

CommandFlags typedef
DataVersion typedef
uint64_t
EventProcessor typedef
void *
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) typedef
void(*
Iterador do identificador da característica.
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer) typedef
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID) typedef
void(*
Um protótipo de função para um callback invocado quando eventos externos são entregues ao assinante remoto.
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv) typedef
void(*
Um protótipo de função para um callback invocado quando eventos externos são removidos dos buffers.
PropertyDictionaryKey typedef
uint16_t
PropertyPathHandle typedef
uint32_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 typedef
uint16_t
SchemaVersion typedef
uint16_t
SingleResourceSinkTraitCatalog typedef
SingleResourceSourceTraitCatalog typedef
TimestampType typedef
A validade e o tipo de carimbo de data/hora incluídos em EventOptions.
TraitDataHandle typedef
uint16_t
duration_t nl::Weave::Profiles::DataManagement_Current::duration_t
uint32_t
Tipo usado para descrever a duração, em milissegundos.
event_id_t nl::Weave::Profiles::DataManagement_Current::event_id_t
uint32_t
Tipo de ID de evento.
timestamp_t nl::Weave::Profiles::DataManagement_Current::timestamp_t
uint32_t
Tipo usado para descrever o carimbo de data/hora em milissegundos.
utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::utc_timestamp_t
uint64_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

Aulas

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

Classe de base para codificadores de mensagens WDM.

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

Um TLVReader apoiado por CircularEventBuffer.

nl::Weave::Profiles::DataManagement_Current::Command
nl::Weave::Profiles::DataManagement_Current::CommandSender
nl::Weave::Profiles::DataManagement_Current::GenericTraitCatalogImpl

Um Weave ofereceu implementação da interface TraitCatalogBase para uma coleção de instâncias de dados de características que se referem ao mesmo recurso.

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

Interface que deve ser implementada por um processador de elementos de dados em um notifyRequest.

nl::Weave::Profiles::DataManagement_Current::IDirtyPathCut
nl::Weave::Profiles::DataManagement_Current::IPathFilter
nl::Weave::Profiles::DataManagement_Current::IWeavePublisherLock

Interface que será implementada pelo app para serializar o acesso às principais estruturas de dados do WDM.

nl::Weave::Profiles::DataManagement_Current::IWeaveWDMMutex

Interface de um objeto mutex.

nl::Weave::Profiles::DataManagement_Current::ListBuilderBase

Classe de base para codificadores de mensagens WDM, especializada em elementos de matriz TLV, como listas de dados e de versões.

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

Classe de base para analisadores de mensagens do WDM, especializada em elementos de matriz TLV, como listas de dados e de versões.

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

O LoggingConfiguration encapsula o componente configurável do subsistema Logging de eventos do Weave.

nl::Weave::Profiles::DataManagement_Current::LoggingManagement

Uma classe para gerenciar os logs de eventos na memória.

nl::Weave::Profiles::DataManagement_Current::NotificationEngine
nl::Weave::Profiles::DataManagement_Current::ParserBase

Classe base para analisadores de mensagens WDM.

nl::Weave::Profiles::DataManagement_Current::ResourceIdentifier

Uma estrutura que encapsula o ID de um recurso.

nl::Weave::Profiles::DataManagement_Current::SingleResourceTraitCatalog
nl::Weave::Profiles::DataManagement_Current::SubscriptionClient
nl::Weave::Profiles::DataManagement_Current::SubscriptionEngine

Este é um Singleton que hospeda todas as assinaturas do WDM Next, do lado do cliente e do editor.

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler
nl::Weave::Profiles::DataManagement_Current::TraitCatalogBase
nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitDataSource
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine

O mecanismo de esquema recebe informações associadas a uma característica específica e fornece instalações para analisar e traduzir isso em um formulário que possa ser utilizado pelo mecanismo WDM.

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

Classe de utilitário para colocar o dicionário de volta na fila pendente ao processar o caminho da propriedade que tem o filho do dicionário.

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

Classe de utilitário para filtrar o caminho ao processar a notificação.

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

Esse objeto codifica payloads UpdateRequest e PartialUpdateRequest do WDM.

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

Estruturas

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

Buffer de evento interno, criado com base em nl::Weave::TLV::WeaveCircularTLVBuffer.

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

Estrutura interna para percorrer a lista de eventos.

nl::Weave::Profiles::DataManagement_Current::DebugLogContext
nl::Weave::Profiles::DataManagement_Current::DetailedRootSection

A estrutura que fornece uma resolução total da instância da característica.

nl::Weave::Profiles::DataManagement_Current::EventEnvelopeContext

Estrutura interna para atravessar eventos.

nl::Weave::Profiles::DataManagement_Current::EventLoadOutContext

Estrutura para copiar listas de eventos na saída.

nl::Weave::Profiles::DataManagement_Current::EventOptions

Estrutura que oferece opções para os diferentes campos de evento.

nl::Weave::Profiles::DataManagement_Current::EventSchema

A estrutura que define um esquema para metadados de eventos.

nl::Weave::Profiles::DataManagement_Current::ExternalEvents

Estrutura para rastrear eventos armazenados na plataforma.

nl::Weave::Profiles::DataManagement_Current::LogStorageResources

Uma classe auxiliar usada na inicialização do gerenciamento de registros.

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

Sindicatos

nl::Weave::Profiles::DataManagement_Current::Timestamp

A união que fornece um sistema de conjunto de aplicativos ou carimbo de data/hora UTC.

Namespaces

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

Definição de Command personalizado do WDM.

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

Definição da resposta Command personalizada do WDM.

nl::Weave::Profiles::DataManagement_Current::DataElement

Definição do elemento de dados do WDM.

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

Definição de Path do WDM.

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

Definição da lista de caminho do WDM.

nl::Weave::Profiles::DataManagement_Current::Platform
nl::Weave::Profiles::DataManagement_Current::RejectionRecord
nl::Weave::Profiles::DataManagement_Current::RejectionRecordList
nl::Weave::Profiles::DataManagement_Current::StatusElement

Definição do elemento de status do WDM.

nl::Weave::Profiles::DataManagement_Current::StatusList
nl::Weave::Profiles::DataManagement_Current::SubscribeCancelRequest
nl::Weave::Profiles::DataManagement_Current::SubscribeConfirmRequest
nl::Weave::Profiles::DataManagement_Current::SubscribeRequest
nl::Weave::Profiles::DataManagement_Current::SubscribeResponse
nl::Weave::Profiles::DataManagement_Current::UpdateRequest

Definição de solicitação de atualização do WDM.

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

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.

TimestampType

 TimestampType

A validade e o tipo de carimbo de data/hora incluídos em EventOptions.

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
[in,out] ioWriter
Uma referência ao objeto nl::Weave::TLV::TLVWriter a ser usado para serialização de dados de eventos.
[in] inDataTag
Uma tag de contexto para o TLV que estamos escrevendo.
[in] appData
Um ponteiro para um contexto específico do aplicativo.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
other
Um erro adequado que sinaliza ao autor da chamada que a serialização dos dados de eventos não pôde ser concluída. Os erros de chamadas para ioWriter devem ser propagados sem remapeamento. Se a função retornar qualquer tipo de erro, a geração do evento será cancelada e o evento não será gravado no registro.
Consulte também:
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
WEAVE_ERROR_NO_MEMORY
Se não houver espaço para gravar eventos.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se não houver espaço para gravar eventos.
WEAVE_NO_ERROR
Se der certo.
WEAVE_END_OF_TLV
Se der certo.

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
[in] inEv
Objeto de eventos externos correspondente a eventos entregues
[in] inLastDeliveredEventID
ID do último evento entregue ao assinante.
[in] inRecipientNodeID
Entrelaçar o ID do nó do destinatário

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
[in] inEv
Objeto de eventos externos a ser removido

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
[in,out] ioWriter
O escritor a ser usado para escrever o evento
[in] inDataTag
Uma tag de contexto para o TLV que estamos copiando. Não usado aqui, mas exigido pelo typedef para EventWriterFunct.
[in] appData
Um ponteiro para o TLVReader que contém dados de eventos serializados.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
other
Outros erros que podem ser retornados de ioWriter.

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
[in] aTraitDataHandle
Identificador do coletor para pesquisa.
[in] aDataSinkCatalog
Catálogo a ser pesquisado.
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
[in] inSchema
Esquema que define a importância, o ID do perfil e o tipo de estrutura desse evento.
[in] inData
O leitor de TLV que contém os dados do evento como o primeiro elemento.
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
[in] inSchema
Esquema que define a importância, o ID do perfil e o tipo de estrutura desse evento.
[in] inData
O leitor de TLV que contém os dados do evento como o primeiro elemento. Não pode ser NULL
[in] inOptions
As opções dos metadados do evento. Pode ser NULL.
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
[in] inSchema
Esquema que define a importância, o ID do perfil e o tipo de estrutura desse evento.
[in] inEventWriter
O callback a ser invocado para serializar os dados do evento
[in] inAppData
Contexto do aplicativo para o callback.
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
[in] inSchema
Esquema que define a importância, o ID do perfil e o tipo de estrutura desse evento.
[in] inEventWriter
O callback a ser invocado para serializar os dados do evento
[in] inAppData
Contexto do aplicativo para o callback.
[in] inOptions
As opções dos metadados do evento. Pode ser NULL.
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
[in] inImportance
Importância da entrada de registro: se a importância estiver abaixo da importância atual, o evento não será realmente registrado
[in] inFormat
String de formato compatível com printf, seguida de argumentos a serem formatados
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
[in,out] ioWriter
O escritor a ser usado para escrever o evento
[in] appData
Um ponteiro para o DebugLogContext, uma estrutura que contém um formato de string, argumentos e uma região de registro.
[in] inDataTag
Uma tag de contexto para o TLV que estamos escrevendo. Não usado aqui, mas exigido pelo typedef para EventWriterFunct.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
other
Outros erros que podem ser retornados de ioWriter.

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
[in,out] ioWriter
O escritor a ser usado para escrever o evento
[in] inDataTag
A tag a ser emitida
[in] appData
Um ponteiro para o DebugLogContext, uma estrutura que contém um formato de string, argumentos e uma região de registro.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
other
Outros erros que podem ser retornados de ioWriter.

operador!=

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

operador==

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