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

Function run_instance

tools/modeling/tests/MultiInstance/subscriber.cpp:74–103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

72
73template<class ModelType>
74int run_instance(ModelType& model) {
75 using OpenDDS::Model::MultiInstance::Elements;
76
77 DDS::DataReader_var reader = model.reader( Elements::DataReaders::reader);
78
79 ACE_SYNCH_MUTEX lock;
80 ACE_Condition<ACE_SYNCH_MUTEX> condition(lock);
81 OpenDDS::Model::ReaderCondSync rcs(reader, condition);
82 DDS::DataReaderListener_var listener(new ReaderListener(rcs));
83 reader->set_listener( listener.in(), OpenDDS::DCPS::DEFAULT_STATUS_MASK);
84
85 // Call on_data_available in case there are samples which are waiting
86 listener->on_data_available(reader);
87
88 // START OF EXISTING MESSENGER EXAMPLE CODE
89
90 data1::MessageDataReader_var reader_i =
91 data1::MessageDataReader::_narrow(reader);
92
93 if (CORBA::is_nil(reader_i.in())) {
94 ACE_ERROR_RETURN((LM_ERROR,
95 ACE_TEXT("ERROR: %N:%l: run_instance() -")
96 ACE_TEXT(" _narrow failed!\n")),
97 -1);
98 }
99
100 // END OF EXISTING MESSENGER EXAMPLE CODE
101
102 return 0;
103}
104
105int ACE_TMAIN(int argc, ACE_TCHAR** argv)
106{

Callers 1

ACE_TMAINFunction · 0.70

Calls 4

readerMethod · 0.45
set_listenerMethod · 0.45
inMethod · 0.45
on_data_availableMethod · 0.45

Tested by

no test coverage detected