MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / create_reader

Function create_reader

tests/DCPS/ManyTopicTest/subscriber.cpp:119–137  ·  view source on GitHub ↗

TSI is some generated TypeSupportImpl

Source from the content-addressed store, hash-verified

117// return it anyway in order to demostrate the use of the nested typedefs.
118template<typename MessageType> // TSI is some generated TypeSupportImpl
119DDS::DataReader_var
120create_reader(const DDS::Subscriber_var& sub, const char* topicName,
121 const DDS::DataReaderQos& qos = DATAREADER_QOS_DEFAULT,
122 const DDS::DataReaderListener_var& listener = 0,
123 const DDS::StatusMask& mask = OpenDDS::DCPS::DEFAULT_STATUS_MASK)
124{
125 const DDS::TypeSupport_var ts = new typename ::OpenDDS::DCPS::DDSTraits<MessageType>::TypeSupportImplType();
126 const DDS::DomainParticipant_var dp = sub->get_participant();
127 const CORBA::String_var typeName = ts->get_type_name();
128 (void) ts->register_type(dp, typeName); // may have been registered before
129
130 const DDS::Topic_var topic =
131 dp->create_topic(topicName, typeName, TOPIC_QOS_DEFAULT, 0, 0);
132 if (!topic) return 0;
133
134 const DDS::DataReader_var dr =
135 sub->create_datareader(topic, qos, listener, mask);
136 return OpenDDS::DCPS::DDSTraits<MessageType>::DataReaderType::_narrow(dr);
137}
138
139
140void print1(const T1::Foo1& foo, int i)

Callers 1

test_caseMethod · 0.85

Calls 5

get_participantMethod · 0.45
get_type_nameMethod · 0.45
register_typeMethod · 0.45
create_topicMethod · 0.45
create_datareaderMethod · 0.45

Tested by 1

test_caseMethod · 0.68