OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <ContentFilteredTopicImpl.h>
Private Member Functions | |
typedef | OPENDDS_VECTOR (WeakRcHandle< DataReaderImpl >) Readers |
Private Attributes | |
OPENDDS_STRING | filter_expression_ |
FilterEvaluator | filter_eval_ |
DDS::StringSeq | expression_parameters_ |
DDS::Topic_var | related_topic_ |
Readers | readers_ |
ACE_Recursive_Thread_Mutex | lock_ |
Concurrent access to expression_parameters_ and readers_. More... | |
Definition at line 29 of file ContentFilteredTopicImpl.h.
OpenDDS::DCPS::ContentFilteredTopicImpl::ContentFilteredTopicImpl | ( | const char * | name, |
DDS::Topic_ptr | related_topic, | ||
const char * | filter_expression, | ||
DomainParticipantImpl * | participant | ||
) |
Definition at line 21 of file ContentFilteredTopicImpl.cpp.
References _duplicate(), ACE_DEBUG, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, filter_eval_, LM_DEBUG, and OpenDDS::DCPS::FilterEvaluator::number_parameters().
|
inlinevirtual |
Definition at line 36 of file ContentFilteredTopicImpl.h.
void OpenDDS::DCPS::ContentFilteredTopicImpl::add_reader | ( | DataReaderImpl & | reader | ) |
Definition at line 124 of file ContentFilteredTopicImpl.cpp.
References ACE_GUARD, lock_, and readers_.
Referenced by OpenDDS::DCPS::DataReaderImpl::enable_filtering().
|
inline |
Returns true if the sample matches the filter.
Definition at line 50 of file ContentFilteredTopicImpl.h.
References ACE_GUARD_RETURN, and lock_.
DDS::ReturnCode_t OpenDDS::DCPS::ContentFilteredTopicImpl::get_expression_parameters | ( | DDS::StringSeq & | parameters | ) |
Definition at line 46 of file ContentFilteredTopicImpl.cpp.
References ACE_GUARD_RETURN, expression_parameters_, lock_, DDS::RETCODE_OK, and DDS::RETCODE_OUT_OF_RESOURCES.
|
inline |
Definition at line 67 of file ContentFilteredTopicImpl.h.
char * OpenDDS::DCPS::ContentFilteredTopicImpl::get_filter_expression | ( | ) |
Implements DDS::ContentFilteredTopic.
Definition at line 40 of file ContentFilteredTopicImpl.cpp.
References filter_expression_, and CORBA::string_dup().
DDS::Topic_ptr OpenDDS::DCPS::ContentFilteredTopicImpl::get_related_topic | ( | ) |
Implements DDS::ContentFilteredTopic.
Definition at line 118 of file ContentFilteredTopicImpl.cpp.
References related_topic_.
Referenced by OpenDDS::DCPS::SubscriberImpl::create_datareader().
|
private |
void OpenDDS::DCPS::ContentFilteredTopicImpl::remove_reader | ( | DataReaderImpl & | reader | ) |
Definition at line 134 of file ContentFilteredTopicImpl.cpp.
References ACE_GUARD, lock_, OPENDDS_END_VERSIONED_NAMESPACE_DECL, readers_, and OpenDDS::DCPS::remove().
DDS::ReturnCode_t OpenDDS::DCPS::ContentFilteredTopicImpl::set_expression_parameters | ( | const DDS::StringSeq & | parameters | ) |
Definition at line 61 of file ContentFilteredTopicImpl.cpp.
References ACE_ERROR, ACE_GUARD_RETURN, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, expression_parameters_, filter_eval_, LM_ERROR, lock_, OpenDDS::DCPS::FilterEvaluator::number_parameters(), readers_, DDS::RETCODE_ERROR, DDS::RETCODE_OK, DDS::RETCODE_OUT_OF_RESOURCES, and OpenDDS::DCPS::swap().
|
private |
Definition at line 75 of file ContentFilteredTopicImpl.h.
Referenced by get_expression_parameters(), and set_expression_parameters().
|
private |
Definition at line 74 of file ContentFilteredTopicImpl.h.
Referenced by ContentFilteredTopicImpl(), and set_expression_parameters().
|
private |
Definition at line 73 of file ContentFilteredTopicImpl.h.
Referenced by get_filter_expression().
|
mutableprivate |
Concurrent access to expression_parameters_ and readers_.
Definition at line 81 of file ContentFilteredTopicImpl.h.
Referenced by add_reader(), get_expression_parameters(), remove_reader(), and set_expression_parameters().
|
private |
Definition at line 78 of file ContentFilteredTopicImpl.h.
Referenced by add_reader(), remove_reader(), and set_expression_parameters().
|
private |
Definition at line 76 of file ContentFilteredTopicImpl.h.
Referenced by get_related_topic().