8 #ifndef OPENDDS_DCPS_MULTITOPICIMPL_H 9 #define OPENDDS_DCPS_MULTITOPICIMPL_H 11 #ifndef OPENDDS_NO_MULTI_TOPIC 19 #if !defined (ACE_LACKS_PRAGMA_ONCE) 33 const char* subscription_expression,
39 char* get_subscription_expression();
52 , resulting_name_(res ==
"" ? inc : res)
66 template<
typename Sample>
69 if (!filter_eval_)
return true;
71 return filter_eval_->eval(s, expression_parameters_);
91 #endif // OPENDDS_NO_MULTI_TOPIC Implements the OpenDDS::DCPS::DomainParticipant interfaces.
unique_ptr< FilterEvaluator > filter_eval_
const std::vector< OPENDDS_STRING > & get_selection() const
ACE_Recursive_Thread_Mutex lock_
Concurrent access to expression_parameters_.
bool filter(const Sample &s) const
OPENDDS_STRING incoming_name_
#define OpenDDS_Dcps_Export
const std::vector< SubjectFieldSpec > & get_aggregation() const
DDS::StringSeq expression_parameters_
ACE_Guard< ACE_Thread_Mutex > lock_
std::vector< SubjectFieldSpec > aggregation_
OPENDDS_STRING subscription_expression_
SubjectFieldSpec(const OPENDDS_STRING &inc, const OPENDDS_STRING &res="")
std::vector< OPENDDS_STRING > selection_
#define ACE_GUARD_RETURN(MUTEX, OBJ, LOCK, RETURN)
OPENDDS_STRING resulting_name_
Implements the DDS::TopicDescription interface.
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
sequence< string > StringSeq