| 118 | } |
| 119 | |
| 120 | void read_plain(DDS::DataReader_var& data_reader, bool& done, bool& got_message) |
| 121 | { |
| 122 | HelloWorld::MessageDataReader_var message_data_reader = HelloWorld::MessageDataReader::_narrow(data_reader); |
| 123 | HelloWorld::MessageSeq messages; |
| 124 | DDS::SampleInfoSeq infos; |
| 125 | message_data_reader->take(messages, infos, DDS::LENGTH_UNLIMITED, |
| 126 | DDS::ANY_SAMPLE_STATE, DDS::ANY_VIEW_STATE, DDS::ANY_INSTANCE_STATE); |
| 127 | for (unsigned int idx = 0; idx != messages.length(); ++idx) { |
| 128 | if (!strcmp(messages[idx].value.in(), HelloWorld::MESSAGE_EXAMPLE_VALUE)) { |
| 129 | got_message = true; |
| 130 | } |
| 131 | if (infos[idx].valid_data) { |
| 132 | ACE_DEBUG((LM_DEBUG, "received %C\n", messages[idx].value.in())); |
| 133 | done = true; |
| 134 | } |
| 135 | } |
| 136 | } |
| 137 | |
| 138 | void read_dynamic(DDS::DataReader_var& data_reader, bool& done, bool& got_message) |
| 139 | { |