| 136 | } |
| 137 | |
| 138 | void read_dynamic(DDS::DataReader_var& data_reader, bool& done, bool& got_message) |
| 139 | { |
| 140 | DDS::DynamicDataReader_var ddr = DDS::DynamicDataReader::_narrow(data_reader); |
| 141 | DDS::DynamicDataSeq messages; |
| 142 | DDS::SampleInfoSeq infos; |
| 143 | ddr->take(messages, infos, DDS::LENGTH_UNLIMITED, |
| 144 | DDS::ANY_SAMPLE_STATE, DDS::ANY_VIEW_STATE, DDS::ANY_INSTANCE_STATE); |
| 145 | for (unsigned int idx = 0; idx != messages.length(); ++idx) { |
| 146 | CORBA::String_var str; |
| 147 | messages[idx]->get_string_value(str, 0); |
| 148 | if (!strcmp(str.in(), HelloWorld::MESSAGE_EXAMPLE_VALUE)) { |
| 149 | got_message = true; |
| 150 | } |
| 151 | if (infos[idx].valid_data) { |
| 152 | ACE_DEBUG((LM_DEBUG, "received %C\n", str.in())); |
| 153 | done = true; |
| 154 | } |
| 155 | } |
| 156 | } |
| 157 |
no test coverage detected