нл:: Переплетение:: Профили:: DataManagement_Current
Это пространство имен включает в себя все интерфейсы внутри Weave для профиля Weave Data Management (WDM), которые в настоящее время поддерживаются для производственного использования.
Краткое содержание
Определения типов | |
---|---|
CommandFlags | определение типа |
DataVersion | определение типаuint64_t |
EventProcessor | определение типаvoid * |
EventWriterFunct )(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData) | определение типаWEAVE_ERROR (* Функция, предоставляющая элемент eventData для подсистемы регистрации событий. |
FetchExternalEventsFunct )(EventLoadOutContext *aContext) | определение типаWEAVE_ERROR (* Прототип функции для обратных вызовов платформы, извлекающих данные о событиях. |
GenericTraitSinkCatalog | определение типа |
GenericTraitSourceCatalog | определение типа |
ImportanceType | определение типа Важность записи в журнале. |
IteratorCallback )(void *aTraitInstance, TraitDataHandle aHandle, void *aContext) | определение типаvoid(* Итератор дескриптора признака. |
LoggingBufferHandler )(void *inAppState, PacketBuffer *inBuffer) | определение типаWEAVE_ERROR (* |
NotifyExternalEventsDeliveredFunct )(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID) | определение типаvoid(* Прототип функции для обратного вызова, вызываемого при доставке внешних событий удаленному подписчику. |
NotifyExternalEventsEvictedFunct )(ExternalEvents *inEv) | определение типаvoid(* Прототип функции обратного вызова, вызываемого при удалении внешних событий из буферов. |
PropertyDictionaryKey | определение типаuint16_t |
PropertyPathHandle | определение типаuint32_t PropertyPathHandle — это уникальный 32-битный числовой хеш пути WDM относительно корня экземпляра признака. |
PropertySchemaHandle | определение типаuint16_t |
SchemaVersion | определение типаuint16_t |
SingleResourceSinkTraitCatalog | определение типа |
SingleResourceSourceTraitCatalog | определение типа |
TimestampType | определение типа Срок действия и тип метки времени, включенной в EventOptions . |
TraitDataHandle | определение типаuint16_t |
duration_t | nl::Weave::Profiles::DataManagement_Current::duration_tuint32_t Тип, используемый для описания продолжительности в миллисекундах. |
event_id_t | nl::Weave::Profiles::DataManagement_Current::event_id_tuint32_t Тип идентификатора события. |
timestamp_t | nl::Weave::Profiles::DataManagement_Current::timestamp_tuint32_t Тип, используемый для описания отметки времени в миллисекундах. |
utc_timestamp_t | nl::Weave::Profiles::DataManagement_Current::utc_timestamp_tuint64_t Тип, используемый для описания отметки времени UTC в миллисекундах. |
Переменные | |
---|---|
sInstance | |
sLogFileName = "topazlog"[] | char |
Функции | |
---|---|
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) | Вспомогательная функция, которая преобразует уже сериализованный элемент eventdata в буфер событий. |
GetPropertyDictionaryKey ( PropertyPathHandle aHandle) | PropertyDictionaryKey |
GetPropertySchemaHandle ( PropertyPathHandle aHandle) | PropertySchemaHandle |
IsNullPropertyPathHandle ( PropertyPathHandle aHandle) | bool |
IsRootPropertyPathHandle ( PropertyPathHandle aHandle) | bool |
IsVersionNewer (const DataVersion & aVersion, const DataVersion & aReference) | bool Это оптимизированная реализация алгоритма сравнения версий. |
IsVersionNewerOrEqual (const DataVersion & aVersion, const DataVersion & aReference) | bool |
Locate (TraitDataHandle aTraitDataHandle, const TraitCatalogBase < TraitDataSink > *aDataSinkCatalog) | Служебная функция, которая находит TraitUpdatableDataSink в каталоге TraitDataSink . |
LogEvent (const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData) | Зарегистрируйте событие из предварительно сериализованной формы. |
LogEvent (const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions) | Зарегистрируйте событие из предварительно сериализованной формы с дополнительными параметрами. |
LogEvent (const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData) | Зарегистрируйте событие с помощью обратного вызова. |
LogEvent (const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions) | Зарегистрируйте событие с помощью обратного вызова с опциями. |
LogFreeform ( ImportanceType inImportance, const char *inFormat, ...) | LogFreeform передает строку произвольной формы в поток событий по умолчанию. |
LookForElementWithTag (const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader) | |
PlainTextWriter ( TLVWriter & ioWriter, uint8_t inDataTag, void *appData) | Вспомогательная функция для вывода текста произвольной формы в качестве события отладки. |
PlainTextWriter (:: nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData) | Вспомогательная функция для вывода текста произвольной формы в качестве события отладки. |
operator!= (const ResourceIdentifier & lhs, const ResourceIdentifier & rhs) | bool |
operator== (const ResourceIdentifier & lhs, const ResourceIdentifier & rhs) | bool |
Союзы | |
---|---|
nl:: Weave:: Profiles:: DataManagement_Current:: Timestamp | Объединение, предоставляющее систему набора приложений или временную метку UTC. |
Перечисления
@100
@100
@101
@101
@102
@102
Теги для сохраняющихся событий.
@104
@104
Типы сообщений профиля WDM.
Эти значения указаны в спецификации управления данными.
@105
@105
Коды состояния, специфичные для WDM.
@147
@147
@95
@95
Теги настроек журналирования .
@96
@96
Теги для возможностей ведения журнала.
@97
@97
Теги для метаданных событий.
Полную семантику значений тегов см. в Спецификации дизайна событий.
Характеристики | |
---|---|
kTag_EventData | Необязательный. Сами данные о событии. Если оно пусто, по умолчанию используется пустая структура. |
kTag_EventDeltaSystemTime | Внутренний тег WDM, разница во времени с предыдущим событием в кодировке. |
kTag_EventDeltaUTCTime | Внутренний тег WDM, разница во времени с предыдущим событием в кодировке. |
kTag_EventID | Порядковый номер события, выраженный как 64-битная беззнаковая величина. Должны быть последовательными, скачки в последовательности указывают на разрывы событий. |
kTag_EventImportance | Важность мероприятия. |
kTag_EventResourceID | Необязательный. Значением является идентификатор ресурса, к которому относится событие. Если этот параметр опущен, значение совпадает со значением kTag_EventSource. |
kTag_EventSource | NodeID устройства, сгенерировавшего событие. |
kTag_EventSystemTimestamp | Необязательный. Системная временная метка события в миллисекундах. |
kTag_EventTraitInstanceID | Необязательно, экземпляр признака, сгенерировавшего событие. |
kTag_EventTraitProfileID | Обязательный. 32-битное целое число без знака, равное ProfileID признака. |
kTag_EventType | Обязательный. 16-битное целое число без знака, равное wdl.event.id для этого типа события. |
kTag_EventUTCTimestamp | Необязательный. Временная метка события в формате UTC в миллисекундах. |
kTag_ExternalEventStructure | Внутренний тег для внешних событий. Никогда не передается по сети и никогда не должен использоваться за пределами библиотеки Weave. |
kTag_RelatedEventID | Необязательный. Идентификатор события, с которым связано это событие. Если этот параметр опущен, значение равно значению kTag_EventID. |
kTag_RelatedEventImportance | Необязательный. Важность соответствующего события. Если этот параметр опущен, значение равно значению kTag_EventImportance. |
@98
@98
Определения профиля для признака отладки.
@99
@99
Типы событий для особенности Nest Debug.
Командные флаги
CommandFlags
Тип важности
ImportanceType
Важность записи в журнале.
Важность используется как способ фильтрации событий до того, как они будут фактически занесены в журнал. После того как событие занесено в журнал, мы не предпринимаем никаких дополнительных мер по его удалению из журнала. Уровень важности служит для определения приоритета хранения событий. Если событие высокой важности добавляется в полный буфер, события удаляются в порядке важности (и возраста), чтобы разместить его. Таким образом, уровни важности имеют лишь относительную ценность. Если система использует только один уровень важности, события отбрасываются только в порядке возраста, как в кольцевом буфере.
Состояния управления журналированием
LoggingManagementStates
Определения типов
Командные флаги
enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags
Версия данных
uint64_t DataVersion
Событийный процессор
void * EventProcessor
СобытиеПисательФункция
WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
Функция, предоставляющая элемент eventData для подсистемы регистрации событий.
Ожидается, что функции этого типа будут предоставлять элемент eventData для подсистемы регистрации событий. Функции этого типа вызываются после того, как подсистема событий сгенерировала все необходимые метаданные события. Функция вызывается с объектом nl::Weave::TLV::TLVWriter, в который она будет передавать один элемент TLV с тегом kTag_EventData; значение этого элемента ДОЛЖНО быть структурой, содержащей данные о событии. Сами данные о событии должны быть структурированы с использованием контекстных тегов.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
PlainTextWriter
EventWriterTLVCopy
Функция FetchExternalEventsFunct
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
Прототип функции для обратных вызовов платформы, извлекающих данные о событиях.
Подобно FetchEventsSince, эта функция выборки возвращает все события от EventLoadOutContext.mStartingEventID до ExternalEvents.mLastEventID .
Указатель контекста имеет тип FetchExternalEventsContext. Сюда входит EventLoadOutContext с некоторыми вспомогательными переменными для формата TLV . Он также включает указатель на структуру ExternalEvents , созданную при регистрации обратного вызова. Это указывает диапазон идентификаторов событий для обратного вызова.
При возврате из функции EventLoadOutContext.mCurrentEventID должен отражать первый идентификатор события, который не был успешно записан в буфер TLV . Платформа должна записать заголовок события и данные в модуль записи TLV в правильном формате, указанном протоколом EventLogging. Платформа также должна поддерживать уникальность событий и временных меток.
Все ошибки TLV должны распространяться на более высокие уровни. Например, нехватка места в буфере вызовет отправку сообщения, за которым последует еще один вызов обратного вызова с тем идентификатором события, который останется.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Возвращаемые значения |
|
GenericTraitSinkCatalog
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
GenericTraitSourceКаталог
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
Тип важности
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
Важность записи в журнале.
Важность используется как способ фильтрации событий до того, как они будут фактически занесены в журнал. После того как событие занесено в журнал, мы не предпринимаем никаких дополнительных мер по его удалению из журнала. Уровень важности служит для определения приоритета хранения событий. Если событие высокой важности добавляется в полный буфер, события удаляются в порядке важности (и возраста), чтобы разместить его. Таким образом, уровни важности имеют лишь относительную ценность. Если система использует только один уровень важности, события отбрасываются только в порядке возраста, как в кольцевом буфере.
ИтераторОбратный вызов
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
Итератор дескриптора признака.
ЖурналированиеBufferHandler
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
NotifyExternalEventsDeliveredFunct
void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
Прототип функции для обратного вызова, вызываемого при доставке внешних событий удаленному подписчику.
Когда внешние события доставляются удаленному подписчику, механизм отправляет уведомление поставщику внешних событий. Обратный вызов содержит событие с последним доставленным идентификатором и идентификатор подписчика, получившего событие.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
УведомитьExternalEventsEvictedFunct
void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
Прототип функции обратного вызова, вызываемого при удалении внешних событий из буферов.
Когда объект внешних событий удаляется из буфера исходящих сообщений, механизм отправляет уведомление внешнему поставщику событий. Обратный вызов содержит внешнее событие, которое необходимо вытеснить.
Подробности | |||
---|---|---|---|
Параметры |
|
PropertyDictionaryKey
uint16_t PropertyDictionaryKey
PropertyPathHandle
uint32_t PropertyPathHandle
PropertyPathHandle — это уникальный 32-битный числовой хеш пути WDM относительно корня экземпляра признака.
Он состоит из двух частей:
- Младшее 16-битное число, соответствующее статической части схемы.
- Там, где нижние 16 бит относятся к пути внутри элемента словаря, присутствует верхнее 16-битное число, которое представляет ключ словаря, связанный с этим элементом. Если нижние 16 бит относятся к элементу, не являющемуся словарем, то старшие 16 бит должны быть равны 0.
Некоторые характеристики:
- У каждого типажа есть свое собственное пространство для дескрипторов пути к свойствам.
- Каждый уникальный путь подпути WDM будет иметь аналогичный уникальный PropertyPathHandle.
- PropertyPathHandles автоматически генерируются (на данный момент вручную) компилятором типажей из IDL и представлены в виде перечисляемого списка в заголовочном файле соответствующего типажа.
- Благодаря этой конструкции логике приложения никогда не приходится напрямую иметь дело с путями WDM. Скорее, их взаимодействие с WDM осуществляется исключительно через эти дескрипторы.
- Существует два зарезервированных значения для дескрипторов пути, которые имеют конкретное значение:
- 0 указывает на дескриптор NULL.
- 1 указывает на дескриптор, указывающий на корень экземпляра признака.
PropertySchemaHandle
uint16_t PropertySchemaHandle
СхемаВерсия
uint16_t SchemaVersion
SingleResourceSinkTraitCatalog
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
SingleResourceSourceTraitCatalog
SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog
Тип метки времени
enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType
Срок действия и тип метки времени, включенной в EventOptions .
TraitDataHandle
uint16_t TraitDataHandle
продолжительность_t
uint32_t duration_t
Тип, используемый для описания продолжительности в миллисекундах.
event_id_t
uint32_t event_id_t
Тип идентификатора события.
временная метка_t
uint32_t timestamp_t
Тип, используемый для описания отметки времени в миллисекундах.
utc_timestamp_t
uint64_t utc_timestamp_t
Тип, используемый для описания отметки времени UTC в миллисекундах.
Переменные
Экземпляр
LoggingManagement sInstance
имя_файла_лога
char sLogFileName[] = "topazlog"
Функции
Бдксеррорхандлер
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 )
Бдксксфереррорхандлер
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 )
Вспомогательная функция, которая преобразует уже сериализованный элемент eventdata в буфер событий.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
GetPropertyDictionaryKey
PropertyDictionaryKey GetPropertyDictionaryKey( PropertyPathHandle aHandle )
GetPropertySchemaHandle
PropertySchemaHandle GetPropertySchemaHandle( PropertyPathHandle aHandle )
IsNullPropertyPathHandle
bool IsNullPropertyPathHandle( PropertyPathHandle aHandle )
IsRootPropertyPathHandle
bool IsRootPropertyPathHandle( PropertyPathHandle aHandle )
IsVersionНовый
bool IsVersionNewer( const DataVersion & aVersion, const DataVersion & aReference )
Это оптимизированная реализация алгоритма сравнения версий.
На стороне клиента версия, полученная от сервиса, всегда является самой последней.
IsVersionNewerOrEqual
bool IsVersionNewerOrEqual( const DataVersion & aVersion, const DataVersion & aReference )
Найдите
TraitUpdatableDataSink * Locate( TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog )
Служебная функция, которая находит TraitUpdatableDataSink в каталоге TraitDataSink .
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | Указатель на TraitUpdatableDataSink ; NULL, если дескриптор не существует или указывает на необновляемый TraitDataSink . |
ЖурналСобытие
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData )
Зарегистрируйте событие из предварительно сериализованной формы.
Функция регистрирует событие, представленное как nl::Weave::TLV::TLVReader . Это означает, что представление данных о событии уже сериализовано в хранилище, лежащем в основе nl::Weave::TLV::TLVReader . Ожидается , что nl::Weave::TLV::TLVReader будет содержать как минимум один элемент данных, этот элемент должен быть структурой. Первый элемент, считанный из считывателя, рассматривается как данные события и сохраняется в журнале событий. Данные о событии ДОЛЖНЫ содержать теги контекста для интерпретации в рамках схемы, идентифицируемой inProfileID и inEventType. Тег первого элемента будет игнорироваться; система регистрации событий заменит его тегом eventData.
Событие регистрируется, если его inImportance превышает порог регистрации, указанный в LoggingConfiguration . Если важность события не соответствует текущему порогу, оно отбрасывается, и функция возвращает 0
в качестве идентификатора результирующего события.
Этот вариант вызова неявно определяет все параметры событий по умолчанию:
- событие имеет временную метку с текущим временем в момент вызова,
- событие помечается как относящееся к устройству, с которого осуществляется вызов,
- событие является самостоятельным, не связанным с другими событиями,
- событие помечено как несрочное,
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | event_id_t Идентификатор события, если событие было записано в журнал, в противном случае — 0. |
ЖурналСобытие
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions )
Зарегистрируйте событие из предварительно сериализованной формы с дополнительными параметрами.
Функция регистрирует событие, представленное как nl::Weave::TLV::TLVReader . Это означает, что представление данных о событии уже сериализовано в хранилище, лежащем в основе nl::Weave::TLV::TLVReader . Ожидается , что nl::Weave::TLV::TLVReader будет содержать как минимум один элемент данных, этот элемент должен быть структурой. Первый элемент, считанный из считывателя, рассматривается как данные события и сохраняется в журнале событий. Данные о событии ДОЛЖНЫ содержать теги контекста для интерпретации в рамках схемы, идентифицируемой inProfileID и inEventType. Тег первого элемента будет игнорироваться; система регистрации событий заменит его тегом eventData.
Событие регистрируется, если его inImportance превышает порог регистрации, указанный в LoggingConfiguration . Если важность события не соответствует текущему порогу, оно отбрасывается, и функция возвращает 0
в качестве идентификатора результирующего события.
Этот вариант вызова позволяет вызывающей стороне установить любую комбинацию EventOptions
:
- временная метка, когда 0 по умолчанию соответствует текущему времени в момент вызова,
- «корневой» раздел источника событий (источник события и идентификатор признака); если NULL, по умолчанию используется текущее устройство. событие помечается как относящееся к устройству, с которого осуществляется вызов,
- связанный идентификатор события для группировки идентификаторов событий; когда идентификатор связанного события равен 0, событие помечается как не относящееся ни к каким другим событиям,
- срочность; по умолчанию несрочное.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возврат | event_id_t Идентификатор события, если событие было записано в журнал, в противном случае — 0. |
ЖурналСобытие
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData )
Зарегистрируйте событие с помощью обратного вызова.
Функция регистрирует событие, представленное как EventWriterFunct , и контекст appData
, специфичный для приложения. Функция записывает метаданные события и вызывает inEventWriter
со ссылкой на nl::Weave::TLV::TLVWriter и контекстом inAppData
, чтобы пользовательский код мог отправлять данные о событии непосредственно в журнал событий. Эта форма регистрации событий минимизирует потребление памяти, поскольку данные о событиях сериализуются непосредственно в целевой буфер. Данные о событии ДОЛЖНЫ содержать теги контекста, которые будут интерпретироваться в схеме, идентифицируемой inProfileID
и inEventType
. Тег первого элемента будет игнорироваться; система регистрации событий заменит его тегом eventData.
Событие регистрируется, если его inImportance превышает порог регистрации, указанный в LoggingConfiguration . Если важность события не соответствует текущему порогу, оно отбрасывается, и функция возвращает 0
в качестве идентификатора результирующего события.
Этот вариант вызова неявно определяет все параметры событий по умолчанию:
- событие имеет временную метку с текущим временем в момент вызова,
- событие помечается как относящееся к устройству, с которого осуществляется вызов,
- событие является самостоятельным, не связанным с другими событиями,
- событие помечено как несрочное,
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возврат | event_id_t Идентификатор события, если событие было записано в журнал, в противном случае — 0. |
ЖурналСобытие
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
Зарегистрируйте событие с помощью обратного вызова с опциями.
Функция регистрирует событие, представленное как EventWriterFunct , и контекст appData
, специфичный для приложения. Функция записывает метаданные события и вызывает inEventWriter
со ссылкой на nl::Weave::TLV::TLVWriter и контекстом inAppData
, чтобы пользовательский код мог отправлять данные о событии непосредственно в журнал событий. Эта форма регистрации событий минимизирует потребление памяти, поскольку данные о событиях сериализуются непосредственно в целевой буфер. Данные о событии ДОЛЖНЫ содержать теги контекста для интерпретации в схеме, идентифицируемой inProfileID
и inEventType
. Тег первого элемента будет игнорироваться; система регистрации событий заменит его тегом eventData.
Событие регистрируется, если его inImportance превышает порог регистрации, указанный в LoggingConfiguration . Если важность события не соответствует текущему порогу, оно отбрасывается, и функция возвращает 0
в качестве идентификатора результирующего события.
Этот вариант вызова позволяет вызывающей стороне установить любую комбинацию EventOptions
:
- временная метка, когда 0 по умолчанию соответствует текущему времени в момент вызова,
- «корневой» раздел источника событий (источник события и идентификатор признака); если NULL, по умолчанию используется текущее устройство. событие помечается как относящееся к устройству, с которого осуществляется вызов,
- связанный идентификатор события для группировки идентификаторов событий; когда идентификатор связанного события равен 0, событие помечается как не относящееся ни к каким другим событиям,
- срочность; по умолчанию несрочное.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||
Возврат | event_id_t Идентификатор события, если событие было записано в журнал, в противном случае — 0. |
ЖурналFreeform
event_id_t LogFreeform( ImportanceType inImportance, const char *inFormat, ... )
LogFreeform передает строку произвольной формы в поток событий по умолчанию.
Строка будет инкапсулирована в структуру событий отладки, структурно идентичную другим зарегистрированным строкам. Идентификатор профиля события будет идентификатором события Nest Debug, а тип события — kNestDebug_StringLogEntryEvent
.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | event_id_t Идентификатор события, если событие было записано в журнал, в противном случае — 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 )
Вспомогательная функция для вывода текста произвольной формы в качестве события отладки.
Событие отладки представляет собой структуру с областью журнала и текстом произвольной формы.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
PlainTextWriter
WEAVE_ERROR PlainTextWriter( ::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Вспомогательная функция для вывода текста произвольной формы в качестве события отладки.
Событие отладки представляет собой структуру с областью журнала и текстом произвольной формы.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
оператор!=
bool operator!=( const ResourceIdentifier & lhs, const ResourceIdentifier & rhs )
оператор==
bool operator==( const ResourceIdentifier & lhs, const ResourceIdentifier & rhs )