# Publisher

Publisher(发布者)用于创建和管理一组 DataWriter 的活动。Publisher 的主要接口如下表所示,本文只对常用接口进行详细说明,其他可参考 DDS 规范。

表 1 Publisher 接口
接口函数 接口功能
create_datawriter 创建DataWriter
delete_datawriter 删除DataWriter

# Create_datawriter

1) 函数原型

DataWriter* create_datawriter(Topic* pTopic,
		const DataWriterQos& Qos,
		DataWriterListener * pDataWriterListener,
		StatusMask mask);

1
2
3
4
5

2) 功能简介

创建 DataWriter,指定要发布的主题,并绑定参数中的 QoS 和监听器。创建完成的 DataWriter 可用于主题数据的按需发送。

3) 输入参数

Topic* pTopic [in]:要发布的主题对象指针。

const DataWriterQos& Qos [in]:DataWriter QoS,表示本 DataWriter 采用的 QoS 策略。

DataWriterListener * pDataWriterListener [in]:DataWriter 监听器,当 DataWriter 发生特定事件时,监听器将调用回调函数进行响应。

StatusMask mask[in]:状态掩码,用于指定哪些特定事件会触发监听器的回调。

4) 输出参数

无。

5) 返回值

若成功执行则返回创建成功的 DataWriter 对象的指针,否则返回空指针 NULL。

# Delete_datawriter

1) 函数原型

ReturnCode_t delete_datawriter(DataWriter* pDataWriter);
1

2) 功能简介

删除指定的 DataWtiter 对象

3) 输入参数

DataWriter* pDataWriter [in]:要删除的 DataWriter 对象。

4) 输出参数

无。

5) 返回值

若成功执行则返回创建 0(RETCODE_OK),否则返回错误码。