nl::Weave::โปรไฟล์::DataManagement_Current

เนมสเปซนี้จะรวมอินเทอร์เฟซทั้งหมดภายใน Weave สําหรับโปรไฟล์ Weave Data Management (WDM) ที่ได้รับการสนับสนุนสําหรับการใช้งานจริงในปัจจุบัน

สรุป

การแจกแจง

@100{
  kTag_Region = 1,
  kTag_Message = 2
}
enum
แท็กสําหรับ kNestDebug_StringLogEntryEvent
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
enum
แท็กสําหรับ kNestDebug_TokenizedLogEntryEvent
@102 enum
แท็กสําหรับเหตุการณ์ที่ดําเนินอยู่
@104 enum
ประเภทของข้อความโปรไฟล์ WDM
@105 enum
รหัสสถานะสําหรับ WDM โดยเฉพาะ
@147 enum
@95{
  kTag_CurrentImportance = 1,
  kTag_ImportanceExpiration,
  kTag_MinimumLogUploadInterval,
  kTag_MaximumLogUploadInterval,
  kTag_LoggingDestination,
  kTag_TraitLoggingImportance
}
enum
การบันทึกแท็กการตั้งค่า
@96{
  kTag_SupportedLogTransports = 1,
  kTag_SupportsStreaming = 2,
  kTag_SupportsNonVolatileStorage = 3,
  kTag_SupportsPerTraitVerbosity = 4,
  kTag_LoggingVolume = 5,
  kTag_LogBufferingCapacity = 6
}
enum
แท็กสําหรับความสามารถในการบันทึก
@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
แท็กสําหรับข้อมูลเมตาของเหตุการณ์
@98 enum
คําจํากัดความของโปรไฟล์สําหรับลักษณะการแก้ไขข้อบกพร่อง
@99{
  kNestDebug_StringLogEntryEvent = 1,
  kNestDebug_TokenizedLogEntryEvent = 2,
  kNestDebug_TokenizedHeaderEntryEvent = 3
}
enum
ประเภทเหตุการณ์สําหรับลักษณะการแก้ไขข้อบกพร่องของ Nest
CommandFlags{
  kCommandFlag_MustBeVersionValid = 0x0001,
  kCommandFlag_InitiationTimeValid = 0x0002,
  kCommandFlag_ActionTimeValid = 0x0004,
  kCommandFlag_ExpiryTimeValid = 0x0008,
  kCommandFlag_IsOneWay = 0x0010
}
enum
ImportanceType{
  ProductionCritical = 1,
  Production,
  Info,
  Debug
}
enum
ความสําคัญของรายการบันทึก
LoggingManagementStates{
  kLoggingManagementState_Idle = 1,
  kLoggingManagementState_InProgress = 2,
  kLoggingManagementState_Holdoff = 3,
  kLoggingManagementState_Shutdown = 4
}
enum
TimestampType enum
ความถูกต้องและประเภทของการประทับเวลาที่รวมอยู่ใน EventOptions

ประเภทแบบอักษร

CommandFlags ประเภทการพิมพ์
DataVersion ประเภทการพิมพ์
uint64_t
EventProcessor ประเภทการพิมพ์
void *
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData) ประเภทการพิมพ์
ฟังก์ชันที่มีเอลิเมนต์ eventData สําหรับระบบย่อยของการบันทึกเหตุการณ์
FetchExternalEventsFunct)(EventLoadOutContext *aContext) ประเภทการพิมพ์
ต้นแบบฟังก์ชันสําหรับข้อมูลเรียกกลับของแพลตฟอร์มซึ่งดึงข้อมูลเหตุการณ์
GenericTraitSinkCatalog ประเภทการพิมพ์
GenericTraitSourceCatalog ประเภทการพิมพ์
ImportanceType ประเภทการพิมพ์
ความสําคัญของรายการบันทึก
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext) ประเภทการพิมพ์
void(*
ตัวทําซ้ําการจัดการลักษณะ
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer) ประเภทการพิมพ์
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_t
uint32_t
ประเภทที่ใช้เพื่ออธิบายระยะเวลา (หน่วยเป็นมิลลิวินาที)
event_id_t nl::Weave::Profiles::Data_START::event_id_t
uint32_t
ประเภทของรหัสเหตุการณ์
timestamp_t nl::Weave::Profiles::DataManagement_Current::timestamp_t
uint32_t
ประเภทที่ใช้เพื่ออธิบายการประทับเวลาเป็นมิลลิวินาที
utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::utc_timestamp_t
uint64_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)
ฟังก์ชันตัวช่วยที่แปลองค์ประกอบ ข้อมูลเหตุการณ์ที่เรียงลําดับแล้ว ลงในบัฟเฟอร์เหตุการณ์
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::โปรไฟล์::DataManagement_Current::AlwaysacceptDataElementAccessControlDelegate
nl::Weave::โปรไฟล์::DataManagement_Current::BuilderBase

คลาสพื้นฐานสําหรับโปรแกรมเปลี่ยนไฟล์ข้อความ WDM

nl::Weave::โปรไฟล์::DataManagement_Current::CircularEventReader

TLVReader ที่ได้รับการสนับสนุนโดย CircularEventBuffer

nl::Weave::โปรไฟล์::DataManagement_Current::Command
nl::Weave::โปรไฟล์::DataManagement_Current::CommandSender
nl::Weave::โปรไฟล์::DataManagement_Current::GeneralTraitCatalogImpl

Weave ให้บริการอินเทอร์เฟซ TraitCatalogBase สําหรับคอลเล็กชันอินสแตนซ์ข้อมูลลักษณะเฉพาะที่ทั้งหมดอ้างอิงทรัพยากรเดียวกัน

nl::Weave::โปรไฟล์::DataManagement_Current::IDataElementAccessControlDelegate

อินเทอร์เฟซที่ใช้งานโดยผู้ประมวลผลข้อมูลขององค์ประกอบใน NotifyRequest

nl::Weave::โปรไฟล์::DataManagement_Current::IDirtyPathCut
nl::Weave::โปรไฟล์::DataManagement_Current::IPathFilter
nl::Weave::โปรไฟล์::DataManagement_Current::IWeavePublisherLock

อินเทอร์เฟซสําหรับนําแอปไปใช้งานเพื่อจัดลําดับการเข้าถึงโครงสร้างข้อมูล WDM ที่สําคัญ

nl::Weave::โปรไฟล์::DataManagement_Current::IWeaveWDMZoomx

อินเทอร์เฟซของออบเจ็กต์ onclickx

nl::Weave::โปรไฟล์::DataManagement_Current::ListBuilderBase

คลาสพื้นฐานสําหรับโปรแกรมเปลี่ยนไฟล์ข้อความ WDM ซึ่งมีเฉพาะในส่วนองค์ประกอบอาร์เรย์ TLV เช่น รายการข้อมูลและรายการเวอร์ชัน

nl::Weave::โปรไฟล์::DataManagement_Current::ListParserBase

คลาสพื้นฐานสําหรับโปรแกรมแยกวิเคราะห์ข้อความ WDM ที่เชี่ยวชาญในองค์ประกอบอาร์เรย์ TLV เช่น รายการข้อมูลและรายการเวอร์ชัน

nl::Weave::โปรไฟล์::DataManagement_Current::LogBDXUpload
nl::Weave::โปรไฟล์::DataManagement_Current::LoggingConfiguration

LoggingConfiguration จะสรุปองค์ประกอบที่กําหนดค่าได้ของระบบย่อยการบันทึกของ Weave

nl::Weave::โปรไฟล์::DataManagement_Current::LoggingManagement

คลาสสําหรับจัดการบันทึกเหตุการณ์ในหน่วยความจํา

nl::Weave::โปรไฟล์::DataManagement_Current::NotificationEngine
nl::Weave::โปรไฟล์::DataManagement_Current::ParserBase

คลาสพื้นฐานสําหรับโปรแกรมแยกวิเคราะห์ข้อความ WDM

nl::Weave::โปรไฟล์::DataManagement_Current::ResourceIdentifier

โครงสร้างที่ห่อหุ้มรหัสของทรัพยากร

nl::Weave::โปรไฟล์::DataManagement_Current::SingleResourceTraitCatalog
nl::Weave::โปรไฟล์::DataManagement_Current::SubscriptionClient
nl::Weave::โปรไฟล์::DataManagement_Current::SubscriptionEngine

นี่คือโฮสต์เดียวสําหรับการสมัครใช้บริการ WDM Next ทั้งหมด ทั้งฝั่งไคลเอ็นต์และฝั่งผู้เผยแพร่โฆษณา

nl::Weave::โปรไฟล์::DataManagement_Current::SubscriptionHandler
nl::Weave::โปรไฟล์::DataManagement_Current::TraitCatalogBase
nl::Weave::โปรไฟล์::DataManagement_Current::TraitDataSink
nl::Weave::โปรไฟล์::DataManagement_Current::TraitDataSource
nl::Weave::โปรไฟล์::DataManagement_Current::TraitSchemaEngine

เครื่องมือสคีมาจะนําข้อมูลสคีมาที่เชื่อมโยงกับลักษณะเฉพาะนั้นๆ มาใช้ และมอบบริการสําหรับแยกวิเคราะห์และแปลข้อมูลดังกล่าวเป็นรูปแบบที่เครื่อง WDM ใช้ได้

nl::Weave::โปรไฟล์::DataManagement_Current::TraitUpdatableDataSink
nl::Weave::โปรไฟล์::DataManagement_Current::UpdateClient
nl::Weave::โปรไฟล์::DataManagement_Current::UpdateDictionaryDirtyPathCut

คลาสยูทิลิตีสําหรับการเก็บพจนานุกรมกลับไปยังคิวที่รอดําเนินการเมื่อประมวลผลเส้นทางพร็อพเพอร์ตี้ที่มีพร็อพเพอร์ตี้ระดับย่อย

nl::Weave::โปรไฟล์::DataManagement_Current::UpdateDirtyPathFilter

คลาสยูทิลิตีสําหรับกรองเส้นทางเมื่อจัดการกับการแจ้งเตือน

nl::Weave::โปรไฟล์::DataManagement_Current::UpdateEncoder

ออบเจ็กต์นี้เข้ารหัสเพย์โหลด WDM UpdateRequest และ PartialUpdateRequest

nl::Weave::โปรไฟล์::DataManagement_Current::ViewClient

โครงสร้าง

nl::Weave::โปรไฟล์::DataManagement_Current::CircularEventBuffer

บัฟเฟอร์เหตุการณ์ภายในที่สร้างขึ้นรอบๆ nl::Weave::TLV::WeaveCircularTLVBuffer

nl::Weave::โปรไฟล์::DataManagement_Current::ConstSchemaVersionRange
nl::Weave::โปรไฟล์::DataManagement_Current::CopyAnd AdjustDeltaTimeContext

โครงสร้างภายในสําหรับรายการเหตุการณ์แบบข้ามผ่าน

nl::Weave::โปรไฟล์::DataManagement_Current::DebugLogContext
nl::Weave::โปรไฟล์::DataManagement_Current::DetailsRootSection

โครงสร้างที่ระบุความละเอียดทั้งหมดของอินสแตนซ์ลักษณะเฉพาะ

nl::Weave::โปรไฟล์::DataManagement_Current::EventEnvelopeContext

โครงสร้างภายในสําหรับเหตุการณ์การข้ามผ่าน

nl::Weave::โปรไฟล์::DataManagement_Current::EventLoadOutContext

โครงสร้างสําหรับการคัดลอกรายการเหตุการณ์เอาต์พุต

nl::Weave::โปรไฟล์::DataManagement_Current::EventOptions

โครงสร้างที่มีตัวเลือกสําหรับช่องกิจกรรมต่างๆ

nl::Weave::โปรไฟล์::DataManagement_Current::EventSchema

โครงสร้างที่กําหนดสคีมาของข้อมูลเมตาเหตุการณ์

nl::Weave::โปรไฟล์::DataManagement_Current::ExternalEvents

โครงสร้างสําหรับการติดตามเหตุการณ์ที่จัดเก็บบนแพลตฟอร์ม

nl::Weave::โปรไฟล์::DataManagement_Current::LogStorageResources

ชั้นเรียนผู้ช่วยเหลือที่ใช้ในการเริ่มต้นการจัดการการบันทึก

nl::Weave::โปรไฟล์::DataManagement_Current::ReclaimEventCtx
nl::Weave::โปรไฟล์::DataManagement_Current::SchemaVersionRange
nl::Weave::โปรไฟล์::DataManagement_Current::TraitPath
nl::Weave::โปรไฟล์::DataManagement_Current::TraitPathStore
nl::Weave::โปรไฟล์::DataManagement_Current::VersionedTraitPath

สหภาพ

nl::Weave::โปรไฟล์::DataManagement_Current::การประทับเวลา

สหภาพที่ระบุระบบชุดแอปพลิเคชันหรือการประทับเวลา UTC

เนมสเปซ

nl::Weave::โปรไฟล์::DataManagement_Current::BaseMessageWithSubscriptionId
nl::Weave::โปรไฟล์::DataManagement_Current::CustomCommand

คําจํากัดความ Command ที่กําหนดเองของ WDM

nl::Weave::โปรไฟล์::DataManagement_Current::CustomCommandResponse

คําจํากัดความการตอบกลับ Command ที่กําหนดเองของ WDM

nl::Weave::โปรไฟล์::DataManagement_Current::DataElement

คําจํากัดความขององค์ประกอบข้อมูล WDM

nl::Weave::โปรไฟล์::DataManagement_Current::DataList
nl::Weave::โปรไฟล์::DataManagement_Current::Event
nl::Weave::โปรไฟล์::DataManagement_Current::EventList
nl::Weave::โปรไฟล์::DataManagement_Current::NotificationRequest
nl::Weave::โปรไฟล์::DataManagement_Current::เส้นทาง

คําจํากัดความของเส้นทางของ WDM

nl::Weave::โปรไฟล์::DataManagement_Current::PathList

คําจํากัดความของรายการ Path ใน WDM

nl::Weave::โปรไฟล์::DataManagement_Current::Platform
nl::Weave::โปรไฟล์::DataManagement_Current::ปฏิเสธionRecord
nl::Weave::โปรไฟล์::DataManagement_Current::ปฏิเสธionRecordList
nl::Weave::โปรไฟล์::DataManagement_Current::StatusElement

คําจํากัดความขององค์ประกอบสถานะ WDM

nl::Weave::โปรไฟล์::DataManagement_Current::StatusList
nl::Weave::โปรไฟล์::DataManagement_Current::SubscriptionCancelRequest
nl::Weave::โปรไฟล์::DataManagement_Current::SubscriptionConfirmRequest
nl::Weave::โปรไฟล์::DataManagement_Current::SubscriptionRequest
nl::Weave::โปรไฟล์::DataManagement_Current::SubscriptionResponse
nl::Weave::โปรไฟล์::DataManagement_Current::UpdateRequest

คําจํากัดความของคําขออัปเดต WDM

nl::Weave::โปรไฟล์::DataManagement_Current::UpdateResponse
nl::Weave::โปรไฟล์::DataManagement_Current::VersionList
nl::Weave::โปรไฟล์::DataManagement_Current::ViewRequest
nl::Weave::โปรไฟล์::DataManagement_Current::ViewResponse

การแจกแจง

@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

การบันทึกแท็กการตั้งค่า

พร็อพเพอร์ตี้
kTag_CurrentImportance

ความสําคัญของการบันทึกในปัจจุบัน ค่าเป็นประเภท ImportanceType

kTag_ImportanceExpiration

เวลา UTC วินาทีเมื่อการตั้งค่าการบันทึกที่เพิ่มขึ้นในปัจจุบันเปลี่ยนกลับเป็นค่าเริ่มต้น

kTag_LoggingDestination

URL ที่แสดงถึงปลายทางของการอัปโหลดบันทึก

kTag_MaximumLogUploadInterval

ระยะเวลาสูงสุดเป็นวินาทีระหว่างการพยายามอัปโหลดบันทึกที่ทริกเกอร์โดยอัตโนมัติ

kTag_MinimumLogUploadInterval

ระยะเวลาขั้นต่ํา (เป็นวินาที) ระหว่างการพยายามอัปโหลดบันทึกที่เรียกโดยอัตโนมัติ

kTag_TraitLoggingImportance

อาร์เรย์ที่ไม่บังคับจะเลือกจับคู่โปรไฟล์ที่เลือกไว้กับระดับการบันทึกที่สูงขึ้น

องค์ประกอบแต่ละรายการในอาร์เรย์จะใช้รูปแบบ (profile,path,loggingimportance) เพื่อเลือกยกระดับการบันทึกจากชุดย่อยของระบบ ลําดับความสําคัญของการบันทึกโปรไฟล์ขั้นสูงจะมีความสําคัญก็ต่อเมื่อลําดับความสําคัญในการบันทึกเกินลําดับความสําคัญของการนําเข้าปัจจุบัน และจะมีอายุการใช้งานหมดอายุเท่ากับความสําคัญของการนําเข้าปัจจุบัน

@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

ไม่บังคับ

ค่านี้คือรหัสของทรัพยากรที่เกี่ยวข้องกับเหตุการณ์ หากไม่ระบุ ค่าจะเหมือนกับค่าของ kTag_EventSource

kTag_EventSource

โหนดของอุปกรณ์ที่สร้างเหตุการณ์

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

พร็อพเพอร์ตี้
kNestDebug_StringLogEntryEvent

เหตุการณ์สําหรับข้อความแก้ไขข้อบกพร่องของสตริงรูปแบบอิสระ

kNestDebug_TokenizedHeaderEntryEvent

เหตุการณ์สําหรับถ่ายทอดข้อมูลส่วนหัวของโทเค็น

kNestDebug_TokenizedLogEntryEvent

เหตุการณ์สําหรับข้อความแก้ไขข้อบกพร่องที่มีโทเค็น

แฟล็กคําสั่ง

 CommandFlags
พร็อพเพอร์ตี้
kCommandFlag_ActionTimeValid

กําหนดเวลาที่ถูกต้องสําหรับการดําเนินการ

kCommandFlag_ExpiryTimeValid

กําหนดเวลาหมดอายุ

kCommandFlag_InitiationTimeValid

กําหนดเวลาเริ่มต้น

kCommandFlag_IsOneWay

ตั้งค่าเมื่อคําสั่งเป็นวันเวย์

kCommandFlag_MustBeVersionValid

ตั้งค่าเมื่อช่องเวอร์ชันถูกต้อง

ประเภทการนําเข้า

 ImportanceType

ความสําคัญของรายการบันทึก

ความสําคัญใช้เป็นวิธีการกรองเหตุการณ์ต่างๆ ก่อนที่จะเกิดขึ้นจริงในบันทึก หลังจากบันทึกเหตุการณ์แล้ว เราจะไม่จัดสรรข้อมูลใดเพิ่มเติมออกจากบันทึกอีกต่อไป ระดับความสําคัญจะใช้ในการจัดลําดับความสําคัญของพื้นที่เก็บข้อมูลเหตุการณ์ หากเพิ่มเหตุการณ์ที่มีความสําคัญสูงลงในบัฟเฟอร์โดยสมบูรณ์ ระบบจะทิ้งเหตุการณ์ตามความสําคัญ (และอายุ) เพื่อรองรับการรองรับ ดังนั้น ระดับความสําคัญจะมีเฉพาะค่าสัมพัทธ์เท่านั้น หากระบบใช้ระดับความสําคัญเพียงระดับเดียว ระดับเหตุการณ์ก็จะลดลงตามลําดับอายุ เช่น บัฟเฟอร์ที่ส่งเสียง

พร็อพเพอร์ตี้
Debug

ความสําคัญของการแก้ไขข้อบกพร่องแสดงถึงบันทึกที่สนใจสําหรับนักพัฒนาซอฟต์แวร์และจะใช้ในระยะการพัฒนาเป็นหลัก

บันทึกความสําคัญของการแก้ไขข้อบกพร่องไม่นับรวมในแบนด์วิดท์หรืองบประมาณสําหรับอุปกรณ์ที่จํากัด ส่งผลให้ต้องใช้บันทึกเหล่านี้ในระบบการผลิตในระยะเวลาที่จํากัดเท่านั้น

Info

ความสําคัญของข้อมูลหมายถึงรายการบันทึกที่จะให้ข้อมูลเชิงลึกและการวินิจฉัยเพิ่มเติมในระบบที่ทํางาน

ระดับการบันทึกข้อมูลอาจใช้เป็นระยะเวลานานในระบบการผลิต หรือใช้เป็นระดับการบันทึกเริ่มต้นในช่วงทดลองใช้งานภาคสนาม ในอุปกรณ์ที่จํากัด รายการที่บันทึกด้วยระดับข้อมูลจะต้องพิจารณาในแบนด์วิดท์และงบประมาณหน่วยความจํา ไม่ใช่ในงบประมาณพลังงาน

Production

ความสําคัญในการผลิตแสดงถึงรายการบันทึกที่ใช้ในการตรวจสอบและบํารุงรักษาระบบนิเวศ Nest อย่างต่อเนื่อง

ในอุปกรณ์ที่มีข้อจํากัด จะต้องมีการบันทึกรายการที่มีความสําคัญทางการผลิตไว้ในงบประมาณขั้นต่ําสําหรับพลังงานและหน่วยความจํา เนื่องจากระบบคาดหวังให้รายการเหล่านั้นถูกบันทึกและอยู่นอกอุปกรณ์เสมอ

ProductionCritical

ความสําคัญที่มีความสําคัญสูงในการผลิตหมายถึงเหตุการณ์ที่การสูญเสียจะส่งผลต่อฟีเจอร์ที่ผู้ใช้เห็นโดยตรง

แอปพลิเคชันอาจใช้การสูญเสียเหตุการณ์สําคัญในการผลิตเพื่อระบุความล้มเหลวของระบบ ในอุปกรณ์ที่มีข้อจํากัด จะต้องมีการบันทึกรายการที่มีความสําคัญทางการผลิตที่สําคัญในงบประมาณกําลังไฟและหน่วยความจํา เนื่องจากระบบคาดหวังให้รายการเหล่านั้นถูกบันทึกและนําออกจากอุปกรณ์เสมอ

สถานะการบันทึกการจัดการ

 LoggingManagementStates
พร็อพเพอร์ตี้
kLoggingManagementState_Holdoff

การลดบันทึกเสร็จสมบูรณ์แล้ว เราจะไม่รีสตาร์ทบันทึกจนกว่าการหยุดกลางคันจะหมดอายุ

kLoggingManagementState_Idle

ไม่มีการโหลดบันทึกที่กําลังดําเนินการอยู่ การออกจากระบบบันทึกอาจเริ่มต้นขึ้นโดยไม่มีข้อจํากัด

kLoggingManagementState_InProgress

กําลังดําเนินการบันทึกบันทึก

kLoggingManagementState_Shutdown

ดําเนินการบันทึกไม่ได้

ประเภทการประทับเวลา

 TimestampType

ความถูกต้องและประเภทของการประทับเวลาที่รวมอยู่ใน EventOptions

ประเภทแบบอักษร

แฟล็กคําสั่ง

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 และค่าขององค์ประกอบนั้นก็ต้องเป็นโครงสร้างที่มีข้อมูลเหตุการณ์ ข้อมูลเหตุการณ์ต้องจัดโครงสร้างโดยใช้แท็กบริบท

รายละเอียด
พารามิเตอร์
[in,out] ioWriter
การอ้างอิงไปยังออบเจ็กต์ nl::Weave::TLV::TLVWriter ที่จะใช้สําหรับการจัดลําดับข้อมูลเหตุการณ์
[in] inDataTag
แท็กบริบทสําหรับ TLV ที่เราเขียนออกมา
[in] appData
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน
มูลค่าการคืนสินค้า
WEAVE_NO_ERROR
เพื่อความสําเร็จ
other
เกิดข้อผิดพลาดที่เหมาะสมในการส่งสัญญาณให้ผู้โทรทราบว่าระบบทําการจัดลําดับข้อมูลเหตุการณ์ไม่สําเร็จ ควรเผยแพร่ข้อผิดพลาดในการเรียกไปยัง ioWriter โดยไม่มีการแมปอีกครั้ง หากฟังก์ชันส่งคืนข้อผิดพลาดประเภทใดก็ตาม การสร้างเหตุการณ์จะถูกล้มเลิก และจะไม่มีการเขียนเหตุการณ์ลงในบันทึก
ดูเพิ่มเติมที่
PlainTextWriter
EventWriterTLVCopy

ดึงข้อมูลเหตุการณ์ภายนอก

WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)

ต้นแบบฟังก์ชันสําหรับข้อมูลเรียกกลับของแพลตฟอร์มซึ่งดึงข้อมูลเหตุการณ์

ฟังก์ชันการดึงข้อมูลนี้จะแสดงเหตุการณ์ทั้งหมดจาก EventLoadOutContext.mBeginEventID ผ่าน ExternalEvents.mLastEventID เช่นเดียวกับฟังก์ชัน FetchEvent

ตัวชี้บริบทเป็นประเภท FetchExternalEventsContext ซึ่งรวมถึง EventLoadOutContext ที่มีตัวแปรตัวช่วยบางอย่างสําหรับรูปแบบ TLV และยังมีตัวชี้ไปยังโครงสร้าง ExternalEvents ที่สร้างขึ้นเมื่อบันทึกโค้ดเรียกกลับ โดยระบุช่วงรหัสเหตุการณ์สําหรับโค้ดเรียกกลับ

เมื่อส่งคืนจากฟังก์ชัน EventLoadOutContext.mCurrentEventID ควรจะตรงกับรหัสเหตุการณ์แรกที่ยังไม่ได้เขียนไปยังบัฟเฟอร์ TLV แพลตฟอร์มต้องเขียนส่วนหัวและข้อมูลเหตุการณ์ให้กับผู้เขียน TLV ในรูปแบบที่ถูกต้อง ซึ่งระบุโดยโปรโตคอล EventLogging แพลตฟอร์มยังต้องรักษาความเป็นเอกลักษณ์ของกิจกรรมและการประทับเวลาด้วย

ข้อผิดพลาด TLV ทั้งหมดควรถ่ายทอดไปยังระดับที่สูงขึ้น เช่น พื้นที่ว่างในบัฟเฟอร์จะทําให้ระบบส่งข้อความที่ส่งข้อความไปแล้ว ตามด้วยการเรียกอีกปุ่มไปยังโค้ดเรียกกลับที่มีรหัสเหตุการณ์อยู่

รายละเอียด
มูลค่าการคืนสินค้า
WEAVE_ERROR_NO_MEMORY
หากไม่มีพื้นที่สําหรับเขียนกิจกรรม
WEAVE_ERROR_BUFFER_TOO_SMALL
หากไม่มีพื้นที่สําหรับเขียนกิจกรรม
WEAVE_NO_ERROR
เพื่อความสําเร็จ
WEAVE_END_OF_TLV
เพื่อความสําเร็จ

ทั่วไปซิงก์แคตตาล็อก

GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog

ทั่วไปทั่วไปแคตตาล็อก

GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog

ประเภทการนําเข้า

enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType

ความสําคัญของรายการบันทึก

ความสําคัญใช้เป็นวิธีการกรองเหตุการณ์ต่างๆ ก่อนที่จะเกิดขึ้นจริงในบันทึก หลังจากบันทึกเหตุการณ์แล้ว เราจะไม่จัดสรรข้อมูลใดเพิ่มเติมออกจากบันทึกอีกต่อไป ระดับความสําคัญจะใช้ในการจัดลําดับความสําคัญของพื้นที่เก็บข้อมูลเหตุการณ์ หากเพิ่มเหตุการณ์ที่มีความสําคัญสูงลงในบัฟเฟอร์โดยสมบูรณ์ ระบบจะทิ้งเหตุการณ์ตามความสําคัญ (และอายุ) เพื่อรองรับการรองรับ ดังนั้น ระดับความสําคัญจะมีเฉพาะค่าสัมพัทธ์เท่านั้น หากระบบใช้ระดับความสําคัญเพียงระดับเดียว ระดับเหตุการณ์ก็จะลดลงตามลําดับอายุ เช่น บัฟเฟอร์ที่ส่งเสียง

โค้ดเรียกกลับของ Iterator

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

ตัวทําซ้ําการจัดการลักษณะ

เครื่องจัดการการบันทึกบัฟเฟอร์

WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)

แจ้งเตือนกิจกรรมภายนอกที่ส่ง

void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)

ระบบจะสร้างต้นแบบฟังก์ชันสําหรับโค้ดเรียกกลับเมื่อมีการส่งเหตุการณ์ภายนอกไปยังสมาชิกระยะไกล

เมื่อมีการส่งเหตุการณ์ภายนอกไปยังสมาชิกระยะไกล เครื่องมือค้นหาจะส่งการแจ้งเตือนไปยังผู้ให้บริการเหตุการณ์ภายนอก โค้ดเรียกกลับจะมีเหตุการณ์ของรหัสล่าสุดที่มีการนําส่ง และรหัสของผู้ติดตามที่ได้รับเหตุการณ์

รายละเอียด
พารามิเตอร์
[in] inEv
ออบเจ็กต์เหตุการณ์ภายนอกสอดคล้องกับเหตุการณ์ที่ส่ง
[in] inLastDeliveredEventID
รหัสของเหตุการณ์ล่าสุดที่ส่งไปยังผู้ติดตาม
[in] inRecipientNodeID
รหัสโหนด Weave ของผู้รับ

แจ้งเตือนเหตุการณ์ภายนอกที่ตัดออก

void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)

มีต้นแบบฟังก์ชันสําหรับโค้ดเรียกกลับเมื่อมีการดึงเหตุการณ์ภายนอกออกจากบัฟเฟอร์

เมื่อออบเจ็กต์เหตุการณ์ภายนอกถูกนําออกจากบัฟเฟอร์ข้อความขาออก เครื่องมือจะส่งการแจ้งเตือนไปยังผู้ให้บริการเหตุการณ์ภายนอก โค้ดเรียกกลับมีเหตุการณ์ภายนอกที่จะนําออก

รายละเอียด
พารามิเตอร์
[in] inEv
ออบเจ็กต์เหตุการณ์ภายนอกที่จะนําออก

คีย์พร็อพเพอร์ตี้พร็อพเพอร์ตี้

uint16_t PropertyDictionaryKey

แฮนเดิลเส้นทางพร็อพเพอร์ตี้

uint32_t PropertyPathHandle

PropertyPathHandle คือแฮชแบบตัวเลข 32 บิตที่ไม่ซ้ํากันของเส้นทาง WDM ที่สัมพันธ์กับรากของอินสแตนซ์ลักษณะเฉพาะ

ซึ่งมี 2 ส่วนดังนี้

  • ตัวเลข 16 บิตที่ต่ํากว่าที่แมปกับส่วนที่คงที่ของสคีมา
  • หาก 16 บิตล่างหมายถึงเส้นทางภายในองค์ประกอบพจนานุกรม ตัวเลข 16 บิตบนจะปรากฏแทนคีย์พจนานุกรมที่เชื่อมโยงกับองค์ประกอบนั้น หาก 16 บิตล่างหมายถึงองค์ประกอบที่ไม่ใช่พจนานุกรม 16 บิตบนสุดควรเป็น 0

ลักษณะเฉพาะบางประการ:

  • ลักษณะเฉพาะแต่ละรายการจะมีเส้นทางการจัดการพร็อพเพอร์ตี้ของตัวเอง
  • เส้นทางเส้นทางย่อย WDM ที่ไม่ซ้ํากันทุกรายการจะมี PropertyPathHandle ที่ไม่ซ้ํากันและคล้ายกัน
  • PropertyPathHandles ได้รับการสร้างโดยอัตโนมัติ (ดําเนินการด้วยตนเองในขณะนี้) โดยผู้คอมไพล์ลักษณะเฉพาะจาก IDL และแสดงเป็นรายการ enumerum ในไฟล์ส่วนหัวที่เกี่ยวข้องของส่วนหัว ##99
  • โครงสร้างนี้ทําให้ตรรกะของแอปพลิเคชันไม่ต้องจัดการกับเส้นทาง WDM โดยตรง แต่การโต้ตอบกับ WDM จะเป็นการดําเนินการผ่านแฮนเดิลเหล่านี้เท่านั้น
  • แฮนเดิลเส้นทางที่มีค่าที่สงวนไว้ 2 ค่าที่มีความหมายเฉพาะเจาะจงดังนี้
    • 0 หมายถึงแฮนเดิล 'NULL'
    • 1 หมายถึงแฮนเดิลซึ่งชี้ไปยังรากของอินสแตนซ์ลักษณะเฉพาะ

แฮนเดิลสคีมาของพร็อพเพอร์ตี้

uint16_t PropertySchemaHandle

เวอร์ชันของสคีมา

uint16_t SchemaVersion

แหล่งทรัพยากรซิงก์แคตตาล็อก

SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog

แหล่งข้อมูลแหล่งข้อมูลแบบครั้งเดียวสําหรับแคตตาล็อก

SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog

ประเภทการประทับเวลา

enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType

ความถูกต้องและประเภทของการประทับเวลาที่รวมอยู่ใน EventOptions

แฮนเดิลข้อมูล TraitData

uint16_t TraitDataHandle

ระยะเวลา_t

uint32_t duration_t

ประเภทที่ใช้เพื่ออธิบายระยะเวลา (หน่วยเป็นมิลลิวินาที)

รหัสเหตุการณ์ [event_id_t]

uint32_t event_id_t

ประเภทของรหัสเหตุการณ์

การประทับเวลา t

uint32_t timestamp_t

ประเภทที่ใช้เพื่ออธิบายการประทับเวลาเป็นมิลลิวินาที

การประทับเวลาการเปลี่ยนแปลง

uint64_t utc_timestamp_t

ประเภทที่ใช้เพื่ออธิบายการประทับเวลา UTC ในหน่วยมิลลิวินาที

ตัวแปร

อินสแตนซ์

LoggingManagement sInstance

ชื่อไฟล์ sLog

char sLogFileName[] = "topazlog"

ฟังก์ชัน

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
)

เครื่องจัดการการปฏิเสธ Bdx

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
)

CreateHandlePathPathHandler

PropertyPathHandle CreatePropertyPathHandle(
  PropertySchemaHandle aPropertyPathSchemaId,
  PropertyDictionaryKey aPropertyPathDictionaryKey
)

คัดลอก EventWriterTLV

WEAVE_ERROR EventWriterTLVCopy(
  TLVWriter & ioWriter,
  uint8_t inDataTag,
  void *appData
)

ฟังก์ชันตัวช่วยที่แปลองค์ประกอบ ข้อมูลเหตุการณ์ที่เรียงลําดับแล้ว ลงในบัฟเฟอร์เหตุการณ์

รายละเอียด
พารามิเตอร์
[in,out] ioWriter
ผู้เขียนที่ใช้เขียนกิจกรรมนี้
[in] inDataTag
แท็กบริบทสําหรับ TLV ที่เรากําลังจะคัดลอก ไม่มีการใช้งานที่นี่ แต่ต้องระบุโดย typedef สําหรับ EventWriterFunct
[in] appData
ตัวชี้ไปยัง TLVReader ที่มีข้อมูลเหตุการณ์ที่เรียงลําดับ
มูลค่าการคืนสินค้า
WEAVE_NO_ERROR
เพื่อความสําเร็จ
other
ข้อผิดพลาดอื่นๆ ที่แสดงผลจาก ioWriter

คีย์รับพร็อพเพอร์ตี้

PropertyDictionaryKey GetPropertyDictionaryKey(
  PropertyPathHandle aHandle
)

แฮนเดิลสคีมา GetPropertySchema

PropertySchemaHandle GetPropertySchemaHandle(
  PropertyPathHandle aHandle
)

IsNullPropertyPathHandleHandle

bool IsNullPropertyPathHandle(
  PropertyPathHandle aHandle
)

แฮนเดิลเส้นทาง IsRootProperty

bool IsRootPropertyPathHandle(
  PropertyPathHandle aHandle
)

เป็นเวอร์ชันใหม่กว่านี้

bool IsVersionNewer(
  const DataVersion & aVersion,
  const DataVersion & aReference
)

นี่คือการใช้อัลกอริทึมในการเปรียบเทียบเวอร์ชันที่เหมาะสม

ในฝั่งไคลเอ็นต์ เวอร์ชันที่รับจากบริการจะเป็นเวอร์ชันล่าสุดเสมอ

เป็นเวอร์ชันใหม่กว่าหรือเท่ากัน

bool IsVersionNewerOrEqual(
  const DataVersion & aVersion,
  const DataVersion & aReference
)

ค้นหา

TraitUpdatableDataSink * Locate(
  TraitDataHandle aTraitDataHandle,
  const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog
)

ฟังก์ชันยูทิลิตีที่ค้นหา TraitUpdatableDataSink ในแคตตาล็อก TraitDataSink

รายละเอียด
พารามิเตอร์
[in] aTraitDataHandle
แฮนเดิลของซิงก์เพื่อค้นหา
[in] aDataSinkCatalog
แคตตาล็อกสําหรับการค้นหา
การคืนสินค้า
ตัวชี้ไปยัง 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 ควรมีองค์ประกอบข้อมูลอย่างน้อย 1 รายการ องค์ประกอบดังกล่าวต้องเป็นโครงสร้าง องค์ประกอบแรกที่อ่านจากผู้อ่านจะถือเป็นข้อมูลเหตุการณ์และจัดเก็บไว้ในบันทึกเหตุการณ์ ข้อมูลเหตุการณ์ต้องมีแท็กบริบทที่จะตีความภายในสคีมาที่ระบุโดย inProfileID และ inEventType ระบบจะไม่สนใจแท็กขององค์ประกอบแรก ระบบบันทึกเหตุการณ์จะแทนที่ด้วยแท็ก eventData

ระบบจะบันทึกเหตุการณ์หากการนําเข้ามีจํานวนเกินเกณฑ์การบันทึกที่ระบุไว้ใน LoggingConfiguration หากความสําคัญของเหตุการณ์ไม่ตรงตามเกณฑ์ปัจจุบัน กิจกรรมจะสูญหายไปและฟังก์ชันจะส่งกลับ 0 เป็นรหัสเหตุการณ์ที่ได้

รูปแบบของการเรียกใช้นี้ระบุตัวเลือกเหตุการณ์เริ่มต้นทั้งหมดโดยปริยาย

  • กิจกรรมจะประทับเวลาพร้อมกับเวลาปัจจุบันของการโทร
  • ระบบจะทําเครื่องหมายเหตุการณ์ว่า "เกี่ยวข้องกับอุปกรณ์ที่กําลังโทร"
  • กิจกรรมนี้เป็นกิจกรรมแบบสแตนด์อโลน ไม่เกี่ยวข้องกับกิจกรรมอื่นๆ
  • ระบบจะทําเครื่องหมายกิจกรรมว่าไม่ใช่สิ่งที่เร่งด่วน

รายละเอียด
พารามิเตอร์
[in] inSchema
สคีมาจะเป็นตัวกําหนดความสําคัญ รหัสโปรไฟล์ และประเภทโครงสร้างของเหตุการณ์นี้
[in] inData
เครื่องอ่าน TLV ที่มีข้อมูลเหตุการณ์เป็นองค์ประกอบแรก
การคืนสินค้า
event_id_t รหัสเหตุการณ์แบบมีการบันทึกเหตุการณ์ลงในบันทึก หรือไม่เช่นนั้น

เหตุการณ์บันทึก

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 ควรมีองค์ประกอบข้อมูลอย่างน้อย 1 รายการ องค์ประกอบดังกล่าวต้องเป็นโครงสร้าง องค์ประกอบแรกที่อ่านจากผู้อ่านจะถือเป็นข้อมูลเหตุการณ์และจัดเก็บไว้ในบันทึกเหตุการณ์ ข้อมูลเหตุการณ์ต้องมีแท็กบริบทที่จะตีความภายในสคีมาที่ระบุโดย inProfileID และ inEventType ระบบจะไม่สนใจแท็กขององค์ประกอบแรก ระบบบันทึกเหตุการณ์จะแทนที่ด้วยแท็ก eventData

ระบบจะบันทึกเหตุการณ์หากการนําเข้ามีจํานวนเกินเกณฑ์การบันทึกที่ระบุไว้ใน LoggingConfiguration หากความสําคัญของเหตุการณ์ไม่ตรงตามเกณฑ์ปัจจุบัน กิจกรรมจะสูญหายไปและฟังก์ชันจะส่งกลับ 0 เป็นรหัสเหตุการณ์ที่ได้

รูปแบบของการเรียกใช้นี้อนุญาตให้ผู้โทรตั้งค่าชุดค่าผสมของ EventOptions ดังนี้

  • เมื่อการประทับเวลาเริ่มต้นเป็น 0 เมื่อเวลา 0 เป็นค่าเริ่มต้นเวลาของการโทร
  • "root" ของแหล่งที่มาของเหตุการณ์ (แหล่งที่มาของเหตุการณ์และรหัสลักษณะเฉพาะ) หากค่าเป็น NULL ค่าเริ่มต้นจะใช้กับอุปกรณ์ปัจจุบัน เหตุการณ์จะได้รับการทําเครื่องหมายไว้ว่าเกี่ยวข้องกับอุปกรณ์ที่โทรออก
  • รหัสเหตุการณ์ที่เกี่ยวข้องสําหรับการจัดกลุ่มรหัสเหตุการณ์ เมื่อรหัสเหตุการณ์ที่เกี่ยวข้องเป็น 0 เหตุการณ์จะถูกทําเครื่องหมายว่าไม่เกี่ยวข้องกับเหตุการณ์อื่นๆ เลย
  • เร่งด่วน ซึ่งเร่งด่วนไม่เร่งด่วน

รายละเอียด
พารามิเตอร์
[in] inSchema
สคีมาจะเป็นตัวกําหนดความสําคัญ รหัสโปรไฟล์ และประเภทโครงสร้างของเหตุการณ์นี้
[in] inData
เครื่องอ่าน TLV ที่มีข้อมูลเหตุการณ์เป็นองค์ประกอบแรก ต้องไม่เป็นค่าว่าง
[in] inOptions
ตัวเลือกสําหรับข้อมูลเมตาของเหตุการณ์ ค่าจะเป็น Null
การคืนสินค้า
event_id_t รหัสเหตุการณ์แบบมีการบันทึกเหตุการณ์ลงในบันทึก หรือไม่เช่นนั้น

เหตุการณ์บันทึก

event_id_t LogEvent(
  const EventSchema & inSchema,
  EventWriterFunct inEventWriter,
  void *inAppData
)

บันทึกเหตุการณ์ผ่านโค้ดเรียกกลับ

ฟังก์ชันนี้จะบันทึกเหตุการณ์ที่แสดงเป็น EventWriterFunct และบริบท appData เฉพาะแอป ฟังก์ชันจะเขียนข้อมูลเมตาของเหตุการณ์และเรียก inEventWriter ด้วยการอ้างอิง nl::Weave::TLV::TLVWriter และบริบท inAppData เพื่อให้รหัสผู้ใช้สามารถส่งออกข้อมูลเหตุการณ์ไปยังบันทึกกิจกรรมได้โดยตรง การบันทึกเหตุการณ์รูปแบบนี้ช่วยลดการใช้หน่วยความจําให้เหลือน้อยที่สุด เนื่องจากเรียงข้อมูลเหตุการณ์ลงในบัฟเฟอร์เป้าหมายโดยตรง ข้อมูลเหตุการณ์ต้องมีแท็กบริบทที่จะตีความภายในสคีมาที่ระบุโดย inProfileID และ inEventType ระบบจะไม่สนใจแท็กขององค์ประกอบแรก ระบบบันทึกเหตุการณ์จะแทนที่ด้วยแท็ก eventData

ระบบจะบันทึกเหตุการณ์หากการนําเข้ามีจํานวนเกินเกณฑ์การบันทึกที่ระบุไว้ใน LoggingConfiguration หากความสําคัญของเหตุการณ์ไม่ตรงตามเกณฑ์ปัจจุบัน กิจกรรมจะสูญหายไปและฟังก์ชันจะส่งกลับ 0 เป็นรหัสเหตุการณ์ที่ได้

รูปแบบของการเรียกใช้นี้ระบุตัวเลือกเหตุการณ์เริ่มต้นทั้งหมดโดยปริยาย

  • กิจกรรมจะประทับเวลาพร้อมกับเวลาปัจจุบันของการโทร
  • ระบบจะทําเครื่องหมายเหตุการณ์ว่า "เกี่ยวข้องกับอุปกรณ์ที่กําลังโทร"
  • กิจกรรมนี้เป็นกิจกรรมแบบสแตนด์อโลน ไม่เกี่ยวข้องกับกิจกรรมอื่นๆ
  • ระบบจะทําเครื่องหมายกิจกรรมว่าไม่ใช่สิ่งที่เร่งด่วน

รายละเอียด
พารามิเตอร์
[in] inSchema
สคีมาจะเป็นตัวกําหนดความสําคัญ รหัสโปรไฟล์ และประเภทโครงสร้างของเหตุการณ์นี้
[in] inEventWriter
โค้ดเรียกกลับให้เรียกใช้ข้อมูลเหตุการณ์แบบอนุกรม
[in] inAppData
บริบทแอปพลิเคชันสําหรับโค้ดเรียกกลับ
การคืนสินค้า
event_id_t รหัสเหตุการณ์แบบมีการบันทึกเหตุการณ์ลงในบันทึก หรือไม่เช่นนั้น

เหตุการณ์บันทึก

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

ระบบจะบันทึกเหตุการณ์หากการนําเข้ามีจํานวนเกินเกณฑ์การบันทึกที่ระบุไว้ใน LoggingConfiguration หากความสําคัญของเหตุการณ์ไม่ตรงตามเกณฑ์ปัจจุบัน กิจกรรมจะสูญหายไปและฟังก์ชันจะส่งกลับ 0 เป็นรหัสเหตุการณ์ที่ได้

รูปแบบของการเรียกใช้นี้อนุญาตให้ผู้โทรตั้งค่าชุดค่าผสมของ EventOptions ดังนี้

  • เมื่อการประทับเวลาเริ่มต้นเป็น 0 เมื่อเวลา 0 เป็นค่าเริ่มต้นเวลาของการโทร
  • "root" ของแหล่งที่มาของเหตุการณ์ (แหล่งที่มาของเหตุการณ์และรหัสลักษณะเฉพาะ) หากค่าเป็น NULL ค่าเริ่มต้นจะใช้กับอุปกรณ์ปัจจุบัน เหตุการณ์จะได้รับการทําเครื่องหมายไว้ว่าเกี่ยวข้องกับอุปกรณ์ที่โทรออก
  • รหัสเหตุการณ์ที่เกี่ยวข้องสําหรับการจัดกลุ่มรหัสเหตุการณ์ เมื่อรหัสเหตุการณ์ที่เกี่ยวข้องเป็น 0 เหตุการณ์จะถูกทําเครื่องหมายว่าไม่เกี่ยวข้องกับเหตุการณ์อื่นๆ เลย
  • เร่งด่วน ซึ่งเร่งด่วนไม่เร่งด่วน

รายละเอียด
พารามิเตอร์
[in] inSchema
สคีมาจะเป็นตัวกําหนดความสําคัญ รหัสโปรไฟล์ และประเภทโครงสร้างของเหตุการณ์นี้
[in] inEventWriter
โค้ดเรียกกลับให้เรียกใช้ข้อมูลเหตุการณ์แบบอนุกรม
[in] inAppData
บริบทแอปพลิเคชันสําหรับโค้ดเรียกกลับ
[in] inOptions
ตัวเลือกสําหรับข้อมูลเมตาของเหตุการณ์ ค่าจะเป็น Null
การคืนสินค้า
event_id_t รหัสเหตุการณ์แบบมีการบันทึกเหตุการณ์ลงในบันทึก หรือไม่เช่นนั้น

LogFreeform

event_id_t LogFreeform(
  ImportanceType inImportance,
  const char *inFormat,
  ...
)

LogFreeform จะส่งสตริงรูปแบบอิสระไปยังสตรีมเหตุการณ์เริ่มต้น

ระบบจะรวมสตริงไว้ในโครงสร้างเหตุการณ์การแก้ไขข้อบกพร่อง ซึ่งมีโครงสร้างเหมือนกับสตริงอื่นๆ ที่บันทึกไว้ รหัสโปรไฟล์เหตุการณ์จะเป็นรหัสของเหตุการณ์การแก้ไขข้อบกพร่องของ Nest และประเภทเหตุการณ์จะเป็น kNestDebug_StringLogEntryEvent

รายละเอียด
พารามิเตอร์
[in] inImportance
ความสําคัญของรายการบันทึก หากความสําคัญต่ํากว่าความสําคัญปัจจุบัน ระบบจะไม่บันทึกเหตุการณ์ไว้
[in] inFormat
สตริงรูปแบบที่สอดคล้องกับ printf ตามด้วยอาร์กิวเมนต์ที่จะจัดรูปแบบ
การคืนสินค้า
event_id_t รหัสเหตุการณ์แบบมีการบันทึกเหตุการณ์ลงในบันทึก หรือไม่เช่นนั้น

LookForElementWithTag

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
)

ฟังก์ชันตัวช่วยสําหรับการขึ้นข้อความรูปแบบอิสระเป็นเหตุการณ์การแก้ไขข้อบกพร่อง

เหตุการณ์การแก้ไขข้อบกพร่องเป็นโครงสร้างที่มีภูมิภาคบันทึกและข้อความรูปแบบอิสระ

รายละเอียด
พารามิเตอร์
[in,out] ioWriter
ผู้เขียนที่ใช้เขียนกิจกรรมนี้
[in] appData
ตัวชี้ไปยัง DebugLogContext ซึ่งเป็นโครงสร้างที่เก็บรูปแบบสตริง อาร์กิวเมนต์ และภูมิภาคบันทึก
[in] inDataTag
แท็กบริบทสําหรับ TLV ที่เราเขียนออกมา ไม่มีการใช้งานที่นี่ แต่ต้องระบุโดย typedef สําหรับ EventWriterFunct
มูลค่าการคืนสินค้า
WEAVE_NO_ERROR
เพื่อความสําเร็จ
other
ข้อผิดพลาดอื่นๆ ที่แสดงผลจาก ioWriter

ผู้เขียนข้อความธรรมดา

WEAVE_ERROR PlainTextWriter(
  ::nl::Weave::TLV::TLVWriter & ioWriter,
  uint8_t inDataTag,
  void *appData
)

ฟังก์ชันตัวช่วยสําหรับการขึ้นข้อความรูปแบบอิสระเป็นเหตุการณ์การแก้ไขข้อบกพร่อง

เหตุการณ์การแก้ไขข้อบกพร่องเป็นโครงสร้างที่มีภูมิภาคบันทึกและข้อความรูปแบบอิสระ

รายละเอียด
พารามิเตอร์
[in,out] ioWriter
ผู้เขียนที่ใช้เขียนกิจกรรมนี้
[in] inDataTag
แท็กที่จะปล่อย
[in] appData
ตัวชี้ไปยัง DebugLogContext ซึ่งเป็นโครงสร้างที่เก็บรูปแบบสตริง อาร์กิวเมนต์ และภูมิภาคบันทึก
มูลค่าการคืนสินค้า
WEAVE_NO_ERROR
เพื่อความสําเร็จ
other
ข้อผิดพลาดอื่นๆ ที่อาจแสดงผลจาก ioWriter

โอเปอเรเตอร์!=

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

โอเปอเรเตอร์==

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