nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

#include <src/lib/profiles/data-management/Legacy/DMPublisher.h>

คลาสพื้นฐานสมมติสำหรับผู้เผยแพร่โฆษณา WDM เฉพาะแอปพลิเคชัน

สรุป

DMPublisher คือคลาสพื้นฐานของผู้เผยแพร่ WDM มาตรฐาน โดยเป็นการผสมผสานคลาส DM ProtocolEngine ซึ่งจัดการการเปลี่ยนคำสั่งสำหรับการสื่อสาร และคลาส PublisherDataManager ที่มีลักษณะเป็นนามธรรมทั้งหมด การรองรับการสมัครรับข้อมูลและการแจ้งเตือนนั้นเป็นแบบไม่บังคับ และสามารถระงับได้โดยการกำหนดค่าตารางการสมัครรับข้อมูลที่ไม่มีรายการใดๆ

การสืบทอด

รับค่าจาก:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

ผู้ผลิตและผู้ทำลาย

DMPublisher(void)
ตัวสร้างเริ่มต้นสำหรับออบเจ็กต์ DMPublisher
~DMPublisher(void)
ตัวทำลายออบเจ็กต์ DMPublisher

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

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
ล้างสถานะภายในของออบเจ็กต์ DMPublisher
Finalize(void)
virtual void
ปิด DMPublisher ที่ทํางานอยู่
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
จัดการสิ่งที่ระบุว่าการเชื่อมโยงไม่สำเร็จ
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
เริ่มต้นออบเจ็กต์ DMPublisher
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
ตอบกลับคำขออัปเดต
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
ตอบกลับคำขอดูข้อมูล

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

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

ล้าง

virtual void Clear(
  void
)

ล้างสถานะภายในของออบเจ็กต์ DMPublisher

ล้างกลุ่มธุรกรรมการแจ้งเตือนและตารางการสมัครใช้บริการ

DMPublisher

 DMPublisher(
  void
)

ตัวสร้างเริ่มต้นสำหรับออบเจ็กต์ DMPublisher

ล้างสถานะภายในทั้งหมด

สรุป

virtual void Finalize(
  void
)

ปิด DMPublisher ที่ทํางานอยู่

ล้างสถานะการดำเนินการทั้งหมดและปิด Listener ถ้ามีที่ทำงานอยู่

IncompleteIndication

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

จัดการสิ่งที่ระบุว่าการเชื่อมโยงไม่สำเร็จ

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

รายละเอียด
พารามิเตอร์
[in] aBinding
ตัวชี้ไปยังการเชื่อมโยงที่ล้มเหลว
[in] aReport
การอ้างอิงออบเจ็กต์ StatusReport ที่อธิบายสาเหตุของความล้มเหลว

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

เริ่มต้นออบเจ็กต์ DMPublisher

วิธีการนี้มีผลข้างเคียงจากการติดตั้ง Listener ในตัวจัดการ Exchange สำหรับคำขอทั้งหมดของไคลเอ็นต์ ซึ่งอาจรวมถึงคำขอสำหรับการสมัครรับข้อมูล

รายละเอียด
พารามิเตอร์
[in] aExchangeMgr
ตัวชี้ไปยังออบเจ็กต์ WeaveExchangeManager เพื่อใช้กับ Exchange ทั้งหมดที่ผู้เผยแพร่โฆษณาต้องการเข้าร่วม
[in] aResponseTimeout
ระยะหมดเวลาของการตอบกลับเป็นมิลลิวินาที ซึ่งก็คือเวลาสูงสุดในการรอการตอบกลับนั่นเอง
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว มิฉะนั้น ให้แสดงผล WEAVE_ERROR ซึ่งแสดงให้เห็นว่าไม่สามารถตั้งค่าผู้เผยแพร่โฆษณาได้อย่างถูกต้อง

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

ตอบกลับคำขออัปเดต

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

รายละเอียด
พารามิเตอร์
[in] aResponseCtx
ตัวชี้ไปยังบริบทด้านการแลกเปลี่ยนที่มีการส่งคำขอ
[in] aStatus
การอ้างอิงออบเจ็กต์ StatusReport ที่มีข้อมูลเกี่ยวกับสถานะของคําขอ
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จแล้ว หรือแสดงผล WEAVE_ERROR เพื่อแสดงให้เห็นว่าไม่สามารถส่งข้อความตอบกลับได้

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

ตอบกลับคำขอดูข้อมูล

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

รายละเอียด
พารามิเตอร์
[in] aResponseCtx
ตัวชี้ไปยังบริบทด้านการแลกเปลี่ยนที่มีการส่งคำขอ
[in] aStatus
การอ้างอิงออบเจ็กต์ StatusReport ที่มีข้อมูลเกี่ยวกับสถานะของคําขอ ในกรณีที่ดำเนินการสำเร็จ ผู้ขอจะต้องมีรายการข้อมูลซึ่งมีข้อมูลที่สนใจ
[in] aDataList
ตัวชี้ไปยังออบเจ็กต์ ReferencedTLVData ที่ไม่บังคับซึ่งมีรายการข้อมูลที่เข้ารหัส TLV ซึ่งมีข้อมูลที่สนใจและเส้นทางที่ระบุการจัดการข้อมูลนั้น โปรดทราบว่าพารามิเตอร์นี้จะต้องเป็น NULL ในกรณีที่สถานะที่ระบุในพารามิเตอร์ก่อนหน้าไม่สำเร็จ
ผลลัพธ์
WEAVE_NO_ERROR
สำเร็จแล้ว มิฉะนั้น ให้แสดงผล WEAVE_ERROR เพื่อแสดงให้เห็นว่าไม่สามารถส่งข้อความตอบกลับได้
WEAVE_ERROR_INVALID_ARGUMENT
หากพารามิเตอร์ที่ระบุไม่สอดคล้องกัน
WEAVE_ERROR_NO_MEMORY
หากจัดสรรบัฟเฟอร์ Inet ไม่ได้

~DMPublisher

virtual  ~DMPublisher(
  void
)

ตัวทำลายออบเจ็กต์ DMPublisher

ล้างสถานะภายในทั้งหมดและนำ Listener ออกจากผู้จัดการ Exchange หากมี