nl:: 編織:: 設定檔: DataManagement_Current
這個命名空間包含 Weave 的所有 Weave Data Management (WDM) 設定檔介面,且該介面目前支援實際工作環境使用。
摘要
Typedefs |
|
---|---|
CommandFlags
|
typedef |
DataVersion
|
typedefuint64_t
|
EventProcessor
|
typedefvoid *
|
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
|
typedef 為事件記錄子系統提供 eventData 元素的函式。 |
FetchExternalEventsFunct)(EventLoadOutContext *aContext)
|
typedef 用於擷取事件資料的平台回呼函式原型。 |
GenericTraitSinkCatalog
|
typedef |
GenericTraitSourceCatalog
|
typedef |
ImportanceType
|
typedef 記錄項目的重要性。 |
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
|
typedefvoid(*
Trait 處理疊代器。 |
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
|
typedef |
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
|
typedefvoid(*
將外部事件傳送至遠端訂閱者時,為回呼叫用的函式原型。 |
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
|
typedefvoid(*
從緩衝區中移除外部事件時,針對回呼叫用的函式原型。 |
PropertyDictionaryKey
|
typedefuint16_t
|
PropertyPathHandle
|
typedefuint32_t
PropertyPathHandling 是 3DM 位元不重複雜湊的相對 WDM 路徑雜湊值。 |
PropertySchemaHandle
|
typedefuint16_t
|
SchemaVersion
|
typedefuint16_t
|
SingleResourceSinkTraitCatalog
|
typedef |
SingleResourceSourceTraitCatalog
|
typedef |
TimestampType
|
typedef EventOptions 中包含的時間戳記有效性與類型。 |
TraitDataHandle
|
typedefuint16_t
|
duration_t
|
nl::Weave::Profiles::DataManagement_Current::duration_tuint32_t
用於表示持續時間的類型,以毫秒為單位。 |
event_id_t
|
nl::編織::設定檔::資料管理_目前::活動_ID_tuint32_t
事件 ID 的類型。 |
timestamp_t
|
nl::編織::設定檔::資料管理_目前::時間戳記_tuint32_t
用於描述時間戳記的類型 (以毫秒為單位)。 |
utc_timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::utc_timestamp_tuint64_t
用於說明世界標準時間時間戳記的類型,以毫秒為單位。 |
變數 |
|
---|---|
sInstance
|
|
sLogFileName = "topazlog"[]
|
char
|
Functions |
|
---|---|
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)
|
輔助函式,可將已序列化的事件資料元素轉譯至事件緩衝區。
|
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)
|
公用程式函式,會在 TraitDataSink 目錄中找到 TraitUpdatableDataSink。
|
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:: |
提供應用程式組系統或世界標準時間時間戳記的聯集。 |
列舉
@100
@100
kNestDebug_StringLogEntryEvent 的標記。
屬性 | |
---|---|
kTag_Message
|
包含實際偵錯訊息的字串。 |
kTag_Region
|
32 位元的符號不正負號,表示記錄區域,也就是與記錄訊息相關的模組。 |
@101
@101
kNestDebug_TokenizedLogEntryEvent 的標記。
屬性 | |
---|---|
kTag_Args
|
要與權杖訊息一併傳送的引數陣列。 |
kTag_Token
|
與權杖對應的 32 位元未簽署值。 |
@102
@102
持續性事件的標記。
@104
@104
WDM 設定檔訊息類型。
這些值會顯示在資料管理規格中。
@105
@105
WDM 專屬狀態碼。
@147
@147
@95
@95
Logging 設定標記。
屬性 | |
---|---|
kTag_CurrentImportance
|
目前的記錄重要性,值是 ImportanceType 類型。 |
kTag_ImportanceExpiration
|
時間 (以世界標準時間為單位),目前的目前記錄設定已還原為預設值。 |
kTag_LoggingDestination
|
指向記錄上傳目的地的網址。 |
kTag_MaximumLogUploadInterval
|
自動觸發記錄檔上傳嘗試的時間長度上限 (以秒為單位)。 |
kTag_MinimumLogUploadInterval
|
每次自動觸發記錄檔上傳事件的時間下限,以秒為單位。 |
kTag_TraitLoggingImportance
|
選用的陣列 (選擇性) 會將所選的設定檔對應至較高的記錄層級。 陣列中的每個元素都會採用形式 (profile,path,loggingimportance) 選項,選擇性提高系統子集的記錄功能,提高的記錄記錄優先順序僅限於記錄優先順序高於 currentImportance 的重要性,而且必須遵守與 CurrentImportance 相同的到期時間。 |
@96
@96
記錄功能的標記。
屬性 | |
---|---|
kTag_LogBufferingCapacity
|
32 位元的無符號整數,以 KB 為單位計算記錄緩衝區容量。 |
kTag_LoggingVolume
|
32 位元的無符號整數,用於說明預期的記錄量 (以 kB/天為單位)。 |
kTag_SupportedLogTransports
|
支援的記錄傳輸機制陣列。 |
kTag_SupportsNonVolatileStorage
|
表示裝置是否支援非線性記錄儲存空間的布林值。 |
kTag_SupportsPerTraitVerbosity
|
表示裝置是否支援個別特性詳細資訊設定的布林值。 |
kTag_SupportsStreaming
|
表示裝置是否支援串流記錄檔的布林值。 |
@97
@97
事件中繼資料的標記。
如需標記值的完整語意,請參閱事件設計規格。
屬性 | |
---|---|
kTag_EventData
|
選用,事件資料本身。如果留空,系統預設會使用空白結構。 |
kTag_EventDeltaSystemTime
|
WDM 內部標記,與編碼中與先前事件不同的時間差。 |
kTag_EventDeltaUTCTime
|
WDM 內部標記,與編碼中與先前事件不同的時間差。 |
kTag_EventID
|
事件的序列數,以 64 位元未簽署數量表示。 必須依序顯示,跳躍序列中的事件有落差。 |
kTag_EventImportance
|
活動的重要性。 |
kTag_EventResourceID
|
選用, 這個值是與事件相關的資源 ID,省略時,該值與 kTag_EventSource 的值相同 |
kTag_EventSource
|
產生事件的裝置節點 ID。 |
kTag_EventSystemTimestamp
|
選用,事件的系統時間戳記 (以毫秒為單位)。 |
kTag_EventTraitInstanceID
|
選用,產生事件的特徵。 |
kTag_EventTraitProfileID
|
必填。32 位元不帶正負號的整數,等同於特性的 ProfileID。 |
kTag_EventType
|
必填。16 位元未簽署整數,相當於這類事件的 wdl.event.id。 |
kTag_EventUTCTimestamp
|
選用,事件的世界標準時間時間戳記 (以毫秒為單位)。 |
kTag_ExternalEventStructure
|
外部事件內部代碼。絕對不要在線材傳輸,請勿在 Weave 程式庫以外的地方使用。 |
kTag_RelatedEventID
|
選用, 與這個事件相關的事件 ID。如果省略,這個值等於 kTag_EventID 的值。 |
kTag_RelatedEventImportance
|
選用, 相關事件的重要性。如果省略,這個值等於 kTag_EventImportance 的值。 |
@98
@98
偵錯偵錯設定檔的定義。
@99
@99
Nest Debug 屬性的事件類型。
屬性 | |
---|---|
kNestDebug_StringLogEntryEvent
|
任意形式字串偵錯訊息的事件。 |
kNestDebug_TokenizedHeaderEntryEvent
|
用於傳送權杖化標頭資訊的事件。 |
kNestDebug_TokenizedLogEntryEvent
|
權杖化偵錯訊息的事件。 |
CommandFlags
CommandFlags
屬性 | |
---|---|
kCommandFlag_ActionTimeValid
|
設定動作時間的有效時間。 |
kCommandFlag_ExpiryTimeValid
|
設定到期時間。 |
kCommandFlag_InitiationTimeValid
|
設定初始時間的有效期限。 |
kCommandFlag_IsOneWay
|
設定指令為單向時的指令。 |
kCommandFlag_MustBeVersionValid
|
設定版本欄位有效的時間。 |
重要性類型
ImportanceType
記錄項目的重要性。
在事件實際傳送至記錄之前,用途是篩選事件的方式。在記錄中完成事件後,我們就不會再提供進一步處置,將記錄從記錄中清除。優先等級用來優先儲存事件儲存空間。如果將重要事件新增至完整的緩衝區,系統會按照重要程度 (和年齡) 捨棄事件以符合其需求。因此,重要性等級只會有相對值。如果系統僅使用一個重要性等級,系統只會按照年齡順序捨棄事件,例如環形緩衝區。
屬性 | |
---|---|
Debug
|
偵錯重要性代表系統開發人員的記錄項目,主要用於開發階段。 偵錯重要性記錄不會限制受限裝置的頻寬或電源預算,因此只能在正式版系統的時限內使用。 |
Info
|
資訊重要性表示記錄項目為執行中系統提供額外的深入分析資訊和診斷資訊。 資訊記錄等級可在正式版系統中長時間使用,或做為實際測試的預設記錄層級。在受限裝置上,使用資訊層級記錄的項目必須在頻寬和記憶體預算中納入考量,而非電源預算。 |
Production
|
實際工作環境重要性是指 Nest 生態系統持續監控與維護時使用的記錄項目。 在受限裝置上,如果裝置具有生產重要性,則在電源和記憶體預算中必須考量到這些因素,因為系統預計一律會在裝置上記錄及卸載這些項目。 |
ProductionCritical
|
「重要業務重要性」是指的遺失事件會直接影響客戶的功能。 應用程式可能會使用「實際工作環境關鍵」事件,以指出系統故障。在受限裝置上,如果裝置的生產效能和重要資產記錄在供應力和記憶體預算中,就必須考量到影響,因為裝置通常會記錄到裝置卸載。 |
LoggingManagementState
LoggingManagementStates
屬性 | |
---|---|
kLoggingManagementState_Holdoff
|
記錄卸載已完成;在保留期結束前,我們不會重新啟動記錄。 |
kLoggingManagementState_Idle
|
未卸載記錄卸載,可以開始沒有任何記錄限制。 |
kLoggingManagementState_InProgress
|
記錄卸載中。 |
kLoggingManagementState_Shutdown
|
無法執行任何記錄作業。 |
Typedefs
CommandFlags
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
擷取外部事件函式
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
用於擷取事件資料的平台回呼函式原型。
與 FetchEventsEvents 類似,這個擷取函式會透過 EventExternalOutContext.mBeginEventID 透過 ExternalEvents.mLastEventID 傳回所有事件。
內容指標的類型為 FetchExternalEventsContext。這包括 EventLoadOutContext,以及一些適用於 TLV 格式的輔助變數。還提供指向註冊回呼時建立的 ExternalEvents 結構的指標。這會指定回呼的事件 ID 範圍。
從函式傳回時,EventLoadOutContext.mCurrentEventID 應反映尚未成功寫入 TLV 緩衝區的第一個事件 ID。平台必須以事件格式,將事件標頭和資料寫入 TLV 寫入者,並由 EventLogging 通訊協定指定。平台也必須維持事件和時間戳記的獨特性。
所有 TLV 錯誤都必須傳播至較高層級。例如,如果緩衝區空間不足,將會觸發傳送的訊息,接著以其他事件 ID 再次呼叫回呼。
詳情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
傳回值 |
|
通用 TrainkCatalog
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
一般管道來源目錄
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
重要性類型
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
記錄項目的重要性。
在事件實際傳送至記錄之前,用途是篩選事件的方式。在記錄中完成事件後,我們就不會再提供進一步處置,將記錄從記錄中清除。優先等級用來優先儲存事件儲存空間。如果將重要事件新增至完整的緩衝區,系統會按照重要程度 (和年齡) 捨棄事件以符合其需求。因此,重要性等級只會有相對值。如果系統僅使用一個重要性等級,系統只會按照年齡順序捨棄事件,例如環形緩衝區。
Iterator 回呼
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
Trait 處理疊代器。
LoggingBufferHandler
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
NotificationExternalEventsDeliveredFunct
void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
將外部事件傳送至遠端訂閱者時,為回呼叫用的函式原型。
當外部事件傳送給遠端訂閱者時,引擎就會向外部事件提供者發出通知。回呼包含最新傳送 ID 的事件,以及接收該事件的訂閱者 ID。
詳情 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
通知 ExternalEventsEvictedFunct
void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
從緩衝區中移除外部事件時,針對回呼叫用的函式原型。
當從外部訊息緩衝區移除外部事件物件時,引擎就會向外部事件提供者發出通知。回呼包含要移除的外部事件。
詳情 | |||
---|---|---|---|
參數 |
|
PropertyDictionaryKey
uint16_t PropertyDictionaryKey
屬性路徑控點
uint32_t PropertyPathHandle
PropertyPathHandling 是 3DM 位元不重複雜湊的相對 WDM 路徑雜湊值。
這份報表包含兩個部分:
- 對應至結構定義靜態部分的 16 位元數字。
- 如果較低的 16 位元數字是指字典元素內部的路徑,該數字會有一個 16 位元的數字,代表與該元素相關聯的字典金鑰。如果較低的 16 位元指的是非字典元素,則前 16 位元應為 0。
特性如下:
- 每個屬性都有專屬的屬性路徑控制空間。
- 每個不重複的 WDM 子路徑路徑都會有類似的不重複路徑路徑控制代碼。
- PropertyPathHandles 是由 IDL 的 trait 編譯器自動產生 (目前手動完成),並顯示為對應 tit' 標頭檔案中的列舉清單。
- 透過這個結構,應用程式邏輯不需要直接處理 WDM 路徑。而是透過這些帳號來處理與 WDM 的互動。
- 路徑控點有兩個保留值,具有特定意義:
- 0 代表 'NULL'控制
- 1 表示指向其特徵點的控點。
屬性結構定義
uint16_t PropertySchemaHandle
結構定義版本
uint16_t SchemaVersion
SingleResourceSinkTraitCatalog
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
單一資源來源路徑目錄
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
事件 ID 的類型。
timestamp_t [時間戳記]
uint32_t timestamp_t
用於描述時間戳記的類型 (以毫秒為單位)。
utc_timestamp_t
uint64_t utc_timestamp_t
用於說明世界標準時間時間戳記的類型,以毫秒為單位。
變數
執行個體
LoggingManagement sInstance
sLog 檔案名稱
char sLogFileName[] = "topazlog"
Functions
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 )
BdxRejectedHandler
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 )
建立屬性路徑控制代碼
PropertyPathHandle CreatePropertyPathHandle( PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey )
EventWriterTLVCopy
WEAVE_ERROR EventWriterTLVCopy( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
輔助函式,可將已序列化的事件資料元素轉譯至事件緩衝區。
詳情 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
GetPropertyDictionaryKey
PropertyDictionaryKey GetPropertyDictionaryKey( PropertyPathHandle aHandle )
GetPropertySchemaHandle
PropertySchemaHandle GetPropertySchemaHandle( PropertyPathHandle aHandle )
IsNullPropertyPathHandling
bool IsNullPropertyPathHandle( PropertyPathHandle aHandle )
是根路徑控點
bool IsRootPropertyPathHandle( PropertyPathHandle aHandle )
版本較新
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 )
公用程式函式,會在 TraitDataSink 目錄中找到 TraitUpdatableDataSink。
詳情 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
指向 TraitUpdatableDataSink 的指標;如果控點不存在,或是指向無法更新的 TraitDataSink,則為 NULL。
|
記錄檔事件
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
做為產生的事件 ID。
這個叫用的變化版本會間接指定所有預設事件選項:
- 事件會以時間戳記,顯示呼叫時間點的目前時間
- 事件標示為與呼叫的裝置有關;
- 獨立活動,與其他活動無關
- 該活動已標示為非緊急要求,
詳情 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
event_id_t:如果事件寫入記錄,則為事件 ID,否則為 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
做為產生的事件 ID。
這個叫用的變化版本可讓呼叫端設定任何 EventOptions
的組合:
- 時間戳記,當 0 預設為通話時的目前時間時,
- 「事件來源」(事件來源和特性 ID) 的「root」;如果設為 NULL,則預設為目前的裝置。該事件標示為與呼叫的裝置有關,
- 用來將事件 ID 分組的相關事件 ID;如果相關事件 ID 為 0,該事件就會標示為與任何其他事件無關;
- 急迫性;預設為未處理。
詳情 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回 |
event_id_t:如果事件寫入記錄,則為事件 ID,否則為 0。
|
記錄檔事件
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData )
透過回呼記錄事件。
這個函式會記錄以 EventWriterFunct 和應用程式特定 appData
結構定義的事件。這個函式會寫入事件中繼資料,並使用 nl::Weave::TLV::TLVWriter 參考資料和 inAppData
結構定義呼叫 inEventWriter
,以便使用者程式碼能夠將事件資料直接傳送至事件記錄。這種事件記錄方式會最小化記憶體用量,因為事件資料會直接序列化為目標緩衝區。事件資料「必須」包含 inProfileID
和 inEventType
識別的結構定義中的情境標記。系統會忽略第一個元素的標記;事件記錄系統會用 eventData 標記取代。
如果 inImportance 超過 LoggingConfiguration 中指定的記錄門檻,則系統會記錄該事件。如果事件的重要程度不符合目前的門檻,系統就會捨棄該函式,並傳回 0
做為產生的事件 ID。
這個叫用的變化版本會間接指定所有預設事件選項:
- 事件會以時間戳記,顯示呼叫時間點的目前時間
- 事件標示為與呼叫的裝置有關;
- 獨立活動,與其他活動無關
- 該活動已標示為非緊急要求,
詳情 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回 |
event_id_t:如果事件寫入記錄,則為事件 ID,否則為 0。
|
記錄檔事件
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
您可以透過包含選項的回呼記錄事件。
這個函式會記錄以 EventWriterFunct 和應用程式特定 appData
結構定義的事件。這個函式會寫入事件中繼資料,並使用 nl::Weave::TLV::TLVWriter 參考資料和 inAppData
結構定義呼叫 inEventWriter
,以便使用者程式碼能夠將事件資料直接傳送至事件記錄。這種事件記錄方式會最小化記憶體用量,因為事件資料會直接序列化為目標緩衝區。事件資料「必須」包含 inProfileID
和 inEventType
識別的結構定義中的情境標記。系統會忽略第一個元素的標記;事件記錄系統會用 eventData 標記取代。
如果 inImportance 超過 LoggingConfiguration 中指定的記錄門檻,則系統會記錄該事件。如果事件的重要程度不符合目前的門檻,系統就會捨棄該函式,並傳回 0
做為產生的事件 ID。
這個叫用的變化版本可讓呼叫端設定任何 EventOptions
的組合:
- 時間戳記,當 0 預設為通話時的目前時間時,
- 「事件來源」(事件來源和特性 ID) 的「root」;如果設為 NULL,則預設為目前的裝置。該事件標示為與呼叫的裝置有關,
- 用來將事件 ID 分組的相關事件 ID;如果相關事件 ID 為 0,該事件就會標示為與任何其他事件無關;
- 急迫性;預設為未處理。
詳情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回 |
event_id_t:如果事件寫入記錄,則為事件 ID,否則為 0。
|
LogFreeform
event_id_t LogFreeform( ImportanceType inImportance, const char *inFormat, ... )
LogFreeform 會將任意形式的字串傳送至預設事件串流。
該字串會封裝在偵錯事件結構中,結構與其他記錄字串相同。事件設定檔 ID 就是 Nest 偵錯事件的 ID,事件類型則是 kNestDebug_StringLogEntryEvent
。
詳情 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
event_id_t:如果事件寫入記錄,則為事件 ID,否則為 0。
|
LookForElement 標記
WEAVE_ERROR LookForElementWithTag( const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader )
純文字寫入工具
WEAVE_ERROR PlainTextWriter( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
輸出任意形式文字的偵錯函式。
偵錯事件是包含 logregion 和任意形式文字的結構。
詳情 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
純文字寫入工具
WEAVE_ERROR PlainTextWriter( ::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
輸出任意形式文字的偵錯函式。
偵錯事件是包含 logregion 和任意形式文字的結構。
詳情 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|