nl::Weave::Profiles::DataManagement_Current::NotificationEngine::NotifyRequestBuilder

#include <src/lib/profiles/data-management/Current/NotificationEngine.h>

ซึ่งเป็นชั้นเรียนผู้ช่วยในการเขียนการแจ้งเตือนและแยกโครงสร้างและโครงสร้างของข้อความออกจากผู้บริโภค

สรุป

ซึ่งเป็นคลาสที่กะทัดรัดมากกว่าของคลาสที่คล้ายกันซึ่งระบุไว้ใน MessageDef.cpp ซึ่งมุ่งให้มีความไวต่อความต้องการ Flash และ RAM ของอุปกรณ์

ฟังก์ชันสาธารณะ

Checkpoint(TLV::TLVWriter & aPoint)
ตรวจสอบสถานะคำขอไปยัง TLVWriter
EndDataList()
สิ้นสุดการสร้างอาร์เรย์รายการข้อมูล
EndEventList()
สิ้นสุดการสร้างรายการเหตุการณ์
EndNotifyRequest()
สิ้นสุดการสร้างการแจ้งเตือน
GetWriter(void)
Init(PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
เริ่มต้นเครื่องมือสร้าง
MoveToState(NotifyRequestBuilderState aDesiredState)
ฟังก์ชันการเปลี่ยนสถานะหลัก
Rollback(TLV::TLVWriter & aPoint)
ย้อนกลับสถานะของคำขอไปยัง TLVWriter ที่มีการตรวจสอบ
StartDataList(void)
เริ่มการสร้างอาร์เรย์รายการข้อมูล
StartEventList()
เริ่มการสร้างรายการเหตุการณ์
StartNotifyRequest()
เริ่มสร้างการแจ้งเตือน
WriteDataElement(TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
เขียนองค์ประกอบข้อมูลที่เชื่อมโยงกับเส้นทางนั้นตามเส้นทางลักษณะ

ฟังก์ชันสาธารณะ

จุดตรวจ

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

ตรวจสอบสถานะคำขอไปยัง TLVWriter

รายละเอียด
พารามิเตอร์
[out] aPoint
ผู้เขียนที่จะตรวจสอบสถานะของผู้เขียน TLV
แสดงผลค่า
WEAVE_NO_ERROR
ความสำเร็จ

EndDataList

WEAVE_ERROR EndDataList()

สิ้นสุดการสร้างอาร์เรย์รายการข้อมูล

รายละเอียด
แสดงผลค่า
WEAVE_NO_ERROR
ความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากคำขอไม่ได้อยู่ที่คอนเทนเนอร์ DataList
other
สร้างจุดสิ้นสุดของรายการข้อมูลไม่ได้

EndEventList

WEAVE_ERROR EndEventList()

สิ้นสุดการสร้างรายการเหตุการณ์

รายละเอียด
แสดงผลค่า
WEAVE_NO_ERROR
ความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากคำขอไม่ได้อยู่ที่คอนเทนเนอร์ EventList
other
สร้างจุดสิ้นสุดของรายการข้อมูลไม่ได้

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

สิ้นสุดการสร้างการแจ้งเตือน

รายละเอียด
แสดงผลค่า
WEAVE_NO_ERROR
ความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากคำขอไม่ได้อยู่ที่คอนเทนเนอร์แจ้งเตือน
other
สร้างจุดสิ้นสุดของการแจ้งเตือนไม่ได้

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

เริ่มต้น

WEAVE_ERROR Init(
  PacketBuffer *aBuf,
  TLV::TLVWriter *aWriter,
  SubscriptionHandler *aSubHandler,
  uint32_t aMaxPayloadSize
)

เริ่มต้นเครื่องมือสร้าง

ควรเรียกเพียงครั้งเดียว

รายละเอียด
แสดงผลค่า
WEAVE_NO_ERROR
ความสำเร็จ
other
ไม่สามารถเริ่มต้นเครื่องมือสร้าง

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

ฟังก์ชันการเปลี่ยนสถานะหลัก

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

รายละเอียด
พารามิเตอร์
aDesiredState
สถานะที่ต้องการซึ่งคำขอควรเปลี่ยนเป็น
แสดงผลค่า
WEAVE_NO_ERROR
ความสำเร็จ
WEAVE_ERROR_NO_MEMORY
เปลี่ยนสถานะไม่ได้เนื่องจากหน่วยความจำไม่เพียงพอ
WEAVE_ERROR_INCORRECT_STATE
เครื่องแสดงสถานะภายในเสียหาย
other
เมื่อเครื่องบันทึกสถานะบันทึกสถานะในบัฟเฟอร์ไม่ได้ อาจบ่งบอกถึงข้อบกพร่องในการออกแบบมากกว่าเป็นปัญหารันไทม์

ย้อนกลับ

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

ย้อนกลับสถานะของคำขอไปยัง TLVWriter ที่มีการตรวจสอบ

รายละเอียด
พารามิเตอร์
[in] aPoint
นักเขียนคนหนึ่งที่จับภาพรัฐ ณ เวลาใดเวลาหนึ่งในอดีต
แสดงผลค่า
WEAVE_NO_ERROR
ความสำเร็จ

StartDataList

WEAVE_ERROR StartDataList(
  void
)

เริ่มการสร้างอาร์เรย์รายการข้อมูล

รายละเอียด
แสดงผลค่า
WEAVE_NO_ERROR
ความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากคำขอไม่ได้อยู่ที่คอนเทนเนอร์แจ้งเตือน
other
สร้างจุดเริ่มต้นของรายการข้อมูลไม่ได้

StartEventList

WEAVE_ERROR StartEventList()

เริ่มการสร้างรายการเหตุการณ์

รายละเอียด
แสดงผลค่า
WEAVE_NO_ERROR
ความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากคำขอไม่ได้อยู่ที่คอนเทนเนอร์แจ้งเตือน
other
สร้างจุดเริ่มต้นของรายการข้อมูลไม่ได้

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

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

รายละเอียด
แสดงผลค่า
WEAVE_NO_ERROR
ความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากคำขอไม่ได้อยู่ที่ระดับบนสุดของบัฟเฟอร์
other
สร้างจุดสิ้นสุดของการแจ้งเตือนไม่ได้

WriteDataElement

WEAVE_ERROR WriteDataElement(
  TraitDataHandle aTraitDataHandle,
  PropertyPathHandle aPropertyPathHandle,
  SchemaVersion aSchemaVersion,
  PropertyPathHandle *aMergeDataHandleSet,
  uint32_t aNumMergeDataHandles,
  PropertyPathHandle *aDeleteHandleSet,
  uint32_t aNumDeleteHandles
)

เขียนองค์ประกอบข้อมูลที่เชื่อมโยงกับเส้นทางนั้นตามเส้นทางลักษณะ

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

รายละเอียด
แสดงผลค่า
WEAVE_NO_ERROR
ความสำเร็จ
other
ไม่สามารถดึงและเขียนองค์ประกอบข้อมูล