nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
คลาสพื้นฐานแบบนามธรรมสำหรับไคลเอ็นต์ 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 )
จัดการกับ "ความสมบูรณ์" ของการเชื่อมโยงที่ไคลเอ็นต์ใช้งาน
เมื่อการเชื่อมโยงล้มเหลวโดยไม่คาดคิด เช่น หากการเชื่อมต่อที่เกี่ยวข้องในการเชื่อมโยงปิดอยู่ จะมีการเรียกใช้เมธอดนี้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
~DMClient
virtual ~DMClient( void )
ตัวทำลายออบเจ็กต์ DMClient
ล้างสถานะภายในทั้งหมดและยกเลิกการสมัครใช้บริการที่รอดำเนินการหากจำเป็น