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

Method createWriter

tools/modeling/codegen/model/Delegate.cpp:158–193  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

156}
157
158DDS::DataWriter*
159OpenDDS::Model::Delegate::createWriter(
160 DDS::Publisher* publisher,
161 DDS::Topic* topic,
162 const DDS::DataWriterQos& writerQos,
163 DDS::StatusMask mask,
164 const OPENDDS_STRING& transportConfig)
165{
166 // If we specify a transport and have autoenable modeled,
167 // temporarily turn off autoenabling
168 bool overridden = false;
169 bool transportSpecified = !transportConfig.empty();
170
171 // If transport config was specified
172 if (transportSpecified) {
173 overridden = override_autoenabled_qos(publisher);
174 }
175
176 DDS::DataWriter_ptr dataWriter = publisher->create_datawriter(
177 topic,
178 writerQos,
179 DDS::DataWriterListener::_nil(),
180 mask
181 );
182
183 if (transportSpecified) {
184 // Restore autoenabling if necessary
185 if (overridden) {
186 restore_autoenabled_qos(publisher);
187 }
188 // bind to specified transport
189 TheTransportRegistry->bind_config(transportConfig, dataWriter);
190 }
191
192 return dataWriter;
193}
194
195DDS::DataReader*
196OpenDDS::Model::Delegate::createSubscription(

Callers 2

createPublicationMethod · 0.95
writerMethod · 0.80

Calls 3

emptyMethod · 0.45
create_datawriterMethod · 0.45
bind_configMethod · 0.45

Tested by

no test coverage detected