diff options
author | msmit <msmit@remedy.nl> | 2010-01-05 07:36:33 +0000 |
---|---|---|
committer | msmit <msmit@remedy.nl> | 2010-01-05 07:36:33 +0000 |
commit | fefc87c2840ce2aee481c450c899eb7a0affd125 (patch) | |
tree | cf1c9f836608e848b8d5112872003ca557cbe335 | |
parent | 3a3fbe3b87a1a265cd9048cbbe492ea5dac14ec0 (diff) | |
download | ATCD-fefc87c2840ce2aee481c450c899eb7a0affd125.tar.gz |
Tue Jan 5 07:31:33 UTC 2010 Marcel Smit <msmit@remedy.nl>
* connectors/dds4ccm/impl/ndds/DDS_Event_Connector_T.cpp:
* connectors/dds4ccm/impl/ndds/DDS_Get_T.h:
* connectors/dds4ccm/impl/ndds/DDS_Get_T.cpp:
* connectors/dds4ccm/impl/ndds/DDS_Listen_T.h:
* connectors/dds4ccm/impl/ndds/DDS_Listen_T.cpp:
* connectors/dds4ccm/impl/ndds/DDS_State_Connector_T.cpp:
* connectors/dds4ccm/impl/ndds/DDS_TopicBase_Connector_T.cpp:
Separate DDS lifecycle from CCM lifecycle. DDS_Get_T and DDS_Listen_T
now have a configuration_complete, activate, passivate and remove
methods.
-rw-r--r-- | CIAO/ChangeLog | 15 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/ndds/DDS_Event_Connector_T.cpp | 37 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/ndds/DDS_Get_T.cpp | 103 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/ndds/DDS_Get_T.h | 11 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/ndds/DDS_Listen_T.cpp | 107 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/ndds/DDS_Listen_T.h | 12 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/ndds/DDS_State_Connector_T.cpp | 31 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/ndds/DDS_TopicBase_Connector_T.cpp | 8 |
8 files changed, 232 insertions, 92 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index cb84dc6e734..120707640fe 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,7 +1,20 @@ +Tue Jan 5 07:31:33 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/impl/ndds/DDS_Event_Connector_T.cpp: + * connectors/dds4ccm/impl/ndds/DDS_Get_T.h: + * connectors/dds4ccm/impl/ndds/DDS_Get_T.cpp: + * connectors/dds4ccm/impl/ndds/DDS_Listen_T.h: + * connectors/dds4ccm/impl/ndds/DDS_Listen_T.cpp: + * connectors/dds4ccm/impl/ndds/DDS_State_Connector_T.cpp: + * connectors/dds4ccm/impl/ndds/DDS_TopicBase_Connector_T.cpp: + Separate DDS lifecycle from CCM lifecycle. DDS_Get_T and DDS_Listen_T + now have a configuration_complete, activate, passivate and remove + methods. + Mon Jan 4 20:41:07 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu> * tests/IDL_Test/IDL3_Plus/KitchenSink.idl: - + Cosmetic changes. Mon Jan 4 19:43:39 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl> diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DDS_Event_Connector_T.cpp b/CIAO/connectors/dds4ccm/impl/ndds/DDS_Event_Connector_T.cpp index 55195076862..7aae160ac71 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DDS_Event_Connector_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/DDS_Event_Connector_T.cpp @@ -101,6 +101,18 @@ DDS_Event_Connector_T<DDS_TYPE, CCM_TYPE>::configuration_complete (void) CIAO_TRACE ("DDS_Event_Connector_T<DDS_TYPE, CCM_TYPE>::configuration_complete"); DDS_TopicBase_Connector_T<DDS_TYPE, CCM_TYPE>::configuration_complete (); + + this->push_consumer_.configuration_complete ( + this->topic_.in (), + this->subscriber_.in (), + this->library_name_, + this->profile_name_); + + this->pull_consumer_.configuration_complete ( + this->topic_.in (), + this->subscriber_.in (), + this->library_name_, + this->profile_name_); } template <typename DDS_TYPE, typename CCM_TYPE> @@ -109,13 +121,10 @@ DDS_Event_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_activate (void) { CIAO_TRACE ("DDS_Event_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_activate"); DDS_TopicBase_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_activate (); - this->push_consumer_.init ( + + this->push_consumer_.activate ( this->context_->get_connection_push_consumer_data_listener (), - this->context_->get_connection_push_consumer_status (), - this->topic_.in (), - this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->context_->get_connection_push_consumer_status ()); this->supplier_.init ( this->topic_.in (), @@ -123,12 +132,8 @@ DDS_Event_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_activate (void) this->library_name_, this->profile_name_); - this->pull_consumer_.init ( - this->context_->get_connection_pull_consumer_status (), - this->topic_.in (), - this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->pull_consumer_.activate ( + this->context_->get_connection_pull_consumer_status ()); } template <typename DDS_TYPE, typename CCM_TYPE> @@ -138,6 +143,10 @@ DDS_Event_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_passivate (void) CIAO_TRACE ("DDS_Event_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_passivate"); DDS_TopicBase_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_passivate (); + + this->push_consumer_.passivate (); + + this->pull_consumer_.passivate (); } template <typename DDS_TYPE, typename CCM_TYPE> @@ -147,4 +156,8 @@ DDS_Event_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_remove (void) CIAO_TRACE ("DDS_Event_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_remove"); DDS_TopicBase_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_remove (); + + this->push_consumer_.remove (); + + this->pull_consumer_.remove (); } diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DDS_Get_T.cpp b/CIAO/connectors/dds4ccm/impl/ndds/DDS_Get_T.cpp index 7944e0b20ac..6ba29336363 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DDS_Get_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/DDS_Get_T.cpp @@ -21,60 +21,107 @@ DDS_Get_T<DDS_TYPE, CCM_TYPE>::~DDS_Get_T (void) template <typename DDS_TYPE, typename CCM_TYPE> void -DDS_Get_T<DDS_TYPE, CCM_TYPE>::init ( - ::CCM_DDS::PortStatusListener_ptr listener, +DDS_Get_T<DDS_TYPE, CCM_TYPE>::configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Subscriber_ptr subscriber, const char* library_name, const char* profile_name) { - CIAO_TRACE ("DDS_Get_T<DDS_TYPE, CCM_TYPE>::init"); + CIAO_TRACE ("DDS_Get_T<DDS_TYPE, CCM_TYPE>::configuration_complete"); try { - if (CORBA::is_nil (this->status_.in ())) - { - this->status_ = new ::CIAO::DDS4CCM::RTI::PortStatusListener_T - <DDS_TYPE, CCM_TYPE> (listener); - } - if (CORBA::is_nil (this->data_.in ())) { + ::DDS::DataReader_var reader; if (profile_name && library_name) { - ::DDS::DataReader_var reader = - subscriber->create_datareader_with_profile ( + reader = subscriber->create_datareader_with_profile ( topic, library_name, profile_name, - this->status_.in (), - ::CIAO::DDS4CCM::RTI::PortStatusListener_T<DDS_TYPE, CCM_TYPE>::get_mask ()); - DDSDataReader *rd = dynamic_cast < DDSDataReader *> (reader.in ()); - this->rti_reader_.set_impl (rd); - this->data_ = ::DDS::CCM_DataReader::_narrow (reader); - this->dds_get_.set_impl (reader); - this->dds_read_.set_impl (reader); + ::DDS::DataReaderListener::_nil (), + 0); } else { ::DDS::DataReaderQos drqos; - ::DDS::DataReader_var reader = - subscriber->create_datareader ( + reader = subscriber->create_datareader ( topic, drqos, - this->status_.in (), - ::CIAO::DDS4CCM::RTI::PortStatusListener_T<DDS_TYPE, CCM_TYPE>::get_mask ()); - DDSDataReader *rd = dynamic_cast < DDSDataReader *> (reader.in ()); - this->rti_reader_.set_impl (rd); - this->data_ = ::DDS::CCM_DataReader::_narrow (reader); - this->dds_get_.set_impl (reader); - this->dds_read_.set_impl (reader); + ::DDS::DataReaderListener::_nil (), + 0); } + ::CIAO::DDS4CCM::RTI::RTI_DataReader_i *rd = + dynamic_cast < ::CIAO::DDS4CCM::RTI::RTI_DataReader_i *> (reader.in ()); + this->rti_reader_.set_impl (rd->get_impl ()); + this->data_ = ::DDS::CCM_DataReader::_narrow (reader); + this->dds_get_.set_impl (reader); + this->dds_read_.set_impl (reader); + } + } + catch (...) + { + CIAO_ERROR (1, (LM_EMERGENCY, "Caught unknown c++ exception in configuration_complete in DDS_Get_T\n")); + throw CORBA::INTERNAL (); + } +} + +template <typename DDS_TYPE, typename CCM_TYPE> +void +DDS_Get_T<DDS_TYPE, CCM_TYPE>::activate ( + ::CCM_DDS::PortStatusListener_ptr listener) +{ + CIAO_TRACE ("DDS_Get_T<DDS_TYPE, CCM_TYPE>::activate"); + try + { + if (CORBA::is_nil (this->status_.in ())) + { + this->status_ = new ::CIAO::DDS4CCM::RTI::PortStatusListener_T + <DDS_TYPE, CCM_TYPE> (listener); } + this->rti_reader_.set_listener ( + this->status_.in (), + ::CIAO::DDS4CCM::RTI::PortStatusListener_T<DDS_TYPE, CCM_TYPE>::get_mask ()); + } + catch (...) + { + CIAO_ERROR (1, (LM_EMERGENCY, "Caught unknown c++ exception in activate in DDS_Get_T\n")); + throw CORBA::INTERNAL (); + } +} + +template <typename DDS_TYPE, typename CCM_TYPE> +void +DDS_Get_T<DDS_TYPE, CCM_TYPE>::passivate (void) +{ + CIAO_TRACE ("DDS_Get_T<DDS_TYPE, CCM_TYPE>::passivate"); + try + { + this->rti_reader_.set_listener ( + ::DDS::DataReaderListener::_nil (), + 0); + } + catch (...) + { + CIAO_ERROR (1, (LM_EMERGENCY, "Caught unknown c++ exception in passivate in DDS_Get_T\n")); + throw CORBA::INTERNAL (); + } +} + +template <typename DDS_TYPE, typename CCM_TYPE> +void +DDS_Get_T<DDS_TYPE, CCM_TYPE>::remove (void) +{ + CIAO_TRACE ("DDS_Get_T<DDS_TYPE, CCM_TYPE>::remove"); + try + { + this->rti_reader_.delete_contained_entities (); + this->rti_reader_.set_impl (0); } catch (...) { - CIAO_ERROR (1, (LM_EMERGENCY, "Caught unknown c++ exception while creating subscriber entities\n")); + CIAO_ERROR (1, (LM_EMERGENCY, "Caught unknown c++ exception in remove in DDS_Get_T\n")); throw CORBA::INTERNAL (); } } diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DDS_Get_T.h b/CIAO/connectors/dds4ccm/impl/ndds/DDS_Get_T.h index 2ac783e66e3..fc1e177d332 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DDS_Get_T.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/DDS_Get_T.h @@ -30,14 +30,19 @@ public: ::DDS::CCM_DataReader_ptr get_dds_entity (void); //@} - - void init ( - ::CCM_DDS::PortStatusListener_ptr listener, + void configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Subscriber_ptr subscriber, const char* library_name, const char* profile_name); + void activate ( + ::CCM_DDS::PortStatusListener_ptr listener); + + void passivate (void); + + void remove (void); + private: /** * DDS_Get diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DDS_Listen_T.cpp b/CIAO/connectors/dds4ccm/impl/ndds/DDS_Listen_T.cpp index 1a980c226ee..36c3f5d9e12 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DDS_Listen_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/DDS_Listen_T.cpp @@ -26,9 +26,7 @@ DDS_Listen_T<DDS_TYPE, CCM_TYPE>::~DDS_Listen_T (void) template <typename DDS_TYPE, typename CCM_TYPE> void -DDS_Listen_T<DDS_TYPE, CCM_TYPE>::init ( - typename CCM_TYPE::listener_type::_ptr_type listener, - ::CCM_DDS::PortStatusListener_ptr status, +DDS_Listen_T<DDS_TYPE, CCM_TYPE>::configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Subscriber_ptr subscriber, const char* library_name, @@ -38,55 +36,106 @@ DDS_Listen_T<DDS_TYPE, CCM_TYPE>::init ( try { - if (CORBA::is_nil (this->data_listener_.in ())) - { - this->data_listener_ = new ::CIAO::DDS4CCM::RTI::DataReaderListener_T - <DDS_TYPE, CCM_TYPE> ( - listener, - status, - data_control_.in ()); - } - if (CORBA::is_nil (this->data_reader_.in ())) { + ::DDS::DataReader_var reader; if (library_name && profile_name) { - ::DDS::DataReader_var reader = - subscriber->create_datareader_with_profile ( + reader = subscriber->create_datareader_with_profile ( topic, library_name, profile_name, - this->data_listener_.in (), - ::CIAO::DDS4CCM::RTI::DataReaderListener_T<DDS_TYPE, CCM_TYPE>::get_mask ()); - DDSDataReader *rd = dynamic_cast < DDSDataReader *> (reader.in ()); - this->rti_reader_.set_impl (rd); - this->data_reader_ = ::DDS::CCM_DataReader::_narrow (reader); - this->dds_read_.set_impl (this->data_reader_.in ()); + ::DDS::DataReaderListener::_nil (), + 0); } else { ::DDS::DataReaderQos drqos; - ::DDS::DataReader_var reader = - subscriber->create_datareader ( + reader = subscriber->create_datareader ( topic, drqos, - this->data_listener_.in (), - ::CIAO::DDS4CCM::RTI::DataReaderListener_T<DDS_TYPE, CCM_TYPE>::get_mask ()); - DDSDataReader *rd = dynamic_cast < DDSDataReader *> (reader.in ()); - this->rti_reader_.set_impl (rd); - this->data_reader_ = ::DDS::CCM_DataReader::_narrow (reader); - this->dds_read_.set_impl (this->data_reader_.in ()); + ::DDS::DataReaderListener::_nil (), + 0); } + ::CIAO::DDS4CCM::RTI::RTI_DataReader_i *rd = + dynamic_cast < ::CIAO::DDS4CCM::RTI::RTI_DataReader_i *> (reader.in ()); + this->rti_reader_.set_impl (rd->get_impl ()); + this->data_reader_ = ::DDS::CCM_DataReader::_narrow (reader); + this->dds_read_.set_impl (this->data_reader_.in ()); + } + } + catch (...) + { + CIAO_ERROR (1, (LM_EMERGENCY, "Caught unknown c++ exception configuration_complete in DDS_Listen_T\n")); + throw CORBA::INTERNAL (); + } +} + +template <typename DDS_TYPE, typename CCM_TYPE> +void +DDS_Listen_T<DDS_TYPE, CCM_TYPE>::activate ( + typename CCM_TYPE::listener_type::_ptr_type listener, + ::CCM_DDS::PortStatusListener_ptr status) +{ + CIAO_TRACE ("DDS_Listen_T<DDS_TYPE, CCM_TYPE>::activate"); + try + { + if (CORBA::is_nil (this->data_listener_.in ())) + { + this->data_listener_ = new ::CIAO::DDS4CCM::RTI::DataReaderListener_T + <DDS_TYPE, CCM_TYPE> ( + listener, + status, + this->data_control_.in ()); } + this->rti_reader_.set_listener ( + this->data_listener_.in (), + ::CIAO::DDS4CCM::RTI::DataReaderListener_T<DDS_TYPE, CCM_TYPE>::get_mask ()); + } + catch (...) + { + CIAO_ERROR (1, (LM_EMERGENCY, "Caught unknown c++ exception in activate in DDS_Listen_T\n")); + throw CORBA::INTERNAL (); + } +} + +template <typename DDS_TYPE, typename CCM_TYPE> +void +DDS_Listen_T<DDS_TYPE, CCM_TYPE>::passivate () +{ + CIAO_TRACE ("DDS_Listen_T<DDS_TYPE, CCM_TYPE>::passivate"); + try + { + this->rti_reader_.set_listener ( + ::DDS::DataReaderListener::_nil (), + 0); } catch (...) { - CIAO_ERROR (1, (LM_EMERGENCY, "Caught unknown c++ exception while creating subscriber entities\n")); + CIAO_ERROR (1, (LM_EMERGENCY, "Caught unknown c++ exception in passivate in DDS_Listen_T\n")); throw CORBA::INTERNAL (); } } template <typename DDS_TYPE, typename CCM_TYPE> +void +DDS_Listen_T<DDS_TYPE, CCM_TYPE>::remove () +{ + CIAO_TRACE ("DDS_Listen_T<DDS_TYPE, CCM_TYPE>::remove"); + try + { + this->rti_reader_.delete_contained_entities (); + this->rti_reader_.set_impl (0); + } + catch (...) + { + CIAO_ERROR (1, (LM_EMERGENCY, "Caught unknown c++ exception in remove in DDS_Listen_T\n")); + throw CORBA::INTERNAL (); + } +} + + +template <typename DDS_TYPE, typename CCM_TYPE> typename CCM_TYPE::reader_type::_ptr_type DDS_Listen_T<DDS_TYPE, CCM_TYPE>::get_data (void) { diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DDS_Listen_T.h b/CIAO/connectors/dds4ccm/impl/ndds/DDS_Listen_T.h index 5b0037cf320..50bae73e256 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DDS_Listen_T.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/DDS_Listen_T.h @@ -27,14 +27,20 @@ public: ::DDS::CCM_DataReader_ptr get_dds_entity (void); //@} - void init ( - typename CCM_TYPE::listener_type::_ptr_type listener, - ::CCM_DDS::PortStatusListener_ptr status, + void configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Subscriber_ptr subscriber, const char* library_name, const char* profile_name); + void activate ( + typename CCM_TYPE::listener_type::_ptr_type listener, + ::CCM_DDS::PortStatusListener_ptr status); + + void passivate (void); + + void remove (void); + private: /** * DDS_Listen diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DDS_State_Connector_T.cpp b/CIAO/connectors/dds4ccm/impl/ndds/DDS_State_Connector_T.cpp index 576adf3ffb5..521574df5af 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DDS_State_Connector_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/DDS_State_Connector_T.cpp @@ -120,6 +120,17 @@ void DDS_State_Connector_T<DDS_TYPE, CCM_TYPE>::configuration_complete (void) { DDS_TopicBase_Connector_T<DDS_TYPE, CCM_TYPE>::configuration_complete (); + this->push_observer_.configuration_complete ( + this->topic_.in (), + this->subscriber_.in (), + this->library_name_, + this->profile_name_); + + this->pull_observer_.configuration_complete ( + this->topic_.in (), + this->subscriber_.in (), + this->library_name_, + this->profile_name_); } template <typename DDS_TYPE, typename CCM_TYPE> @@ -133,13 +144,9 @@ DDS_State_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_activate (void) this->library_name_, this->profile_name_); - this->push_observer_.init ( + this->push_observer_.activate ( this->context_->get_connection_push_observer_data_listener (), - this->context_->get_connection_push_observer_status (), - this->topic_.in (), - this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->context_->get_connection_push_observer_status ()); this->push_state_observer_.init ( this->context_->get_connection_push_state_observer_data_listener (), @@ -149,12 +156,8 @@ DDS_State_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_activate (void) this->library_name_, this->profile_name_); - this->pull_observer_.init ( - this->context_->get_connection_pull_observer_status (), - this->topic_.in (), - this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->pull_observer_.activate ( + this->context_->get_connection_pull_observer_status ()); this->passive_observer_.init ( this->context_->get_connection_passive_observer_status (), @@ -169,6 +172,8 @@ void DDS_State_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_passivate (void) { DDS_TopicBase_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_passivate (); + this->push_observer_.passivate (); + this->pull_observer_.passivate (); } template <typename DDS_TYPE, typename CCM_TYPE> @@ -176,5 +181,7 @@ void DDS_State_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_remove (void) { DDS_TopicBase_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_remove (); + this->push_observer_.remove (); + this->pull_observer_.remove (); } diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DDS_TopicBase_Connector_T.cpp b/CIAO/connectors/dds4ccm/impl/ndds/DDS_TopicBase_Connector_T.cpp index 2e6b1a4c2ce..b136889b588 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DDS_TopicBase_Connector_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/DDS_TopicBase_Connector_T.cpp @@ -22,6 +22,10 @@ void DDS_TopicBase_Connector_T<DDS_TYPE, CCM_TYPE>::configuration_complete (void) { DDS_Base_Connector_T<DDS_TYPE, CCM_TYPE>::configuration_complete (); + + this->configure_default_topic (); + this->configure_subscriber (); + this->configure_publisher (); } template <typename DDS_TYPE, typename CCM_TYPE> @@ -36,10 +40,6 @@ void DDS_TopicBase_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_activate (void) { DDS_Base_Connector_T<DDS_TYPE, CCM_TYPE>::ccm_activate (); - - this->configure_default_topic (); - this->configure_subscriber (); - this->configure_publisher (); } template <typename DDS_TYPE, typename CCM_TYPE> |