nl::Weave::Profiles::DataManagement_Current

Esse namespace inclui todas as interfaces do Weave para o perfil de gerenciamento de dados (WDM) do Weave que são compatíveis atualmente 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 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ções 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 o atributo 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 da 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 de traços.
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 despejados dos buffers.
PropertyDictionaryKey typedef
uint16_t
PropertyPathHandle typedef
uint32_t
Um PropertyPathHandle é um hash numérico exclusivo de 32 bits de um caminho WDM relativo à 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
O tipo de ID do 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

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 no buffer de evento.
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)
Registra um evento em 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)
Registra 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 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

Classes

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

Uma implementação da interface TraitCatalogBase fornecida pelo Weave 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 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 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 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

A LoggingConfiguration encapsula o componente configurável do subsistema Geração de registros 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 de 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 de esquema associadas a uma característica específica e fornece instalações para analisar e traduzir essas informações em um formato utilizável pelo maquinário 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 dicionário filho.

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 os payloads UpdateRequest e PartialUpdateRequest do WDM.

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

Estruturas

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

Buffer de evento interno, criado em torno de 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 completa da instância da característica.

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

Estrutura interna para transferência de eventos.

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

Estrutura para copiar listas de eventos na saída.

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

A estrutura que fornece opções para os diferentes campos de evento.

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

A estrutura que define um esquema para metadados de evento.

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

União

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 Command personalizado do WDM.

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

Definição de resposta de comando personalizado do WDM.

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

Definição do elemento de dados 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 caminho do WDM.

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

Definição da lista de caminhos 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 da 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

a 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 ao qual 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 eventos persistentes.

@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 atual de geração de registros, o valor é do tipo ImportanceType.

kTag_ImportanceExpiration

Horário, em segundos UTC, em que as configurações atuais de geração de registros elevadas 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 registro 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 para os níveis de registro mais altos.

Cada elemento na matriz tem um formato (perfil,caminho,geração de registros) para elevar seletivamente o registro de um subconjunto do sistema. A prioridade de geração de registros de perfil elevado só tem importância quando a prioridade de geração de registros excede a de currentImportance e está sujeita ao mesmo tempo de expiração 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 de registros em KB.

kTag_LoggingVolume

Um número inteiro não assinado de 32 bits que descreve o volume de registro esperado em kB/dia.

kTag_SupportedLogTransports

Uma matriz de mecanismos de transporte de registros compatíveis.

kTag_SupportsNonVolatileStorage

Um booleano que indica se o dispositivo é compatível com armazenamento de registros não voláteis.

kTag_SupportsPerTraitVerbosity

É um booleano que indica se o dispositivo é compatível com as configurações de nível de detalhes por característica.

kTag_SupportsStreaming

Um booleano que indica se o dispositivo é compatível com streaming de registros.

@97

 @97

Tags para metadados de evento.

Para conferir a semântica completa dos valores de tag, consulte a especificação de design de eventos.

Propriedades
kTag_EventData

Opcional. Dados do evento 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

A importância do evento.

kTag_EventResourceID

Opcional.

O valor é o ID do recurso a que o evento pertence. Quando omitido, o valor é o mesmo que o valor de kTag_EventSource

kTag_EventSource

ID do nó do dispositivo que gerou o evento.

kTag_EventSystemTimestamp

Opcional. Carimbo de data/hora do sistema do evento 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 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 em UTC do evento em milissegundos.

kTag_ExternalEventStructure

Tag interna para eventos externos. Nunca transmitidos pela rede. Nunca devem ser usados fora da biblioteca do Weave.

kTag_RelatedEventID

Opcional.

ID de um evento a que este evento está relacionado. Se omitido, o valor é igual ao valor de kTag_EventID.

kTag_RelatedEventImportance

Opcional.

A importância do evento relacionado. Se omitido, o valor será igual ao valor de kTag_EventImportance.

@98

 @98

Definições de perfil para a característica de depuração.

@99

 @99

Tipos de evento para o atributo Nest Debug.

Propriedades
kNestDebug_StringLogEntryEvent

Um evento para a mensagem de depuração da 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 tempo de ação é válido.

kCommandFlag_ExpiryTimeValid

Defina quando o prazo de validade será válido.

kCommandFlag_InitiationTimeValid

Definido 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 forma de filtrar eventos antes que eles sejam realmente emitidos no registro. Depois que o evento está no registro, não tomamos nenhuma outra medida para eliminá-lo do registro. 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. 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 em 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 contabilizados na largura de banda ou nos orçamentos de energia dos dispositivos restritos. Por isso, eles só podem ser usados por um período limitado nos sistemas de produção.

Info

A importância das informações indica entradas de registro que fornecem mais insights e diagnósticos ao 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 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 consideradas na largura de banda e na capacidade de memória, mas não na capacidade 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 importância de produção precisam ser consideradas 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 para a produção indica eventos cuja perda afetaria diretamente os recursos voltados para o cliente.

Os aplicativos podem usar a perda de eventos críticos para a produção para indicar falhas no sistema. Em dispositivos restritos, as entradas registradas com importância de produção crítica precisam ser consideradas no orçamento de energia e memória, já que é esperado que elas sejam sempre registradas e descarregadas do dispositivo.

LoggingManagementStates

 LoggingManagementStates
Propriedades
kLoggingManagementState_Holdoff

O descarregamento de log foi concluído. não reiniciamos o registro até que a espera expire.

kLoggingManagementState_Idle

Não há descarregamento de registros em andamento. O descarregamento de registros pode começar sem restrições.

kLoggingManagementState_InProgress

Descarregamento de log em andamento.

kLoggingManagementState_Shutdown

Incapaz 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.

As funções desse tipo devem fornecer o elemento eventData para o subsistema de geração de registros de eventos. As funções desse tipo são chamadas depois que o subsistema do evento gera todos os metadados necessários. A função é chamada com um objeto nl::Weave::TLV::TLVWriter que vai emitir um único elemento TLV marcado como kTag_EventData. o valor desse elemento PRECISA ser uma estrutura que contenha os dados do evento. Os dados do evento precisam ser estruturados com tags de contexto.

Detalhes
Parâmetros
[in,out] ioWriter
Uma referência ao objeto nl::Weave::TLV::TLVWriter a ser usado para a serialização dos dados de eventos.
[in] inDataTag
Uma tag de contexto para o TLV que estamos gravando.
[in] appData
Um ponteiro para um contexto específico de aplicativo.
Valores de retorno
WEAVE_NO_ERROR
Se a operação for bem-sucedida.
other
Um erro apropriado sinalizando ao autor da chamada que a serialização dos dados do evento não pôde ser concluída. Os erros de chamadas para o 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.
Confira também:
PlainTextWriter
EventWriterTLVCopy

FetchExternalEventsFunct

WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)

Um protótipo de função para callbacks da plataforma que buscam dados de eventos.

Semelhante a FetchEventsSince, 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. Ela também inclui um ponteiro para o struct ExternalEvents criado no registro do callback. Especifica o intervalo de IDs de evento para o callback.

Ao retornar da função, EventLoadOutContext.mCurrentEventID deve refletir o primeiro ID de evento que não foi gravado com sucesso no buffer TLV. A plataforma precisa gravar o cabeçalho e os dados dos eventos no gravador do TLV no formato correto, especificado pelo protocolo EventLogging. A plataforma também precisa manter eventos e carimbos de data/hora exclusivos.

Todos os erros TLV precisam ser propagados para níveis mais altos. Por exemplo, a falta de espaço no buffer aciona uma mensagem enviada, seguida de outra chamada ao callback com o ID de evento restante.

Detalhes
Valores de retorno
WEAVE_ERROR_NO_MEMORY
Se não houver espaço para escrever eventos.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se não houver espaço para escrever eventos.
WEAVE_NO_ERROR
Se a operação for bem-sucedida.
WEAVE_END_OF_TLV
Se a operação for bem-sucedida.

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 forma de filtrar eventos antes que eles sejam realmente emitidos no registro. Depois que o evento está no registro, não tomamos nenhuma outra medida para eliminá-lo do registro. 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. 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 em ordem de idade, como um buffer de anel.

IteratorCallback

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

Iterador do identificador de traços.

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 que foi entregue e o ID do assinante que o recebeu.

Detalhes
Parâmetros
[in] inEv
Objeto de eventos externos correspondente aos eventos entregues
[in] inLastDeliveredEventID
ID do último evento entregue ao assinante.
[in] inRecipientNodeID
ID do nó do Weave do destinatário

NotifyExternalEventsEvictedFunct

void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)

Um protótipo de função para um callback invocado quando eventos externos são despejados dos buffers.

Quando o objeto de eventos externos é removido do buffer de mensagens de saída, o mecanismo envia uma notificação para o 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 WDM relativo à raiz de uma instância de característica.

Ele tem duas partes:

  • Um número menor de 16 bits que mapeia para a parte estática do esquema.
  • Onde os 16 bits mais baixos se referem a um caminho dentro de um elemento de dicionário, há um número superior de 16 bits que representa a chave de dicionário associada a esse elemento. Se os 16 bits mais baixos se referirem a um elemento que não é de dicionário, os 16 bits superiores deverão ser 0.

Algumas características:

  • Cada característica tem o próprio espaço do identificador do caminho da propriedade.
  • Cada subcaminho do WDM exclusivo terá um PropertyPathHandle exclusivo semelhante.
  • PropertyPathHandles são gerados automaticamente (por enquanto, feito manualmente) por um compilador de características da IDL e são representados como uma lista enumerante 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. Em vez disso, as interações deles com o WDM são realizadas exclusivamente por esses identificadores.
  • Há dois valores reservados para identificadores de caminho com significados específicos:
    • 0 indica 'NULL' manivela
    • 1 indica um handle que aponta para a raiz da instância de 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

O tipo de ID do 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"

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
)

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 no buffer de evento.

Detalhes
Parâmetros
[in,out] ioWriter
O roteirista que 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 a operação for bem-sucedida.
other
Outros erros podem ser retornados do 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 a ser pesquisado.
[in] aDataSinkCatalog
Catálogo a ser pesquisado.
Retornos
Um ponteiro para o TraitUpdatableDataSink. NULL se o identificador não existir ou apontar para um TraitDataSink não atualizável.

LogEvent

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 significa que a representação dos dados do evento já está serializada no armazenamento subjacente 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 eventos 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 geração de registros de eventos a substituirá pela tag eventData.

O evento é registrado se a inimportância dele excede o limite de geração de registros especificado em LoggingConfiguration. Se a importância do evento não atingir o limite atual, ele será descartado e a função 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 a hora atual no ponto da chamada,
  • o evento será marcado como relacionado ao dispositivo que está fazendo a chamada;
  • o evento é independente, não relacionado a outros eventos;
  • o evento é 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 TLV que contém os dados do evento como o primeiro elemento.
Retornos
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
)

Registra um evento em um formulário pré-serializado, com opções adicionais.

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 subjacente 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 eventos 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 geração de registros de eventos a substituirá pela tag eventData.

O evento é registrado se a inimportância dele excede o limite de geração de registros especificado em LoggingConfiguration. Se a importância do evento não atingir o limite atual, ele será descartado e a função retornará um 0 como o ID do evento resultante.

Esta variante da invocação permite que o autor da chamada defina qualquer combinação de EventOptions:

  • carimbo de data/hora, quando 0 tem como padrão a hora atual no ponto da chamada,
  • “raiz” Seção da origem do evento (origem do evento e ID da característica). Se NULL, o padrão será o dispositivo atual. o evento será marcado como relacionado ao dispositivo que está fazendo a chamada;
  • um ID de evento relacionado para agrupar IDs de eventos; Quando o ID do evento relacionado é 0, ele é marcado como não relacionado a outros eventos.
  • urgência não urgentes por padrão.

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 TLV que contém os dados do evento como o primeiro elemento. Não pode ser NULL
[in] inOptions
As opções dos metadados de evento. Pode ser NULL.
Retornos
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 um 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 contexto inAppData para que o código do usuário possa emitir os dados do evento diretamente para o log de eventos. Essa forma de log de eventos minimiza o consumo de memória, uma vez 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 no esquema identificado por inProfileID e inEventType. A tag do primeiro elemento será ignorada. o sistema de geração de registros de eventos a substituirá pela tag eventData.

O evento é registrado se a inimportância dele excede o limite de geração de registros especificado em LoggingConfiguration. Se a importância do evento não atingir o limite atual, ele será descartado e a função 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 a hora atual no ponto da chamada,
  • o evento será marcado como relacionado ao dispositivo que está fazendo a chamada;
  • o evento é independente, não relacionado a outros eventos;
  • o evento é 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.
Retornos
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
)

Registra um evento usando um callback, com opções.

A função registra um evento representado como um 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 contexto inAppData para que o código do usuário possa emitir os dados do evento diretamente para o log de eventos. Essa forma de log de eventos minimiza o consumo de memória, uma vez 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 no esquema identificado por inProfileID e inEventType. A tag do primeiro elemento será ignorada. o sistema de geração de registros de eventos a substituirá pela tag eventData.

O evento é registrado se a inimportância dele excede o limite de geração de registros especificado em LoggingConfiguration. Se a importância do evento não atingir o limite atual, ele será descartado e a função retornará um 0 como o ID do evento resultante.

Esta variante da invocação permite que o autor da chamada defina qualquer combinação de EventOptions:

  • carimbo de data/hora, quando 0 tem como padrão a hora atual no ponto da chamada,
  • “raiz” Seção da origem do evento (origem do evento e ID da característica). Se NULL, o padrão será o dispositivo atual. o evento será marcado como relacionado ao dispositivo que está fazendo a chamada;
  • um ID de evento relacionado para agrupar IDs de eventos; Quando o ID do evento relacionado é 0, ele é marcado como não relacionado a outros eventos.
  • urgência não urgentes por padrão.

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 de evento. Pode ser NULL.
Retornos
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,
  ...
)

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 vai ser o de um evento do Nest Debug, e o tipo de evento vai 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á registrado
[in] inFormat
String de formato compatível com printf, seguida de argumentos a serem formatados
Retornos
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 roteirista que será usado para escrever o evento
[in] appData
Um ponteiro para 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 gravando. Não usado aqui, mas exigido pelo typedef para EventWriterFunct.
Valores de retorno
WEAVE_NO_ERROR
Se a operação for bem-sucedida.
other
Outros erros podem ser retornados do 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 roteirista que será usado para escrever o evento
[in] inDataTag
A tag a ser emitida
[in] appData
Um ponteiro para DebugLogContext, uma estrutura que contém um formato de string, argumentos e uma região de registro.
Valores de retorno
WEAVE_NO_ERROR
Se a operação for bem-sucedida.
other
Outros erros que podem ser retornados do ioWriter.

operator!=

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

operador==

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