# Subscriber

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

表 1 Subscriber 接口
接口函数 接口功能
create_datareader 创建DataReader
delete_datareader 删除DataReader

# Create_datareader

1) 函数原型

DataReader* create_datareader(TopicDescription* pTopic, 
		const DataReaderQos& Qos,  
		DataReaderListener* pDataReaderListener, 
		StatusMask mask);

1
2
3
4
5

2) 功能简介

创建DataReader,指定要订阅的主题,并绑定参数中的QoS和监听器。创建完成的DataReader可用于主题数据的按需接收。

3) 输入参数

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

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

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

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

4) 输出参数

无。

5) 返回值

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

# Delete_datareader

1) 函数原型

ReturnCode_t delete_datareader(DataReader* pDataReader);
1

2) 功能简介

删除指定的DataReader对象。

3) 输入参数

DataReader* pDataReader [in]:要删除的DataReader对象。

4) 输出参数

无。

5) 返回值

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