#include <MultiTopicDataReader_T.h>
Definition at line 25 of file MultiTopicDataReader_T.h.
typedef TAO::DCPS::ZeroCopyDataSeq<Sample> OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::SampleSeq |
Definition at line 29 of file MultiTopicDataReader_T.h.
typedef std::vector<SampleWithInfo> OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::SampleVec [private] |
Definition at line 121 of file MultiTopicDataReader_T.h.
typedef std::set<OPENDDS_STRING> OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::TopicSet [private] |
Definition at line 122 of file MultiTopicDataReader_T.h.
OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::MultiTopicDataReader_T | ( | ) | [inline] |
Definition at line 31 of file MultiTopicDataReader_T.h.
void OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::assign_fields | ( | void * | incoming, | |
Sample & | resulting, | |||
const QueryPlan & | qp, | |||
const MetaStruct & | meta | |||
) | [inline, private] |
Definition at line 38 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MetaStruct::assign(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::getResultingMeta(), OpenDDS::DCPS::MultiTopicImpl::SubjectFieldSpec::incoming_name_, OpenDDS::DCPS::MultiTopicDataReaderBase::QueryPlan::keys_projected_out_, OpenDDS::DCPS::MultiTopicDataReaderBase::QueryPlan::projection_, and OpenDDS::DCPS::MultiTopicImpl::SubjectFieldSpec::resulting_name_.
Referenced by OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::incoming_sample(), and OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::join().
00041 { 00042 using namespace std; 00043 const vector<SubjectFieldSpec>& proj = qp.projection_; 00044 const MetaStruct& resulting_meta = getResultingMeta(); 00045 typedef vector<SubjectFieldSpec>::const_iterator iter_t; 00046 for (iter_t iter = proj.begin(); iter != proj.end(); ++iter) { 00047 const SubjectFieldSpec& sfs = *iter; 00048 resulting_meta.assign(&resulting, sfs.resulting_name_.c_str(), 00049 incoming, sfs.incoming_name_.c_str(), meta); 00050 } 00051 00052 const vector<OPENDDS_STRING>& proj_out = qp.keys_projected_out_; 00053 for (vector<OPENDDS_STRING>::const_iterator iter = proj_out.begin(); 00054 iter != proj_out.end(); ++iter) { 00055 resulting_meta.assign(&resulting, iter->c_str(), 00056 incoming, iter->c_str(), meta); 00057 } 00058 }
void OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::assign_resulting_fields | ( | Sample & | target, | |
const Sample & | source, | |||
const TopicSet & | other_topics | |||
) | [inline, private] |
Definition at line 62 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MetaStruct::assign(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::getResultingMeta(), OpenDDS::DCPS::MultiTopicDataReaderBase::QueryPlan::projection_, and OpenDDS::DCPS::MultiTopicImpl::SubjectFieldSpec::resulting_name_.
Referenced by OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::combine().
00064 { 00065 using namespace std; 00066 const MetaStruct& meta = getResultingMeta(); 00067 for (TopicSet::const_iterator iterTopic = other_topics.begin(); 00068 iterTopic != other_topics.end(); ++iterTopic) { 00069 const QueryPlan& qp = query_plans_[*iterTopic]; 00070 const vector<SubjectFieldSpec>& proj = qp.projection_; 00071 typedef vector<SubjectFieldSpec>::const_iterator iter_t; 00072 for (iter_t iter = proj.begin(); iter != proj.end(); ++iter) { 00073 const SubjectFieldSpec& sfs = *iter; 00074 meta.assign(&target, sfs.resulting_name_.c_str(), 00075 &source, sfs.resulting_name_.c_str(), meta); 00076 } 00077 } 00078 }
void OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::combine | ( | SampleVec & | resulting, | |
const SampleVec & | other, | |||
const std::vector< OPENDDS_STRING > & | key_names, | |||
const TopicSet & | other_topics | |||
) | [inline, private] |
Definition at line 162 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::assign_resulting_fields(), OpenDDS::DCPS::MetaStruct::compare(), and OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::getResultingMeta().
00165 { 00166 const MetaStruct& meta = getResultingMeta(); 00167 SampleVec newData; 00168 for (typename SampleVec::iterator iterRes = resulting.begin(); 00169 iterRes != resulting.end(); /*incremented in loop*/) { 00170 bool foundOneMatch = false; 00171 for (typename SampleVec::const_iterator iterOther = other.begin(); 00172 iterOther != other.end(); ++iterOther) { 00173 bool match = true; 00174 for (size_t i = 0; match && i < key_names.size(); ++i) { 00175 if (!meta.compare(&*iterRes, &*iterOther, key_names[i].c_str())) { 00176 match = false; 00177 } 00178 } 00179 if (!match) { 00180 continue; 00181 } 00182 if (foundOneMatch) { 00183 newData.push_back(*iterRes); 00184 newData.back().combine(*iterOther); 00185 assign_resulting_fields(newData.back().sample_, 00186 iterOther->sample_, other_topics); 00187 } else { 00188 foundOneMatch = true; 00189 iterRes->combine(*iterOther); 00190 assign_resulting_fields(iterRes->sample_, 00191 iterOther->sample_, other_topics); 00192 } 00193 } 00194 if (foundOneMatch) { 00195 ++iterRes; 00196 } else { 00197 // no match found in 'other' so data must not appear in result set 00198 iterRes = resulting.erase(iterRes); 00199 } 00200 } 00201 resulting.insert(resulting.end(), newData.begin(), newData.end()); 00202 }
void OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::cross_join | ( | OPENDDS_MAP(TopicSet, SampleVec)& | partialResults, | |
const TopicSet & | seen, | |||
const QueryPlan & | qp | |||
) | [private] |
Referenced by OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::incoming_sample().
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::get_key_value | ( | Sample & | key_holder, | |
DDS::InstanceHandle_t | handle | |||
) | [inline] |
Definition at line 524 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00526 { 00527 return typed_reader_->get_key_value(key_holder, handle); 00528 }
const MetaStruct & OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::getResultingMeta | ( | ) | [inline, virtual] |
Implements OpenDDS::DCPS::MultiTopicDataReaderBase.
Definition at line 31 of file MultiTopicDataReader_T.cpp.
Referenced by OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::assign_fields(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::assign_resulting_fields(), and OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::combine().
void OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::incoming_sample | ( | void * | sample, | |
const DDS::SampleInfo & | info, | |||
const char * | topic, | |||
const MetaStruct & | meta | |||
) | [inline, virtual] |
Implements OpenDDS::DCPS::MultiTopicDataReaderBase.
Definition at line 307 of file MultiTopicDataReader_T.cpp.
References ACE_TEXT(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::assign_fields(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::cross_join(), DDS::HANDLE_NIL, LM_ERROR, OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::process_joins(), and OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00309 { 00310 using namespace std; 00311 using namespace DDS; 00312 const QueryPlan& qp = query_plans_[topic]; 00313 00314 // Track results of joins along multiple paths through the MultiTopic keys. 00315 std::map<TopicSet, SampleVec> partialResults; 00316 TopicSet seen; 00317 seen.insert(topic); 00318 partialResults[seen].push_back(SampleWithInfo(topic, info)); 00319 assign_fields(sample, partialResults[seen].back().sample_, qp, meta); 00320 00321 process_joins(partialResults, partialResults[seen], seen, qp); 00322 00323 // Any topic we haven't seen needs to be cross-joined 00324 for (std::map<OPENDDS_STRING, QueryPlan>::iterator iter = query_plans_.begin(); 00325 iter != query_plans_.end(); ++iter) { 00326 typename std::map<TopicSet, SampleVec>::iterator found = 00327 find_if(partialResults.begin(), partialResults.end(), 00328 Contains(iter->first)); 00329 if (found == partialResults.end()) { 00330 cross_join(partialResults, seen, iter->second); 00331 } 00332 } 00333 00334 TypedDataReader* tdr = dynamic_cast<TypedDataReader*>(typed_reader_.in()); 00335 00336 if (!tdr) { 00337 ACE_ERROR((LM_ERROR, 00338 ACE_TEXT("(%P|%t) ERROR: ") 00339 ACE_TEXT("MultiTopicDataReader_T::incoming_sample, ") 00340 ACE_TEXT("Failed to get TypedDataReader.\n"))); 00341 return; 00342 } 00343 00344 for (typename std::map<TopicSet, SampleVec>::iterator iterPR = 00345 partialResults.begin(); iterPR != partialResults.end(); ++iterPR) { 00346 for (typename SampleVec::iterator i = iterPR->second.begin(); 00347 i != iterPR->second.end(); ++i) { 00348 InstanceHandle_t ih = tdr->store_synthetic_data(i->sample_, i->view_); 00349 if (ih != HANDLE_NIL) { 00350 typedef std::map<OPENDDS_STRING, InstanceHandle_t>::iterator mapiter_t; 00351 for (mapiter_t iterMap = i->info_.begin(); iterMap != i->info_.end(); 00352 ++iterMap) { 00353 query_plans_[iterMap->first].instances_.insert( 00354 make_pair(iterMap->second, ih)); 00355 } 00356 } 00357 } 00358 } 00359 }
void OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::init_typed | ( | DataReaderEx * | dr | ) | [inline, virtual] |
Implements OpenDDS::DCPS::MultiTopicDataReaderBase.
Definition at line 24 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::LocalObject< TypedDataReader::Interface >::_narrow(), and OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00025 { 00026 typed_reader_ = TypedDataReader::Interface::_narrow(dr); 00027 }
void OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::join | ( | SampleVec & | resulting, | |
const SampleWithInfo & | prototype, | |||
const std::vector< OPENDDS_STRING > & | key_names, | |||
const void * | key_data, | |||
DDS::DataReader_ptr | other_dr, | |||
const MetaStruct & | other_meta | |||
) | [inline, private] |
Definition at line 82 of file MultiTopicDataReader_T.cpp.
References ACE_TEXT(), DDS::ALIVE_INSTANCE_STATE, DDS::ANY_VIEW_STATE, OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::assign_fields(), OpenDDS::DCPS::MetaStruct::compare(), OpenDDS::DCPS::DataReaderImpl::get_topicdescription(), DDS::HANDLE_NIL, LM_ERROR, OpenDDS::DCPS::DataReaderImpl::lookup_instance_generic(), OpenDDS::DCPS::MetaStruct::numDcpsKeys(), OPENDDS_STRING, OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::GenericData::ptr_, OpenDDS::DCPS::DataReaderImpl::read_instance_generic(), OpenDDS::DCPS::DataReaderImpl::read_next_instance_generic(), DDS::READ_SAMPLE_STATE, DDS::RETCODE_NO_DATA, and DDS::RETCODE_OK.
00086 { 00087 using namespace DDS; 00088 DataReaderImpl* other_dri = dynamic_cast<DataReaderImpl*>(other_dr); 00089 00090 if (!other_dri) { 00091 ACE_ERROR((LM_ERROR, 00092 ACE_TEXT("(%P|%t) ERROR: ") 00093 ACE_TEXT("MultiTopicDataReader_T::join, ") 00094 ACE_TEXT("Failed to get DataReaderImpl.\n"))); 00095 return; 00096 } 00097 00098 TopicDescription_var other_td = other_dri->get_topicdescription(); 00099 CORBA::String_var other_topic = other_td->get_name(); 00100 const QueryPlan& other_qp = query_plans_[other_topic.in()]; 00101 const size_t n_keys = key_names.size(); 00102 00103 if (n_keys > 0 && other_meta.numDcpsKeys() == n_keys) { // complete key 00104 InstanceHandle_t ih = other_dri->lookup_instance_generic(key_data); 00105 if (ih != HANDLE_NIL) { 00106 GenericData other_data(other_meta, false); 00107 SampleInfo info; 00108 ReturnCode_t ret = other_dri->read_instance_generic(other_data.ptr_, 00109 info, ih, READ_SAMPLE_STATE, ANY_VIEW_STATE, ALIVE_INSTANCE_STATE); 00110 if (ret != RETCODE_OK && ret != RETCODE_NO_DATA) { 00111 std::ostringstream rc_ss; 00112 rc_ss << ret; 00113 throw std::runtime_error("In join(), incoming DataReader for " + 00114 OPENDDS_STRING(other_topic) + " read_instance_generic, error #" + 00115 rc_ss.str()); 00116 } else if (ret == DDS::RETCODE_OK) { 00117 resulting.push_back(prototype); 00118 resulting.back().combine(SampleWithInfo(other_topic.in(), info)); 00119 assign_fields(other_data.ptr_, resulting.back().sample_, 00120 other_qp, other_meta); 00121 } 00122 } 00123 } else { // incomplete key or cross-join (0 key fields) 00124 SampleVec new_resulting; 00125 ReturnCode_t ret = RETCODE_OK; 00126 for (InstanceHandle_t ih = HANDLE_NIL; ret != RETCODE_NO_DATA;) { 00127 GenericData other_data(other_meta, false); 00128 SampleInfo info; 00129 ret = other_dri->read_next_instance_generic(other_data.ptr_, info, ih, 00130 READ_SAMPLE_STATE, ANY_VIEW_STATE, ALIVE_INSTANCE_STATE); 00131 if (ret != RETCODE_OK && ret != RETCODE_NO_DATA) { 00132 std::ostringstream rc_ss; 00133 rc_ss << ret; 00134 throw std::runtime_error("In join(), incoming DataReader for " + 00135 OPENDDS_STRING(other_topic) + " read_next_instance_generic, error #" + 00136 rc_ss.str()); 00137 } else if (ret == RETCODE_NO_DATA) { 00138 break; 00139 } 00140 ih = info.instance_handle; 00141 00142 bool match = true; 00143 for (size_t i = 0; match && i < key_names.size(); ++i) { 00144 if (!other_meta.compare(key_data, other_data.ptr_, 00145 key_names[i].c_str())) { 00146 match = false; 00147 } 00148 } 00149 00150 if (match) { 00151 resulting.push_back(prototype); 00152 resulting.back().combine(SampleWithInfo(other_topic.in(), info)); 00153 assign_fields(other_data.ptr_, resulting.back().sample_, 00154 other_qp, other_meta); 00155 } 00156 } 00157 } 00158 }
DDS::InstanceHandle_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::lookup_instance | ( | const Sample & | instance_data | ) | [inline] |
Definition at line 532 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00534 { 00535 return typed_reader_->lookup_instance(instance_data); 00536 }
void OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::process_joins | ( | OPENDDS_MAP(TopicSet, SampleVec)& | partialResults, | |
SampleVec | starting, | |||
const TopicSet & | seen, | |||
const QueryPlan & | qp | |||
) | [private] |
Referenced by OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::incoming_sample().
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read | ( | SampleSeq & | received_data, | |
DDS::SampleInfoSeq & | info_seq, | |||
CORBA::Long | max_samples, | |||
DDS::SampleStateMask | sample_states, | |||
DDS::ViewStateMask | view_states, | |||
DDS::InstanceStateMask | instance_states | |||
) | [inline] |
Definition at line 366 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00370 { 00371 return typed_reader_->read(received_data, info_seq, max_samples, 00372 sample_states, view_states, instance_states); 00373 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_instance | ( | SampleSeq & | received_data, | |
DDS::SampleInfoSeq & | info_seq, | |||
CORBA::Long | max_samples, | |||
DDS::InstanceHandle_t | a_handle, | |||
DDS::SampleStateMask | sample_states, | |||
DDS::ViewStateMask | view_states, | |||
DDS::InstanceStateMask | instance_states | |||
) | [inline] |
Definition at line 424 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00429 { 00430 return typed_reader_->read_instance(received_data, info_seq, max_samples, 00431 a_handle, sample_states, view_states, instance_states); 00432 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_instance_w_condition | ( | SampleSeq & | data_values, | |
DDS::SampleInfoSeq & | sample_infos, | |||
CORBA::Long | max_samples, | |||
DDS::InstanceHandle_t | handle, | |||
DDS::ReadCondition_ptr | a_condition | |||
) | [inline] |
Definition at line 448 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00452 { 00453 return typed_reader_->read_instance_w_condition(data_values, 00454 sample_infos, max_samples, handle, a_condition); 00455 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_next_instance | ( | SampleSeq & | received_data, | |
DDS::SampleInfoSeq & | info_seq, | |||
CORBA::Long | max_samples, | |||
DDS::InstanceHandle_t | a_handle, | |||
DDS::SampleStateMask | sample_states, | |||
DDS::ViewStateMask | view_states, | |||
DDS::InstanceStateMask | instance_states | |||
) | [inline] |
Definition at line 470 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00475 { 00476 return typed_reader_->read_next_instance(received_data, info_seq, max_samples, 00477 a_handle, sample_states, view_states, instance_states); 00478 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_next_instance_w_condition | ( | SampleSeq & | data_values, | |
DDS::SampleInfoSeq & | sample_infos, | |||
CORBA::Long | max_samples, | |||
DDS::InstanceHandle_t | previous_handle, | |||
DDS::ReadCondition_ptr | a_condition | |||
) | [inline] |
Definition at line 494 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00498 { 00499 return typed_reader_->read_next_instance_w_condition(data_values, 00500 sample_infos, max_samples, previous_handle, a_condition); 00501 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_next_sample | ( | Sample & | received_data, | |
DDS::SampleInfo & | sample_info | |||
) | [inline] |
Definition at line 408 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00410 { 00411 return typed_reader_->read_next_sample(received_data, sample_info); 00412 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_w_condition | ( | SampleSeq & | data_values, | |
DDS::SampleInfoSeq & | sample_infos, | |||
CORBA::Long | max_samples, | |||
DDS::ReadCondition_ptr | a_condition | |||
) | [inline] |
Definition at line 388 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00391 { 00392 return typed_reader_->read_w_condition(data_values, sample_infos, 00393 max_samples, a_condition); 00394 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::return_loan | ( | SampleSeq & | received_data, | |
DDS::SampleInfoSeq & | info_seq | |||
) | [inline] |
Definition at line 516 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00518 { 00519 return typed_reader_->return_loan(received_data, info_seq); 00520 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take | ( | SampleSeq & | received_data, | |
DDS::SampleInfoSeq & | info_seq, | |||
CORBA::Long | max_samples, | |||
DDS::SampleStateMask | sample_states, | |||
DDS::ViewStateMask | view_states, | |||
DDS::InstanceStateMask | instance_states | |||
) | [inline] |
Definition at line 377 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00381 { 00382 return typed_reader_->take(received_data, info_seq, max_samples, 00383 sample_states, view_states, instance_states); 00384 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_instance | ( | SampleSeq & | received_data, | |
DDS::SampleInfoSeq & | info_seq, | |||
CORBA::Long | max_samples, | |||
DDS::InstanceHandle_t | a_handle, | |||
DDS::SampleStateMask | sample_states, | |||
DDS::ViewStateMask | view_states, | |||
DDS::InstanceStateMask | instance_states | |||
) | [inline] |
Definition at line 436 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00441 { 00442 return typed_reader_->take_instance(received_data, info_seq, max_samples, 00443 a_handle, sample_states, view_states, instance_states); 00444 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_instance_w_condition | ( | SampleSeq & | data_values, | |
DDS::SampleInfoSeq & | sample_infos, | |||
CORBA::Long | max_samples, | |||
DDS::InstanceHandle_t | handle, | |||
DDS::ReadCondition_ptr | a_condition | |||
) | [inline] |
Definition at line 459 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00463 { 00464 return typed_reader_->take_instance_w_condition(data_values, 00465 sample_infos, max_samples, handle, a_condition); 00466 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_next_instance | ( | SampleSeq & | received_data, | |
DDS::SampleInfoSeq & | info_seq, | |||
CORBA::Long | max_samples, | |||
DDS::InstanceHandle_t | a_handle, | |||
DDS::SampleStateMask | sample_states, | |||
DDS::ViewStateMask | view_states, | |||
DDS::InstanceStateMask | instance_states | |||
) | [inline] |
Definition at line 482 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00487 { 00488 return typed_reader_->take_next_instance(received_data, info_seq, max_samples, 00489 a_handle, sample_states, view_states, instance_states); 00490 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_next_instance_w_condition | ( | SampleSeq & | data_values, | |
DDS::SampleInfoSeq & | sample_infos, | |||
CORBA::Long | max_samples, | |||
DDS::InstanceHandle_t | previous_handle, | |||
DDS::ReadCondition_ptr | a_condition | |||
) | [inline] |
Definition at line 505 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00509 { 00510 return typed_reader_->take_next_instance_w_condition(data_values, 00511 sample_infos, max_samples, previous_handle, a_condition); 00512 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_next_sample | ( | Sample & | received_data, | |
DDS::SampleInfo & | sample_info | |||
) | [inline] |
Definition at line 416 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00418 { 00419 return typed_reader_->take_next_sample(received_data, sample_info); 00420 }
DDS::ReturnCode_t OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_w_condition | ( | SampleSeq & | data_values, | |
DDS::SampleInfoSeq & | sample_infos, | |||
CORBA::Long | max_samples, | |||
DDS::ReadCondition_ptr | a_condition | |||
) | [inline] |
Definition at line 398 of file MultiTopicDataReader_T.cpp.
References OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_.
00401 { 00402 return typed_reader_->take_w_condition(data_values, sample_infos, 00403 max_samples, a_condition); 00404 }
TypedDataReader::Interface::_var_type OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::typed_reader_ [private] |
Definition at line 181 of file MultiTopicDataReader_T.h.
Referenced by OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::get_key_value(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::incoming_sample(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::init_typed(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::lookup_instance(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_instance(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_instance_w_condition(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_next_instance(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_next_instance_w_condition(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_next_sample(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::read_w_condition(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::return_loan(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_instance(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_instance_w_condition(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_next_instance(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_next_instance_w_condition(), OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_next_sample(), and OpenDDS::DCPS::MultiTopicDataReader_T< Sample, TypedDataReader >::take_w_condition().