nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
คลาสพื้นฐาน Abstract สำหรับไคลเอ็นต์ WDM เฉพาะแอปพลิเคชัน
สรุป
DMClient คือไคลเอ็นต์ WDM มาตรฐาน การใช้งานนี้อาจรวมถึงการสมัครใช้บริการ/การแจ้งเตือนด้วย เป็นการผสมผสานระหว่างคลาส DM ProtocolEngine ซึ่งจัดการการเปลี่ยนข้อเหวี่ยงการสื่อสาร และคลาส ClientDataManager ที่เป็นนามธรรมทั้งหมด โดยใช้วิธีการที่เกี่ยวข้องกับการสมัครใช้บริการบางอย่างเพื่อให้เลเยอร์ที่สูงกว่าไม่ต้องกังวลเกี่ยวกับเรื่องนี้
ตัวแฮนเดิลสำหรับงานที่เกี่ยวข้องกับการสมัครใช้บริการจะทำหน้าที่เป็นอะแดปเตอร์แบบบางเหนือออบเจ็กต์ ClientNotifier เป็นหลัก ผู้ติดตั้งใช้งานคลาสย่อยควรเรียกใช้เมธอด Super-Class ที่เกี่ยวข้อง เพื่อเปลี่ยนข้อเหวี่ยงของตัวจัดการการสมัครใช้บริการ
โดยทั่วไปเมธอดคำขอ DMClient จะมี 2 ลายเซ็น โดยที่วิธีหนึ่งมีรหัสโหนดปลายทางที่ชัดเจน และอีกแบบหนึ่งมีปลายทางที่ระบุ ในทั้ง 2 กรณี ความสามารถในการส่งข้อความถึงผู้เผยแพร่โฆษณาจะขึ้นอยู่กับการเชื่อมโยงที่มีอยู่แล้วในไคลเอ็นต์ แต่ในกรณีแรก รหัสปลายทางมีไว้เพื่อเลือกระหว่างปลายทางที่ผูกไว้หลายรายการ และในกรณีที่ 2 ระบบจะเลือกรายการแรกในตารางการเชื่อมโยงเป็นค่าเริ่มต้น ซึ่งจะเป็นประโยชน์ ตัวอย่างเช่น ในกรณีที่ลูกค้าผูกอยู่กับผู้เผยแพร่โฆษณารายเดียวเท่านั้น
การสืบทอด
รับค่าจากnl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
ผู้ผลิตและผู้ทำลาย |
|
---|---|
DMClient(void)
ตัวสร้างเริ่มต้นสำหรับออบเจ็กต์ DMClient
|
|
~DMClient(void)
ตัวทำลายสำหรับออบเจ็กต์ DMClient
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
ขอมุมมองข้อมูลที่เผยแพร่
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
ขอมุมมองข้อมูลเกี่ยวกับผู้เผยแพร่โฆษณาเริ่มต้น
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
ขออัปเดตข้อมูลที่เผยแพร่แล้ว
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
ขออัปเดตข้อมูลในผู้เผยแพร่โฆษณาเริ่มต้น
|
แอตทริบิวต์ที่ได้รับการปกป้อง |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
ฟังก์ชันสาธารณะ |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
คำขอยกเลิกธุรกรรมที่กำลังดำเนินการ
|
Clear(void)
|
virtual void
ล้างสถานะภายในที่เชื่อมโยงกับออบเจ็กต์ DMClient
|
Finalize(void)
|
virtual void
ปิด DMClient ที่กำลังทำงานอยู่
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
จัดการ "การใช้งานให้เสร็จสิ้น" ของการเชื่อมโยงที่ใช้งานโดยไคลเอ็นต์
|
ฟังก์ชันที่มีการป้องกัน |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
ขอมุมมองข้อมูลที่เผยแพร่
ขอมุมมองข้อมูลที่มีอยู่และจัดการโดยผู้เผยแพร่โฆษณาระยะไกลที่ระบุ
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
||||||||
การส่งคืน |
ไม่เช่นนั้นแล้ว WEAVE_ERROR จะแสดงถึงความล้มเหลวในการเริ่มต้นหรือเริ่มต้นธุรกรรม
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
ขอมุมมองข้อมูลเกี่ยวกับผู้เผยแพร่โฆษณาเริ่มต้น
ขอมุมมองข้อมูลที่มีอยู่และจัดการโดยผู้เผยแพร่โฆษณา "เริ่มต้น" เช่น ผู้เผยแพร่โฆษณารายแรก (หรือเพียงรายเดียว) ในตารางการเชื่อมโยงของลูกค้า
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
||||||
การส่งคืน |
ไม่เช่นนั้นแล้ว WEAVE_ERROR จะแสดงถึงความล้มเหลวในการเริ่มต้นหรือเริ่มต้นธุรกรรม
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
ขออัปเดตข้อมูลที่เผยแพร่แล้ว
ขอให้ผู้เผยแพร่โฆษณาระยะไกลอัปเดตข้อมูลในการจัดการ
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
การส่งคืน |
WEAVE_NO_ERROR ที่สำเร็จ หรือ WEAVE_ERROR_NO_MEMORY หากไม่สามารถจัดสรรธุรกรรมการอัปเดตได้ มิฉะนั้น แสดงผล WEAVE_ERROR ซึ่งแสดงว่าการอัปเดตล้มเหลว
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
ขออัปเดตข้อมูลในผู้เผยแพร่โฆษณาเริ่มต้น
ขอให้ผู้เผยแพร่โฆษณาระยะไกลอัปเดตข้อมูลในการจัดการ เวอร์ชันนี้จะส่งคำขอไปยังผู้เผยแพร่โฆษณาที่เป็นเป้าหมายของการเชื่อมโยงเริ่มต้นของลูกค้า
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
การส่งคืน |
WEAVE_NO_ERROR ที่สำเร็จ หรือ WEAVE_ERROR_NO_MEMORY หากไม่สามารถจัดสรรธุรกรรมการอัปเดตได้ มิฉะนั้น แสดงผล WEAVE_ERROR ซึ่งแสดงว่าการอัปเดตล้มเหลว
|
แอตทริบิวต์ที่ได้รับการปกป้อง
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
ฟังก์ชันสาธารณะ
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
คำขอยกเลิกธุรกรรมที่กำลังดำเนินการ
วิธีการนี้จะไม่สร้างการจราจรของข้อมูลในเครือข่าย แต่เพียงแค่ปล่อยทรัพยากรที่จัดสรรไว้ให้กับธุรกรรมที่ระบุ
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
การส่งคืน |
WEAVE_NO_ERROR ที่สำเร็จ หรือ WEAVE_ERROR ที่แสดงถึงข้อผิดพลาดในการยกเลิกธุรกรรม
|
ล้าง
virtual void Clear( void )
ล้างสถานะภายในที่เชื่อมโยงกับออบเจ็กต์ DMClient
โดยเฉพาะอย่างยิ่ง เมธอดนี้จะล้างพูลธุรกรรมของไคลเอ็นต์ทั้งหมด สำหรับลูกค้าที่ใช้เมธอด Finalize() เป็นวิธีที่ดีกว่า เพราะจะยกเลิกการสมัครใช้บริการและล้างตารางธุรกรรมและการเชื่อมโยงด้วย
ดูเพิ่มเติม:Finalize()
DMClient
DMClient( void )
ทำให้สิ้นสุด
virtual void Finalize( void )
ปิด DMClient ที่กำลังทำงานอยู่
ล้างสถานะการทำงานทั้งหมดที่เกี่ยวข้องกับไคลเอ็นต์และนำการสมัครใช้บริการที่เกี่ยวข้องทั้งหมดออกจากตัวแจ้ง หลังจากเรียก Finalize() แล้ว DMClient อาจเริ่มต้นอีกครั้งได้ง่ายๆ โดยเรียก Init() จากนั้นตัวทำลาย DMClient จะเรียกใช้ Finalize() แต่ก็อาจเรียกใช้ได้ในกรณีที่ต้องทำความสะอาด DMClient เช่น ในกรณีที่เครื่องล้มเหลวหรือปิดเครื่องชั่วคราว แต่อาจต้องสร้างอีกครั้งในภายหลัง
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
จัดการ "การใช้งานให้เสร็จสิ้น" ของการเชื่อมโยงที่ใช้งานโดยไคลเอ็นต์
เมื่อการเชื่อมโยงล้มเหลวโดยไม่คาดคิด เช่น ถ้าการเชื่อมต่อที่เกี่ยวข้องกับการเชื่อมโยงถูกปิด ระบบจะเรียกใช้เมธอดนี้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
~ไคลเอ็นต์ DM
virtual ~DMClient( void )
ตัวทำลายสำหรับออบเจ็กต์ DMClient
ล้างสถานะภายในทั้งหมดและยกเลิกการสมัครใช้บริการที่รอดำเนินการ หากจำเป็น