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
การอ้างอิงไปยังออบเจ็กต์ Status Report ที่อธิบายรายละเอียดเหตุผลในการล้มเหลว

เริ่มต้น

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

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

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

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

เริ่มต้น

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
ตัวชี้ไปยังบริบทของ Exchange ที่คำขอได้รับ
[in] aStatus
การอ้างอิงไปยังออบเจ็กต์ Statusรายงาน ที่มีข้อมูลเกี่ยวกับสถานะของคำขอ
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้นจะแสดงผล WEAVE_ERROR ซึ่งแสดงว่าไม่สามารถส่งข้อความตอบกลับ

ViewResponse

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

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

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

รายละเอียด
พารามิเตอร์
[in] aResponseCtx
ตัวชี้ไปยังบริบทของ Exchange ที่คำขอได้รับ
[in] aStatus
การอ้างอิงไปยังออบเจ็กต์ Statusรายงาน ที่มีข้อมูลเกี่ยวกับสถานะของคำขอ ในกรณีที่การดำเนินการสำเร็จ ผู้ขอจะคาดหวังรายการข้อมูลซึ่งมีข้อมูลที่สนใจ
[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 หากมี