diff options
author | msmit <msmit@remedy.nl> | 2010-12-03 06:18:09 +0000 |
---|---|---|
committer | msmit <msmit@remedy.nl> | 2010-12-03 06:18:09 +0000 |
commit | a015801c91d4673c8fba990e287e3c1c148509dc (patch) | |
tree | 5c208cec6098f3b1d7491611f707b98685fd9a32 | |
parent | 825266043803f3fff19ac9d933ce8cf6d0032273 (diff) | |
download | ATCD-a015801c91d4673c8fba990e287e3c1c148509dc.tar.gz |
Fri Dec 3 06:14:51 UTC 2010 Marcel Smit <msmit@remedy.nl>
* connectors/dds4ccm/impl/CCM_DataReader.cpp:
* connectors/dds4ccm/impl/ConditionManager.cpp:
* connectors/dds4ccm/impl/DDS_Base_Connector_T.h:
* connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp:
* connectors/dds4ccm/impl/DDS_Event_Connector_T.h:
* connectors/dds4ccm/impl/DDS_State_Connector_T.h:
* connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp:
* connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.h:
* connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.cpp:
* connectors/dds4ccm/impl/ndds/TypeSupport.h:
* connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h:
Updated template parameters since seq_type has been removed
from the DDS traits.
* connectors/dds4ccm/impl/Reader_T.cpp:
Fixed some memory leaks
* connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.h:
* connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp:
Fixed some memory leaks
* connectors/dds4ccm/tests/DDSEntity/Sender/Writer_Sender_exec.cpp:
Code layout
* connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver.mpc:
* connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.h:
* connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.cpp:
* connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender.mpc:
* connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.h:
* connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.cpp:
Rewritten, using the generated executor code.
* connectors/dds4ccm/tests/Reader/Sender/Reader_Test_Sender_exec.cpp:
Layout changes.
* connectors/dds4ccm/tests/UnkeyedWriter/Sender/Writer_Sender_exec.cpp:
Fixed memory leaks.
24 files changed, 703 insertions, 338 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index dc02a931370..f6530d237d4 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,43 @@ +Fri Dec 3 06:14:51 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/impl/CCM_DataReader.cpp: + * connectors/dds4ccm/impl/ConditionManager.cpp: + * connectors/dds4ccm/impl/DDS_Base_Connector_T.h: + * connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp: + * connectors/dds4ccm/impl/DDS_Event_Connector_T.h: + * connectors/dds4ccm/impl/DDS_State_Connector_T.h: + * connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp: + * connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.h: + * connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.cpp: + * connectors/dds4ccm/impl/ndds/TypeSupport.h: + * connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h: + Updated template parameters since seq_type has been removed + from the DDS traits. + + * connectors/dds4ccm/impl/Reader_T.cpp: + Fixed some memory leaks + + * connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.h: + * connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp: + Fixed some memory leaks + + * connectors/dds4ccm/tests/DDSEntity/Sender/Writer_Sender_exec.cpp: + Code layout + + * connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver.mpc: + * connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.cpp: + * connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender.mpc: + * connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.h: + * connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.cpp: + Rewritten, using the generated executor code. + + * connectors/dds4ccm/tests/Reader/Sender/Reader_Test_Sender_exec.cpp: + Layout changes. + + * connectors/dds4ccm/tests/UnkeyedWriter/Sender/Writer_Sender_exec.cpp: + Fixed memory leaks. + Wed Dec 1 11:55:39 UTC 2010 Marijke Hengstmengel <mhengstmengel@remedy.nl> * connectors/dds4ccm/tests/MultipleTemp/Sender/MultipleTemp_Sender_exec.cpp: diff --git a/CIAO/connectors/dds4ccm/impl/CCM_DataReader.cpp b/CIAO/connectors/dds4ccm/impl/CCM_DataReader.cpp index 7e3e60bc109..e9686fa922f 100644 --- a/CIAO/connectors/dds4ccm/impl/CCM_DataReader.cpp +++ b/CIAO/connectors/dds4ccm/impl/CCM_DataReader.cpp @@ -187,7 +187,7 @@ CIAO::DDS4CCM::CCM_DataReader::get_dds_entity (void) { DDS4CCM_TRACE ("CIAO::DDS4CCM::CCM_DataReader::get_dds_entity"); - return ::DDS::DataReader::_duplicate (this->dds_entity ()); + return ::DDS::DataReader::_duplicate (this->dds_entity_); } ::DDS::DataReader_ptr diff --git a/CIAO/connectors/dds4ccm/impl/ConditionManager.cpp b/CIAO/connectors/dds4ccm/impl/ConditionManager.cpp index 4c1e19b4bdc..6b53ae9f862 100644 --- a/CIAO/connectors/dds4ccm/impl/ConditionManager.cpp +++ b/CIAO/connectors/dds4ccm/impl/ConditionManager.cpp @@ -221,9 +221,9 @@ namespace CIAO } else if (ACE_OS::strlen (filter.expression.in ()) > 0) { - this->set_parameters (filter, this->qc_reader_); - this->set_parameters (filter, this->qc_getter_); - this->set_parameters (filter, this->qc_listener_); + this->set_parameters (filter, this->qc_reader_.in ()); + this->set_parameters (filter, this->qc_getter_.in ()); + this->set_parameters (filter, this->qc_listener_.in ()); } else { diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp index cff348b69bc..1397318fad3 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp @@ -16,14 +16,14 @@ # include "dds4ccm/impl/ndds/DomainParticipant.h" #endif -template <typename CCM_TYPE, typename DDS_TYPE> -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::DDS_Base_Connector_T (void) +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::DDS_Base_Connector_T (void) : domain_id_ (0) , configuration_complete_ (false) , library_name_ (0) , profile_name_ (0) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::DDS_Base_Connector_T"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::DDS_Base_Connector_T"); ACE_Env_Value<int> id (ACE_TEXT("DDS4CCM_DEFAULT_DOMAIN_ID"), this->domain_id_); this->domain_id_ = id; @@ -35,10 +35,10 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::DDS_Base_Connector_T (void) } } -template <typename CCM_TYPE, typename DDS_TYPE> -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::~DDS_Base_Connector_T (void) +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::~DDS_Base_Connector_T (void) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::~DDS_Base_Connector_T"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::~DDS_Base_Connector_T"); ACE_OS::free (library_name_); ACE_OS::free (profile_name_); @@ -48,21 +48,21 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::~DDS_Base_Connector_T (void) "Connector has been destructed\n")); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> ::DDS::DomainId_t -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::domain_id (void) +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::domain_id (void) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::domain_id"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::domain_id"); return this->domain_id_; } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::domain_id ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::domain_id ( ::DDS::DomainId_t domain_id) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::domain_id"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::domain_id"); if (this->configuration_complete_) { @@ -74,21 +74,21 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::domain_id ( } } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> char * -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::qos_profile (void) +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::qos_profile (void) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::qos_profile"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::qos_profile"); return CORBA::string_dup (this->qos_profile_.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::qos_profile ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::qos_profile ( const char * qos_profile) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::qos_profile"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::qos_profile"); if (this->configuration_complete_) { @@ -115,12 +115,12 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::qos_profile ( } } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::init_domain ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::init_domain ( ::DDS::DomainParticipant_ptr & participant) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::init_domain"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::init_domain"); DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION_STARTING, (LM_TRACE, DDS4CCM_INFO "DDS_Base_Connector_T::init_domain - " @@ -161,12 +161,12 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::init_domain ( } } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::set_session_context ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::set_session_context ( ::Components::SessionContext_ptr ctx) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::set_session_context"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::set_session_context"); typename CCM_TYPE::context_type::_var_type lctx = CCM_TYPE::context_type::_narrow (ctx); @@ -179,34 +179,34 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::set_session_context ( this->context_ = lctx; } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::configuration_complete (void) +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::configuration_complete (void) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::configuration_complete"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::configuration_complete"); this->init_domain (this->domain_participant_.inout ()); this->configuration_complete_ = true; } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_activate (void) +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_activate (void) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_activate"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_activate"); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_passivate (void) +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_passivate (void) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_passivate"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_passivate"); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_remove (void) +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_remove (void) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_remove"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_remove"); ::DDS::DomainParticipant_var dp = this->domain_participant_._retn (); if (!::CORBA::is_nil (dp.in ())) @@ -215,11 +215,11 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_remove (void) } } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> ACE_Reactor* -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::reactor (void) +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::reactor (void) { - DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::reactor"); + DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::reactor"); ACE_Reactor* reactor = 0; @@ -239,9 +239,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::reactor (void) /** * Type registration **/ -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::register_type ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::register_type ( ::DDS::DomainParticipant_ptr participant, const char * typesupport_name) { @@ -260,7 +260,11 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::register_type ( throw ::CORBA::INTERNAL (); } - ::CIAO::NDDS::DDS_TypeFactory_i * factory = new ::CIAO::NDDS::DDS_TypeFactory_T <DDS_TYPE> (); + typedef ::CIAO::NDDS::DDS_TypeFactory_T <DDS_TYPE, SEQ_TYPE> dds_type_factory; + ::CIAO::NDDS::DDS_TypeFactory_i * factory = 0; + ACE_NEW_THROW_EX (factory, + dds_type_factory (), + ::CORBA::NO_MEMORY ()); ::CIAO::NDDS::DDS_TypeSupport_i::register_type (typesupport_name, factory, participant); @@ -280,9 +284,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::register_type ( /** * Initialization **/ -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::init_topic ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::init_topic ( ::DDS::DomainParticipant_ptr participant, ::DDS::Topic_ptr & topic, const char * topic_name, @@ -319,9 +323,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::init_topic ( topic = tp._retn (); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::init_publisher ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::init_publisher ( ::DDS::DomainParticipant_ptr participant, ::DDS::Publisher_ptr & publisher) { @@ -354,9 +358,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::init_publisher ( } } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::init_subscriber ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::init_subscriber ( ::DDS::DomainParticipant_ptr participant, ::DDS::Subscriber_ptr & subscriber) { @@ -392,9 +396,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::init_subscriber ( /** * Activation **/ -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::activate_topic ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::activate_topic ( ACE_Reactor* reactor, ::DDS::Topic_ptr topic, ::DDS::TopicListener_ptr & listener) @@ -432,9 +436,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::activate_topic ( } } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::activate_publisher ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::activate_publisher ( ACE_Reactor* reactor, ::DDS::Publisher_ptr publisher, ::DDS::PublisherListener_ptr & publisher_listener) @@ -472,9 +476,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::activate_publisher ( } } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::activate_subscriber ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::activate_subscriber ( ACE_Reactor* reactor, ::DDS::Subscriber_ptr subscriber, ::DDS::SubscriberListener_ptr & subscriber_listener) @@ -515,9 +519,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::activate_subscriber ( /** * Passivation **/ -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::passivate_topic ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::passivate_topic ( ::DDS::Topic_ptr topic, ::DDS::TopicListener_ptr topic_listener) { @@ -538,9 +542,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::passivate_topic ( } } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::passivate_publisher ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::passivate_publisher ( ::DDS::Publisher_ptr publisher, ::DDS::PublisherListener_ptr publisher_listener) @@ -563,9 +567,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::passivate_publisher ( } } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::passivate_subscriber ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::passivate_subscriber ( ::DDS::Subscriber_ptr subscriber, ::DDS::SubscriberListener_ptr subscriber_listener) { @@ -589,8 +593,8 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::passivate_subscriber ( /** * Removal **/ -template <typename CCM_TYPE, typename DDS_TYPE> -void DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::remove_topic ( +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> +void DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::remove_topic ( ::DDS::DomainParticipant_ptr participant, ::DDS::Topic_ptr topic) { @@ -603,9 +607,9 @@ void DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::remove_topic ( } } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::remove_publisher ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::remove_publisher ( ::DDS::DomainParticipant_ptr participant, ::DDS::Publisher_ptr publisher) { @@ -614,9 +618,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::remove_publisher ( participant->delete_publisher (publisher); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::remove_subscriber ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::remove_subscriber ( ::DDS::DomainParticipant_ptr participant, ::DDS::Subscriber_ptr subscriber) { @@ -625,9 +629,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::remove_subscriber ( participant->delete_subscriber (subscriber); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::remove_domain ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::remove_domain ( ::DDS::DomainParticipant_ptr participant) { DDS4CCM_TRACE ("DDS_Base_Connector_T::remove_domain"); @@ -642,9 +646,9 @@ DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::remove_domain ( /** * Unregister type **/ -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE>::unregister_type ( +DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::unregister_type ( ::DDS::DomainParticipant_ptr participant, const char * typesupport_name) { diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.h index e2d4dab1143..36d547617f2 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.h @@ -11,7 +11,7 @@ #include "dds4ccm/impl/ndds/DomainParticipantFactory.h" #include "dds4ccm/impl/logger/Logger_Service.h" -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> class DDS_Base_Connector_T : public virtual CCM_TYPE::base_type, public virtual ::CORBA::LocalObject, diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h index 282b38e18c9..dddf11fd3c4 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h @@ -15,7 +15,7 @@ template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> class DDS_Event_Connector_T - : public virtual DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE> + : public virtual DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> { public: DDS_Event_Connector_T (void); @@ -123,7 +123,7 @@ private: void do_configuration_complete (void); void do_ccm_activate (void); - typedef DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE> TopicBaseConnector; + typedef DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> TopicBaseConnector; }; #include "dds4ccm/impl/DDS_Event_Connector_T.cpp" diff --git a/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h b/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h index ca3261c6149..3e290319ff9 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h @@ -17,7 +17,7 @@ template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> class DDS_State_Connector_T - : public virtual DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE> + : public virtual DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> { public: DDS_State_Connector_T (void); @@ -199,7 +199,7 @@ private: void do_configuration_complete (void); void do_ccm_activate (void); - typedef DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE> TopicBaseConnector; + typedef DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> TopicBaseConnector; }; #include "dds4ccm/impl/DDS_State_Connector_T.cpp" diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp index 884f3869472..ba0572a1ff0 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp @@ -178,6 +178,7 @@ DDS_Subscriber_Base_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::r this->dds_read_->set_dds_reader (::DDS::DataReader::_nil (), 0); this->condition_manager_.set_dds_entity (::DDS::DataReader::_nil ()); + this->ccm_data_reader_->set_dds_entity (::DDS::DataReader::_nil ()); } template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE> diff --git a/CIAO/connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.cpp index a37219a9247..55fd5908d9e 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.cpp @@ -4,40 +4,40 @@ #include "dds4ccm/impl/logger/Log_Macros.h" #include "ace/Reactor.h" -template <typename CCM_TYPE, typename DDS_TYPE> -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::DDS_TopicBase_Connector_T (void) : +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::DDS_TopicBase_Connector_T (void) : BaseConnector () , late_binding_ (false) { } -template <typename CCM_TYPE, typename DDS_TYPE> -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::~DDS_TopicBase_Connector_T (void) +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::~DDS_TopicBase_Connector_T (void) { } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> bool -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::late_binding (void) +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::late_binding (void) { - DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::late_binding"); + DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::late_binding"); return this->late_binding_; } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::late_binding (bool late_binding) +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::late_binding (bool late_binding) { - DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::late_binding"); + DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::late_binding"); this->late_binding_ |= late_binding; } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> bool -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::late_binded ( +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::late_binded ( const char * topic_name) { - DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::late_binded"); + DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::late_binded"); this->late_binding (ACE_OS::strlen (topic_name) == 0); @@ -59,11 +59,11 @@ DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::late_binded ( return false; } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::configuration_complete (void) +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::configuration_complete (void) { - DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::configuration_complete"); + DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::configuration_complete"); BaseConnector::configuration_complete (); const char* typesupport_name = DDS_TYPE::type_support::get_type_name (); @@ -83,11 +83,11 @@ DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::configuration_complete (void) this->publisher_.inout ()); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_activate (ACE_Reactor* reactor) +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_activate (ACE_Reactor* reactor) { - DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_activate"); + DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_activate"); BaseConnector::ccm_activate (); this->activate_topic (reactor, @@ -101,11 +101,11 @@ DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_activate (ACE_Reactor* reacto this->publisher_listener_.inout ()); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_passivate (void) +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_passivate (void) { - DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_passivate"); + DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_passivate"); ::DDS::TopicListener_var topiclistener = this->topiclistener_._retn (); @@ -132,11 +132,11 @@ DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_passivate (void) BaseConnector::ccm_passivate (); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_remove (void) +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_remove (void) { - DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_remove"); + DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::ccm_remove"); ::DDS::Topic_var topic = this->topic_._retn (); if (! CORBA::is_nil (topic.in ())) { @@ -163,18 +163,18 @@ DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::ccm_remove (void) BaseConnector::ccm_remove (); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> char * -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::topic_name (void) +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::topic_name (void) { - DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::topic_name"); + DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::topic_name"); return CORBA::string_dup (this->topic_name_.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::topic_name ( +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::topic_name ( const char * topic_name) { DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, FIXED>::topic_name"); @@ -182,12 +182,12 @@ DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::topic_name ( this->topic_name_ = topic_name; } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> void -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::key_fields ( +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::key_fields ( const ::DDS::StringSeq & key_fields) { - DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::key_fields"); + DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::key_fields"); if (this->configuration_complete_) { throw ::CCM_DDS::NonChangeable (); @@ -202,11 +202,11 @@ DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::key_fields ( } } -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> ::DDS::StringSeq * -DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::key_fields (void) +DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::key_fields (void) { - DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE>::key_fields"); + DDS4CCM_TRACE ("DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE>::key_fields"); /* For future use, DDS_TYPE doesn't have get_typecode yet ::DDS_TypeCode* ptr = ::DDS_TYPE::type_support::get_typecode (); diff --git a/CIAO/connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.h b/CIAO/connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.h index 568084f7480..88fd4306069 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.h @@ -12,9 +12,9 @@ #include "dds4ccm/impl/DDS_Base_Connector_T.h" -template <typename CCM_TYPE, typename DDS_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE> class DDS_TopicBase_Connector_T - : public virtual DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE> + : public virtual DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> { public: DDS_TopicBase_Connector_T (void); @@ -49,7 +49,7 @@ protected: ::DDS::Subscriber_var subscriber_; ::DDS::SubscriberListener_var subscriber_listener_; - typedef DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE> BaseConnector; + typedef DDS_Base_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> BaseConnector; private: bool late_binding_; }; diff --git a/CIAO/connectors/dds4ccm/impl/Reader_T.cpp b/CIAO/connectors/dds4ccm/impl/Reader_T.cpp index e357c59944b..56c42efb126 100644 --- a/CIAO/connectors/dds4ccm/impl/Reader_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/Reader_T.cpp @@ -188,9 +188,10 @@ namespace CIAO ::DDS::SampleInfoSeq sample_info; SEQ_VALUE_TYPE data; + ::DDS::QueryCondition_var qc = this->condition_manager_->get_querycondition_reader (); this->read_wo_instance (data, sample_info, - this->condition_manager_->get_querycondition_reader ()); + qc.in ()); // Determine how many samples to return CORBA::ULong samples_to_return = this->get_nr_valid_samples (sample_info, @@ -219,9 +220,10 @@ namespace CIAO ::DDS::SampleInfoSeq sample_info; SEQ_VALUE_TYPE data; + ::DDS::QueryCondition_var qc = this->condition_manager_->get_querycondition_reader (); this->read_wo_instance (data, sample_info, - this->condition_manager_->get_querycondition_reader ()); + qc.in ()); this->convert_data (data, instances, infos, sample_info); this->return_loan (instances, sample_info); diff --git a/CIAO/connectors/dds4ccm/impl/ndds/TypeSupport.h b/CIAO/connectors/dds4ccm/impl/ndds/TypeSupport.h index e3345cdf5a9..3d6d0884759 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/TypeSupport.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/TypeSupport.h @@ -32,7 +32,7 @@ namespace CIAO ::DDS::Subscriber_ptr sub) = 0; }; - template <typename DDS_TYPE> + template <typename DDS_TYPE, typename SEQ_TYPE> class DDS_TypeFactory_T : public DDS_TypeFactory_i { public: @@ -55,7 +55,7 @@ namespace CIAO typename DDS_TYPE::datareader_type, typename DDS_TYPE::typed_reader_type, typename DDS_TYPE::value_type, - typename DDS_TYPE::seq_type, + SEQ_TYPE, typename DDS_TYPE::dds_seq_type> DataReader_type; return new DataReader_type (dr, dp, sub); diff --git a/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp index 6cf1d60a9d9..8fde75c9eb0 100644 --- a/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp @@ -30,6 +30,7 @@ #include "ace/Reactor.h" #include "Connector/Writer_Connector_conn.h" +#include <dds4ccm/impl/CCM_DataReader.h> namespace CIAO_Writer_Receiver_Impl { @@ -184,6 +185,8 @@ namespace CIAO_Writer_Receiver_Impl void Receiver_exec_i::ccm_activate (void) { + WriterTestDataReader * reader = 0; + ::DDS::DataReader_var dds_dr = this->ciao_context_->get_connection_info_out_dds_entity (); @@ -201,34 +204,45 @@ namespace CIAO_Writer_Receiver_Impl { typedef ::CIAO::NDDS::DDS_DataReader_Base DataReader_type; - DataReader_type * typed_ccm_dr = - dynamic_cast <DataReader_type*> (ccm_dr->get_dds_entity ()); - if (typed_ccm_dr) + ::DDS::DataReader_var tmp = ccm_dr->get_dds_entity (); + if (! ::CORBA::is_nil (tmp.in ())) { - DDSDataReader* dds_reader = typed_ccm_dr->get_rti_entity (); - if (dds_reader) + DataReader_type * typed_ccm_dr = + dynamic_cast <DataReader_type*> (tmp.in ()); + if (typed_ccm_dr) { - this->reader_ = - ::CIAO_WriterTestConnector_DDS_Event_Impl::WriterTest_DDS_Traits::datareader_type::narrow (dds_reader); - if (!this->reader_) + DDSDataReader* dds_reader = typed_ccm_dr->get_rti_entity (); + if (dds_reader) + { + reader = ::CIAO_WriterTestConnector_DDS_Event_Impl + ::WriterTest_DDS_Traits + ::datareader_type::narrow (dds_reader); + if (!reader) + { + ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " + "Error narrowing to a typed " + "DDS DataReader.\n")); + throw ::CORBA::INTERNAL (); + } + } + else { ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " - "Error narrowing to a typed " - "DDS DataReader.\n")); + "Error getting DDS Datareader.\n")); throw ::CORBA::INTERNAL (); } } else { ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " - "Error getting DDS Datareader.\n")); + "Error casting DataReader to typed DataReader\n")); throw ::CORBA::INTERNAL (); } } else { ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " - "Error casting DataReader to typed DataReader\n")); + "::DDS::DataReader of CCM DataReader seems nil\n")); throw ::CORBA::INTERNAL (); } } @@ -244,7 +258,7 @@ namespace CIAO_Writer_Receiver_Impl ::CIAO_WriterTestConnector_DDS_Event_Impl::WriterTest_DDS_Traits::sampleinfo_seq_type sample_info_seq; - ::DDS::ReturnCode_t const result = this->reader_->take ( + ::DDS::ReturnCode_t const result = reader->take ( data, sample_info_seq, 1, @@ -253,7 +267,7 @@ namespace CIAO_Writer_Receiver_Impl ACE_DEBUG ((LM_DEBUG, "Take returned %C with %d samples\n", ::CIAO::DDS4CCM::translate_retcode (result), data.length ())); - ::DDS::ReturnCode_t const result_loan = this->reader_->return_loan (data, sample_info_seq); + ::DDS::ReturnCode_t const result_loan = reader->return_loan (data, sample_info_seq); ACE_DEBUG ((LM_DEBUG, "Return loan returned %C\n", ::CIAO::DDS4CCM::translate_retcode (result_loan))); diff --git a/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.h index 2019d68b7d9..4c22ba32a15 100644 --- a/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.h @@ -153,7 +153,6 @@ namespace CIAO_Writer_Receiver_Impl //@{ /** User defined members. */ - WriterTestDataReader * reader_; //@} diff --git a/CIAO/connectors/dds4ccm/tests/DDSEntity/Sender/Writer_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/DDSEntity/Sender/Writer_Sender_exec.cpp index ff358cd0f3d..b8590617318 100644 --- a/CIAO/connectors/dds4ccm/tests/DDSEntity/Sender/Writer_Sender_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/DDSEntity/Sender/Writer_Sender_exec.cpp @@ -291,36 +291,44 @@ namespace CIAO_Writer_Sender_Impl if (ccm_dw) { - typedef ::CIAO::NDDS::DDS_DataWriter_Base DataWriter_type; - - DataWriter_type * typed_ccm_dw = - dynamic_cast <DataWriter_type *> (ccm_dw->get_dds_entity ()); - if (typed_ccm_dw) + ::DDS::DataWriter_var tmp = ccm_dw->get_dds_entity (); + if (! ::CORBA::is_nil (tmp.in ())) { - DDSDataWriter* dds_datawriter = typed_ccm_dw->get_rti_entity (); - if (dds_datawriter) + typedef ::CIAO::NDDS::DDS_DataWriter_Base DataWriter_type; + DataWriter_type * typed_ccm_dw = dynamic_cast <DataWriter_type *> (tmp.in ()); + if (typed_ccm_dw) { - this->writer_ = - ::CIAO_WriterTestConnector_DDS_Event_Impl::WriterTest_DDS_Traits::datawriter_type::narrow (dds_datawriter); - if (!this->writer_) + DDSDataWriter* dds_datawriter = typed_ccm_dw->get_rti_entity (); + if (dds_datawriter) + { + this->writer_ = + ::CIAO_WriterTestConnector_DDS_Event_Impl::WriterTest_DDS_Traits::datawriter_type::narrow (dds_datawriter); + if (!this->writer_) + { + ACE_ERROR ((LM_ERROR, "ERROR : Sender_exec_i::ccm_activate - " + "Error narrowing to a typed " + "DDS DataWriter.\n")); + throw ::CORBA::INTERNAL (); + } + } + else { ACE_ERROR ((LM_ERROR, "ERROR : Sender_exec_i::ccm_activate - " - "Error narrowing to a typed " - "DDS DataWriter.\n")); + "Error getting DDS DataWriter.\n")); throw ::CORBA::INTERNAL (); } } else { ACE_ERROR ((LM_ERROR, "ERROR : Sender_exec_i::ccm_activate - " - "Error getting DDS DataWriter.\n")); + "Error casting DataWriter to typed DataWriter\n")); throw ::CORBA::INTERNAL (); } } else { ACE_ERROR ((LM_ERROR, "ERROR : Sender_exec_i::ccm_activate - " - "Error casting DataWriter to typed DataWriter\n")); + "::DDS::DataWriter of CCM DataWriter seems nil\n")); throw ::CORBA::INTERNAL (); } } diff --git a/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h b/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h index 23e5c00f2fe..e50f39abbd4 100644 --- a/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h +++ b/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h @@ -11,10 +11,10 @@ template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> class DDS_MT_Event_Connector_T - : public virtual DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE> + : public virtual DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> { -typedef DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE> TopicBaseConnector; +typedef DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> TopicBaseConnector; public: DDS_MT_Event_Connector_T (void); diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver.mpc b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver.mpc index 40f25e6eacc..0ae5f09bbd9 100755 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver.mpc +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver.mpc @@ -10,7 +10,8 @@ project(DDS_QCLS_Test_Receiver_idl_gen) : componentidldefaults, dds4ccm { -Wb,svnt_export_macro=RECEIVER_SVNT_Export \ -Wb,svnt_export_include=Receiver_svnt_export.h \ -Wb,exec_export_macro=RECEIVER_EXEC_Export \ - -Wb,exec_export_include=Receiver_exec_export.h -I.. + -Wb,exec_export_include=Receiver_exec_export.h \ + -I.. IDL_Files { QCLS_Test_Receiver.idl @@ -87,10 +88,10 @@ project(DDS_QCLS_Test_Receiver_stub) : ccm_stub, dds4ccm_base { project(DDS_QCLS_Test_Receiver_exec) : ciao_executor, dds4ccm_lem_stub { after += DDS_QCLS_Test_Receiver_lem_stub DDS_QCLS_Test_Receiver_stub \ DDS_QCLS_Test_Base_stub DDS_QCLS_Test_Connector_stub \ - DDS_QCLS_Test_Connector_lem_stub + DDS_QCLS_Test_Connector_lem_stub sharedname = Receiver_exec libs += Receiver_stub Receiver_lem_stub DDS_QCLS_Test_Base_stub \ - DDS_QCLS_Test_Connector_stub DDS_QCLS_Test_Connector_lem_stub + DDS_QCLS_Test_Connector_stub DDS_QCLS_Test_Connector_lem_stub libpaths += ../lib libout = ../lib includes += .. @@ -116,11 +117,11 @@ project(DDS_QCLS_Test_Receiver_exec) : ciao_executor, dds4ccm_lem_stub { project(DDS_QCLS_Test_Receiver_svnt) : ciao_servant, dds4ccm_lem_stub, dds4ccm_skel { after += DDS_QCLS_Test_Receiver_lem_stub DDS_QCLS_Test_Base_stub \ DDS_QCLS_Test_Connector_stub DDS_QCLS_Test_Connector_svnt \ - DDS_QCLS_Test_Receiver_exec DDS_QCLS_Test_Connector_lem_stub + DDS_QCLS_Test_Receiver_exec DDS_QCLS_Test_Connector_lem_stub sharedname = Receiver_svnt libs += Receiver_stub Receiver_lem_stub DDS_QCLS_Test_Base_stub \ DDS_QCLS_Test_Connector_stub DDS_QCLS_Test_Connector_svnt \ - Receiver_exec DDS_QCLS_Test_Connector_lem_stub + Receiver_exec DDS_QCLS_Test_Connector_lem_stub libpaths += ../lib libout = ../lib includes += .. diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.cpp index 4bde8f5de24..9198a4f94c8 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.cpp @@ -1,9 +1,31 @@ // -*- C++ -*- -// // $Id$ +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v1.8.3 + * TAO and the TAO IDL Compiler have been developed by: + * Center for Distributed Object Computing + * Washington University + * St. Louis, MO + * USA + * http://www.cs.wustl.edu/~schmidt/doc-center.html + * and + * Distributed Object Computing Laboratory + * University of California at Irvine + * Irvine, CA + * USA + * and + * Institute for Software Integrated Systems + * Vanderbilt University + * Nashville, TN + * USA + * http://www.isis.vanderbilt.edu/ + * + * Information about TAO is available at: + * http://www.cs.wustl.edu/~schmidt/TAO.html + **/ + #include "QCLS_Test_Receiver_exec.h" -#include "ace/Log_Msg.h" #include "dds4ccm/impl/dds4ccm_conf.h" @@ -16,34 +38,40 @@ namespace CIAO_QCLS_Test_Receiver_Impl { - //============================================================ - // QueryConditionListenStateTest_Listener_exec_i - //============================================================ - QueryConditionListenStateTest_Listener::QueryConditionListenStateTest_Listener ( - ACE_Thread_ID &thread_id, - Atomic_Long &samples_received) - : thread_id_ (thread_id), - samples_received_ (samples_received) + + /** + * Facet Executor Implementation Class: info_state_data_listener_exec_i + */ + + info_state_data_listener_exec_i::info_state_data_listener_exec_i ( + ::QCLS_Test::CCM_Receiver_Context_ptr ctx, + ACE_Thread_ID &thread_id, + Atomic_Long &samples_received) + : ciao_context_ ( + ::QCLS_Test::CCM_Receiver_Context::_duplicate (ctx)) + , thread_id_ (thread_id) + , samples_received_ (samples_received) { } - QueryConditionListenStateTest_Listener::~QueryConditionListenStateTest_Listener (void) + info_state_data_listener_exec_i::~info_state_data_listener_exec_i (void) { } + // Operations from ::QCLS_Test::QueryConditionListenStateTestConnector::StateListener + void - QueryConditionListenStateTest_Listener::on_creation ( - const QueryConditionListenStateTest& an_instance, - const CCM_DDS::ReadInfo& /*read_info*/) + info_state_data_listener_exec_i::on_creation (const ::QueryConditionListenStateTest & datum, + const ::CCM_DDS::ReadInfo & /* info */) { ++this->samples_received_; ACE_DEBUG ((LM_DEBUG, "QueryConditionListenStateTest_Listener::on_creation: " "key <%C> - iteration <%d>\n", - an_instance.key.in (), - an_instance.iteration)); - if (an_instance.iteration <= ACE_OS::atoi (MIN_ITERATION) || - an_instance.iteration > ACE_OS::atoi (MAX_ITERATION) ) + datum.key.in (), + datum.iteration)); + if (datum.iteration <= ACE_OS::atoi (MIN_ITERATION) || + datum.iteration > ACE_OS::atoi (MAX_ITERATION) ) { ACE_ERROR ((LM_ERROR, "QueryConditionListenStateTest_Listener::on_creation: " "ERROR: Unexpected iteration received.\n")); @@ -51,9 +79,8 @@ namespace CIAO_QCLS_Test_Receiver_Impl } void - QueryConditionListenStateTest_Listener::on_one_update ( - const QueryConditionListenStateTest& an_instance, - const CCM_DDS::ReadInfo& /*read_info*/) + info_state_data_listener_exec_i::on_one_update (const ::QueryConditionListenStateTest & datum, + const ::CCM_DDS::ReadInfo & /* info */) { ACE_Thread_ID t_id; this->thread_id_ = t_id; @@ -61,10 +88,10 @@ namespace CIAO_QCLS_Test_Receiver_Impl ACE_DEBUG ((LM_DEBUG, "QueryConditionListenStateTest_Listener::on_one_update: " "key <%C> - iteration <%d>\n", - an_instance.key.in (), - an_instance.iteration)); - if (an_instance.iteration <= ACE_OS::atoi (MIN_ITERATION) || - an_instance.iteration > ACE_OS::atoi (MAX_ITERATION) ) + datum.key.in (), + datum.iteration)); + if (datum.iteration <= ACE_OS::atoi (MIN_ITERATION) || + datum.iteration > ACE_OS::atoi (MAX_ITERATION) ) { ACE_ERROR ((LM_ERROR, "QueryConditionListenStateTest_Listener::on_one_update: " "ERROR: Unexpected iteration received.\n")); @@ -72,28 +99,60 @@ namespace CIAO_QCLS_Test_Receiver_Impl } void - QueryConditionListenStateTest_Listener::on_many_updates ( - const QueryConditionListenStateTestSeq& /*an_instance*/, - const CCM_DDS::ReadInfoSeq& /*read_info*/) + info_state_data_listener_exec_i::on_many_updates (const ::QueryConditionListenStateTestSeq & /* data */, + const ::CCM_DDS::ReadInfoSeq & /* infos */) + { + /* Your code here. */ + } + + void + info_state_data_listener_exec_i::on_deletion (const ::QueryConditionListenStateTest & /* datum */, + const ::CCM_DDS::ReadInfo & /* info */) + { + /* Your code here. */ + } + + /** + * Facet Executor Implementation Class: info_state_status_exec_i + */ + + info_state_status_exec_i::info_state_status_exec_i ( + ::QCLS_Test::CCM_Receiver_Context_ptr ctx) + : ciao_context_ ( + ::QCLS_Test::CCM_Receiver_Context::_duplicate (ctx)) + { + } + + info_state_status_exec_i::~info_state_status_exec_i (void) + { + } + + // Operations from ::CCM_DDS::PortStatusListener + + void + info_state_status_exec_i::on_requested_deadline_missed (::DDS::DataReader_ptr /* the_reader */, + const ::DDS::RequestedDeadlineMissedStatus & /* status */) { + /* Your code here. */ } void - QueryConditionListenStateTest_Listener::on_deletion ( - const QueryConditionListenStateTest& /*an_instance*/, - const CCM_DDS::ReadInfo& /*read_info*/) + info_state_status_exec_i::on_sample_lost (::DDS::DataReader_ptr /* the_reader */, + const ::DDS::SampleLostStatus & /* status */) { + /* Your code here. */ } - //============================================================ - // Receiver_exec_i - //============================================================ + /** + * Component Executor Implementation Class: Receiver_exec_i + */ + Receiver_exec_i::Receiver_exec_i (void) - : thread_id_listener_ (0, 0), - iterations_ (10), - keys_ (5), - samples_expected_ (keys_ * SAMPLES_PER_KEY), - samples_received_ (0) + : keys_ (5) + , iterations_ (10) + , thread_id_listener_ (0, 0) + , samples_expected_ (keys_ * SAMPLES_PER_KEY) + , samples_received_ (0) { } @@ -101,60 +160,96 @@ namespace CIAO_QCLS_Test_Receiver_Impl { } + // Supported operations and attributes. void Receiver_exec_i::start () { ::CCM_DDS::DataListenerControl_var dlc = - this->context_->get_connection_info_state_data_control (); + this->ciao_context_->get_connection_info_state_data_control (); dlc->mode (::CCM_DDS::ONE_BY_ONE); } + // Component attributes and port operations. + ::QCLS_Test::QueryConditionListenStateTestConnector::CCM_StateListener_ptr Receiver_exec_i::get_info_state_data_listener (void) { - return new QueryConditionListenStateTest_Listener ( - this->thread_id_listener_, - this->samples_received_); + if ( ::CORBA::is_nil (this->ciao_info_state_data_listener_.in ())) + { + info_state_data_listener_exec_i *tmp = 0; + ACE_NEW_RETURN ( + tmp, + info_state_data_listener_exec_i ( + this->ciao_context_.in (), + this->thread_id_listener_, + this->samples_received_), + ::QCLS_Test::QueryConditionListenStateTestConnector::CCM_StateListener::_nil ()); + + this->ciao_info_state_data_listener_ = tmp; + } + + return + ::QCLS_Test::QueryConditionListenStateTestConnector::CCM_StateListener::_duplicate ( + this->ciao_info_state_data_listener_.in ()); } ::CCM_DDS::CCM_PortStatusListener_ptr Receiver_exec_i::get_info_state_status (void) { - return ::CCM_DDS::CCM_PortStatusListener::_nil (); + if ( ::CORBA::is_nil (this->ciao_info_state_status_.in ())) + { + info_state_status_exec_i *tmp = 0; + ACE_NEW_RETURN ( + tmp, + info_state_status_exec_i ( + this->ciao_context_.in ()), + ::CCM_DDS::CCM_PortStatusListener::_nil ()); + + this->ciao_info_state_status_ = tmp; + } + + return + ::CCM_DDS::CCM_PortStatusListener::_duplicate ( + this->ciao_info_state_status_.in ()); } ::CORBA::UShort - Receiver_exec_i::iterations (void) + Receiver_exec_i::keys (void) { - return this->iterations_; + return this->keys_; } void - Receiver_exec_i::iterations (::CORBA::UShort iterations) + Receiver_exec_i::keys ( + const ::CORBA::UShort keys) { - this->iterations_ = iterations; + this->keys_ = keys; + this->samples_expected_ = SAMPLES_PER_KEY * this->keys_; } ::CORBA::UShort - Receiver_exec_i::keys (void) + Receiver_exec_i::iterations (void) { - return this->keys_; + return this->iterations_; } void - Receiver_exec_i::keys (::CORBA::UShort keys) + Receiver_exec_i::iterations ( + const ::CORBA::UShort iterations) { - this->keys_ = keys; - - this->samples_expected_ = SAMPLES_PER_KEY * this->keys_; + this->iterations_ = iterations; } + // Operations from Components::SessionComponent. + void - Receiver_exec_i::set_session_context (::Components::SessionContext_ptr ctx) + Receiver_exec_i::set_session_context ( + ::Components::SessionContext_ptr ctx) { - this->context_ = + this->ciao_context_ = ::QCLS_Test::CCM_Receiver_Context::_narrow (ctx); - if ( ::CORBA::is_nil (this->context_.in ())) + + if ( ::CORBA::is_nil (this->ciao_context_.in ())) { throw ::CORBA::INTERNAL (); } @@ -163,6 +258,7 @@ namespace CIAO_QCLS_Test_Receiver_Impl void Receiver_exec_i::configuration_complete (void) { + /* Your code here. */ } void @@ -176,7 +272,7 @@ namespace CIAO_QCLS_Test_Receiver_Impl filter.parameters[0] = CORBA::string_dup (MIN_ITERATION); filter.parameters[1] = CORBA::string_dup (MAX_ITERATION); ::QCLS_Test::QueryConditionListenStateTestConnector::Reader_var reader = - this->context_->get_connection_info_state_data (); + this->ciao_context_->get_connection_info_state_data (); reader->query (filter); @@ -188,6 +284,7 @@ namespace CIAO_QCLS_Test_Receiver_Impl void Receiver_exec_i::ccm_passivate (void) { + /* Your code here. */ } void diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.h index b9a6e6a052a..8a4b8721999 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.h @@ -1,19 +1,42 @@ // -*- C++ -*- // $Id$ -#ifndef CIAO_RECEIVER_EXEC_H_ -#define CIAO_RECEIVER_EXEC_H_ +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v1.8.3 + * TAO and the TAO IDL Compiler have been developed by: + * Center for Distributed Object Computing + * Washington University + * St. Louis, MO + * USA + * http://www.cs.wustl.edu/~schmidt/doc-center.html + * and + * Distributed Object Computing Laboratory + * University of California at Irvine + * Irvine, CA + * USA + * and + * Institute for Software Integrated Systems + * Vanderbilt University + * Nashville, TN + * USA + * http://www.isis.vanderbilt.edu/ + * + * Information about TAO is available at: + * http://www.cs.wustl.edu/~schmidt/TAO.html + **/ +#ifndef CIAO_QCLS_TEST_RECEIVER_EXEC_GHBRF4_H_ +#define CIAO_QCLS_TEST_RECEIVER_EXEC_GHBRF4_H_ + +#include /**/ "ace/pre.h" #include "QCLS_Test_ReceiverEC.h" -#include /**/ "Receiver_exec_export.h" - #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include /**/ "Receiver_exec_export.h" #include "tao/LocalObject.h" -#include "ace/OS_NS_Thread.h" namespace CIAO_QCLS_Test_Receiver_Impl { @@ -21,44 +44,81 @@ namespace CIAO_QCLS_Test_Receiver_Impl typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, CORBA::Long> Atomic_Long; - //============================================================ - // QueryConditionListenStateTest_Listener_exec_i - //============================================================ - class RECEIVER_EXEC_Export QueryConditionListenStateTest_Listener + /** + * Provider Executor Implementation Class: info_state_data_listener_exec_i + */ + + class info_state_data_listener_exec_i : public virtual ::QCLS_Test::QueryConditionListenStateTestConnector::CCM_StateListener, public virtual ::CORBA::LocalObject { public: - QueryConditionListenStateTest_Listener ( - ACE_Thread_ID &thread_id, - Atomic_Long &samples_received); - virtual ~QueryConditionListenStateTest_Listener (void); + info_state_data_listener_exec_i ( + ::QCLS_Test::CCM_Receiver_Context_ptr ctx, + ACE_Thread_ID &thread_id, + Atomic_Long &samples_received); + virtual ~info_state_data_listener_exec_i (void); + + //@{ + /** Operations and attributes from ::QCLS_Test::QueryConditionListenStateTestConnector::StateListener. */ - virtual void - on_creation (const QueryConditionListenStateTest& an_instance, - const CCM_DDS::ReadInfo& read_info); + virtual + void on_creation (const ::QueryConditionListenStateTest & datum, + const ::CCM_DDS::ReadInfo & info); - virtual void - on_one_update (const QueryConditionListenStateTest& an_instance, - const CCM_DDS::ReadInfo& read_info); + virtual + void on_one_update (const ::QueryConditionListenStateTest & datum, + const ::CCM_DDS::ReadInfo & info); - virtual void - on_many_updates (const QueryConditionListenStateTestSeq& an_instance, - const CCM_DDS::ReadInfoSeq& read_info); + virtual + void on_many_updates (const ::QueryConditionListenStateTestSeq & data, + const ::CCM_DDS::ReadInfoSeq & infos); - virtual void - on_deletion (const QueryConditionListenStateTest& an_instance, - const CCM_DDS::ReadInfo& read_info); + virtual + void on_deletion (const ::QueryConditionListenStateTest & datum, + const ::CCM_DDS::ReadInfo & info); + //@} private: + ::QCLS_Test::CCM_Receiver_Context_var ciao_context_; ACE_Thread_ID &thread_id_; Atomic_Long &samples_received_; }; - //============================================================ - // Receiver_exec_i - //============================================================ - class RECEIVER_EXEC_Export Receiver_exec_i + /** + * Provider Executor Implementation Class: info_state_status_exec_i + */ + + class info_state_status_exec_i + : public virtual ::CCM_DDS::CCM_PortStatusListener, + public virtual ::CORBA::LocalObject + { + public: + info_state_status_exec_i ( + ::QCLS_Test::CCM_Receiver_Context_ptr ctx); + virtual ~info_state_status_exec_i (void); + + //@{ + /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + + virtual + void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, + const ::DDS::RequestedDeadlineMissedStatus & status); + + virtual + void on_sample_lost (::DDS::DataReader_ptr the_reader, + const ::DDS::SampleLostStatus & status); + //@} + + private: + ::QCLS_Test::CCM_Receiver_Context_var ciao_context_; + }; + + /** + * Component Executor Implementation Class: Receiver_exec_i + */ + + class Receiver_exec_i : public virtual Receiver_Exec, public virtual ::CORBA::LocalObject { @@ -66,15 +126,13 @@ namespace CIAO_QCLS_Test_Receiver_Impl Receiver_exec_i (void); virtual ~Receiver_exec_i (void); - void start (); - - virtual ::CORBA::UShort iterations (void); - - virtual void iterations (::CORBA::UShort iterations); + //@{ + /** Supported operations and attributes. */ - virtual ::CORBA::UShort keys (void); + //@} - virtual void keys (::CORBA::UShort keys); + //@{ + /** Component attributes and port operations. */ virtual ::QCLS_Test::QueryConditionListenStateTestConnector::CCM_StateListener_ptr get_info_state_data_listener (void); @@ -82,30 +140,61 @@ namespace CIAO_QCLS_Test_Receiver_Impl virtual ::CCM_DDS::CCM_PortStatusListener_ptr get_info_state_status (void); - virtual void - set_session_context ( - ::Components::SessionContext_ptr ctx); + virtual ::CORBA::UShort keys (void); - virtual void configuration_complete (void); + virtual void keys (::CORBA::UShort keys); + + virtual ::CORBA::UShort iterations (void); + + virtual void iterations (::CORBA::UShort iterations); + //@} + //@{ + /** Operations from Components::SessionComponent. */ + virtual void set_session_context (::Components::SessionContext_ptr ctx); + virtual void configuration_complete (void); virtual void ccm_activate (void); virtual void ccm_passivate (void); virtual void ccm_remove (void); + //@} + + //@{ + /** User defined public operations. */ + + //@} private: - ::QCLS_Test::CCM_Receiver_Context_var context_; + ::QCLS_Test::CCM_Receiver_Context_var ciao_context_; - ACE_Thread_ID thread_id_listener_; + //@{ + /** Component attributes. */ + ::QCLS_Test::QueryConditionListenStateTestConnector::CCM_StateListener_var ciao_info_state_data_listener_; + ::CCM_DDS::CCM_PortStatusListener_var ciao_info_state_status_; + + ::CORBA::UShort keys_; - CORBA::UShort iterations_; - CORBA::UShort keys_; + ::CORBA::UShort iterations_; + //@} + + //@{ + /** User defined members. */ + ACE_Thread_ID thread_id_listener_; CORBA::Long samples_expected_; Atomic_Long samples_received_; + + //@} + + //@{ + /** User defined private operations. */ + void start (void); + //@} }; extern "C" RECEIVER_EXEC_Export ::Components::EnterpriseComponent_ptr create_QCLS_Test_Receiver_Impl (void); } +#include /**/ "ace/post.h" + #endif /* ifndef */ diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender.mpc b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender.mpc index 39fab9e9c7e..e26f147f9c9 100755 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender.mpc +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender.mpc @@ -87,7 +87,7 @@ project(DDS_QCLS_Test_Sender_stub) : ccm_stub, dds4ccm_base { project(DDS_QCLS_Test_Sender_exec) : ciao_executor, dds4ccm_lem_stub { after += DDS_QCLS_Test_Sender_lem_stub DDS_QCLS_Test_Sender_stub \ - DDS_QCLS_Test_Connector_lem_stub DDS_QCLS_Test_Connector_stub + DDS_QCLS_Test_Connector_lem_stub DDS_QCLS_Test_Connector_stub sharedname = Sender_exec libs += Sender_stub Sender_lem_stub DDS_QCLS_Test_Base_stub \ DDS_QCLS_Test_Connector_lem_stub DDS_QCLS_Test_Connector_stub diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.cpp index 4007e8c4ae6..ef365c51481 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.cpp @@ -1,18 +1,40 @@ // -*- C++ -*- // $Id$ +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v1.8.3 + * TAO and the TAO IDL Compiler have been developed by: + * Center for Distributed Object Computing + * Washington University + * St. Louis, MO + * USA + * http://www.cs.wustl.edu/~schmidt/doc-center.html + * and + * Distributed Object Computing Laboratory + * University of California at Irvine + * Irvine, CA + * USA + * and + * Institute for Software Integrated Systems + * Vanderbilt University + * Nashville, TN + * USA + * http://www.isis.vanderbilt.edu/ + * + * Information about TAO is available at: + * http://www.cs.wustl.edu/~schmidt/TAO.html + **/ + #include "QCLS_Test_Sender_exec.h" -#include "ace/Guard_T.h" -#include "ace/Log_Msg.h" -#include "ace/Date_Time.h" -#include "ace/Reactor.h" #include "tao/ORB_Core.h" +#include "ace/Reactor.h" namespace CIAO_QCLS_Test_Sender_Impl { - //============================================================ - // StartHandler - //============================================================ + /** + * Start Handler + */ + StartHandler::StartHandler(Sender_exec_i &callback) : callback_ (callback) { @@ -25,9 +47,10 @@ namespace CIAO_QCLS_Test_Sender_Impl return 0; } - //============================================================ - // UpdateTicker - //============================================================ + /** + * Update Ticker + */ + UpdateTicker::UpdateTicker (Sender_exec_i &callback) : callback_ (callback), last_iter_ (0) @@ -42,24 +65,54 @@ namespace CIAO_QCLS_Test_Sender_Impl return 0; } - //============================================================ - // Component Executor Implementation Class: Sender_exec_i - //============================================================ + /** + * Component Executor Implementation Class: Sender_exec_i + */ + Sender_exec_i::Sender_exec_i (void) - : iterations_ (10), - keys_ (5) + : keys_ (5) + , iterations_ (10) { this->ticker_ = new UpdateTicker (*this); + this->rh_ = new StartHandler (*this); } Sender_exec_i::~Sender_exec_i (void) { + delete this->rh_; + delete this->ticker_; + } + + // Supported operations and attributes. + ACE_Reactor* + Sender_exec_i::reactor (void) + { + ACE_Reactor* reactor = 0; + ::CORBA::Object_var ccm_object = + this->ciao_context_->get_CCM_object(); + if (! ::CORBA::is_nil (ccm_object.in ())) + { + ::CORBA::ORB_var orb = ccm_object->_get_orb (); + if (! ::CORBA::is_nil (orb.in ())) + { + reactor = orb->orb_core ()->reactor (); + } + } + if (reactor == 0) + { + throw ::CORBA::INTERNAL (); + } + return reactor; } void Sender_exec_i::update_one (CORBA::UShort iter) { - if (iter <= this->iterations ()) + ::QCLS_Test::QueryConditionListenStateTestConnector::Updater_var + updater = this->ciao_context_->get_connection_info_update_data (); + + if (! ::CORBA::is_nil (updater.in ()) && + iter <= this->iterations ()) { for (CORBA::UShort i = 1; i < this->keys () + 1; ++i) { @@ -68,7 +121,7 @@ namespace CIAO_QCLS_Test_Sender_Impl QueryConditionListenStateTest update_key; update_key.key = CORBA::string_dup (key); update_key.iteration = iter; - this->updater_->update_one (update_key, ::DDS::HANDLE_NIL); + updater->update_one (update_key, ::DDS::HANDLE_NIL); ACE_DEBUG ((LM_DEBUG, "Updated key <%C> - <%u>\n", key, iter)); @@ -78,26 +131,29 @@ namespace CIAO_QCLS_Test_Sender_Impl { ACE_DEBUG ((LM_DEBUG, "Sender_exec_i::update_one - " "Finished updating. Cancel Timer.\n")); - this->context_->get_CCM_object()->_get_orb ()->orb_core ()->reactor ()->cancel_timer ( - this->ticker_); + this->reactor ()->cancel_timer (this->ticker_); } } void Sender_exec_i::run () { + ::QCLS_Test::QueryConditionListenStateTestConnector::Updater_var + updater = this->ciao_context_->get_connection_info_update_data (); // First create the instances for consecutive updating. - for (CORBA::UShort i = 1; i < this->keys () + 1; ++i) + for (::CORBA::UShort i = 1; + i < this->keys () + 1 && !::CORBA::is_nil (updater.in ()); + ++i) { char key[7]; ACE_OS::sprintf (key, "KEY_%d", i); QueryConditionListenStateTest new_key; new_key.key = CORBA::string_dup(key); new_key.iteration = 0; - this->updater_->create_one (new_key); + updater->create_one (new_key); } - if (this->context_->get_CCM_object()->_get_orb ()->orb_core ()->reactor ()->schedule_timer ( + if (this->reactor ()->schedule_timer ( this->ticker_, 0, ACE_Time_Value (5, 50000), @@ -111,41 +167,47 @@ namespace CIAO_QCLS_Test_Sender_Impl void Sender_exec_i::start (void) { - StartHandler *rh = new StartHandler (*this); - this->context_->get_CCM_object()->_get_orb ()->orb_core ()->reactor ()->notify (rh); + this->reactor ()->notify (this->rh_); } + // Component attributes and port operations. + ::CORBA::UShort - Sender_exec_i::iterations (void) + Sender_exec_i::keys (void) { - return this->iterations_; + return this->keys_; } void - Sender_exec_i::iterations (::CORBA::UShort iterations) + Sender_exec_i::keys ( + const ::CORBA::UShort keys) { - this->iterations_ = iterations; + this->keys_ = keys; } ::CORBA::UShort - Sender_exec_i::keys (void) + Sender_exec_i::iterations (void) { - return this->keys_; + return this->iterations_; } void - Sender_exec_i::keys (::CORBA::UShort keys) + Sender_exec_i::iterations ( + const ::CORBA::UShort iterations) { - this->keys_ = keys; + this->iterations_ = iterations; } + // Operations from Components::SessionComponent. + void - Sender_exec_i::set_session_context (::Components::SessionContext_ptr ctx) + Sender_exec_i::set_session_context ( + ::Components::SessionContext_ptr ctx) { - this->context_ = + this->ciao_context_ = ::QCLS_Test::CCM_Sender_Context::_narrow (ctx); - if ( ::CORBA::is_nil (this->context_.in ())) + if ( ::CORBA::is_nil (this->ciao_context_.in ())) { throw ::CORBA::INTERNAL (); } @@ -154,37 +216,25 @@ namespace CIAO_QCLS_Test_Sender_Impl void Sender_exec_i::configuration_complete (void) { + /* Your code here. */ } void Sender_exec_i::ccm_activate (void) { - try - { - this->updater_ = this->context_->get_connection_info_update_data (); - start (); - } - catch (const ::CORBA::Exception& ex) - { - ex._tao_print_exception ("Exception caught:"); - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("ERROR: Sender_exec_i::ccm_activate: Exception caught\n"))); - } - catch (...) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("ERROR: Sender_exec_i::ccm_activate: Unknown exception caught\n"))); - } + start (); } void Sender_exec_i::ccm_passivate (void) { + /* Your code here. */ } void Sender_exec_i::ccm_remove (void) { + /* Your code here. */ } extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.h index 0c4c0be6393..10085a93500 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Sender/QCLS_Test_Sender_exec.h @@ -1,27 +1,51 @@ // -*- C++ -*- // $Id$ -#ifndef CIAO_SENDER_EXEC_H_ -#define CIAO_SENDER_EXEC_H_ - +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v1.8.3 + * TAO and the TAO IDL Compiler have been developed by: + * Center for Distributed Object Computing + * Washington University + * St. Louis, MO + * USA + * http://www.cs.wustl.edu/~schmidt/doc-center.html + * and + * Distributed Object Computing Laboratory + * University of California at Irvine + * Irvine, CA + * USA + * and + * Institute for Software Integrated Systems + * Vanderbilt University + * Nashville, TN + * USA + * http://www.isis.vanderbilt.edu/ + * + * Information about TAO is available at: + * http://www.cs.wustl.edu/~schmidt/TAO.html + **/ +#ifndef CIAO_QCLS_TEST_SENDER_EXEC_GHBRF4_H_ +#define CIAO_QCLS_TEST_SENDER_EXEC_GHBRF4_H_ + +#include /**/ "ace/pre.h" #include "QCLS_Test_SenderEC.h" -#include /**/ "Sender_exec_export.h" - #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include /**/ "Sender_exec_export.h" #include "tao/LocalObject.h" namespace CIAO_QCLS_Test_Sender_Impl { class Sender_exec_i; - //============================================================ - // StartHandler - //============================================================ + /** + * Start Handler + */ + class StartHandler : public ACE_Event_Handler { @@ -32,9 +56,10 @@ namespace CIAO_QCLS_Test_Sender_Impl Sender_exec_i &callback_; }; - //============================================================ - // UpdateTicker - //============================================================ + /** + * Update Ticker + */ + class UpdateTicker : public ACE_Event_Handler { @@ -42,11 +67,14 @@ namespace CIAO_QCLS_Test_Sender_Impl UpdateTicker (Sender_exec_i &callback); int handle_timeout (const ACE_Time_Value &, const void *); private: - /// Maintains a handle that actually process the event Sender_exec_i &callback_; CORBA::UShort last_iter_; }; + /** + * Component Executor Implementation Class: Sender_exec_i + */ + class Sender_exec_i : public virtual Sender_Exec, public virtual ::CORBA::LocalObject @@ -55,39 +83,71 @@ namespace CIAO_QCLS_Test_Sender_Impl Sender_exec_i (void); virtual ~Sender_exec_i (void); - virtual ::CORBA::UShort iterations (void); + //@{ + /** Supported operations and attributes. */ - virtual void iterations (::CORBA::UShort iterations); + //@} + + //@{ + /** Component attributes and port operations. */ virtual ::CORBA::UShort keys (void); virtual void keys (::CORBA::UShort keys); - virtual void set_session_context (::Components::SessionContext_ptr ctx); + virtual ::CORBA::UShort iterations (void); - virtual void configuration_complete (void); + virtual void iterations (::CORBA::UShort iterations); + //@} + //@{ + /** Operations from Components::SessionComponent. */ + virtual void set_session_context (::Components::SessionContext_ptr ctx); + virtual void configuration_complete (void); virtual void ccm_activate (void); virtual void ccm_passivate (void); virtual void ccm_remove (void); + //@} + //@{ + /** User defined public operations. */ void start (void); void run (void); void update_one (CORBA::UShort iter); + //@} + private: - ::QCLS_Test::CCM_Sender_Context_var context_; - ::QCLS_Test::QueryConditionListenStateTestConnector::Updater_var updater_; + ::QCLS_Test::CCM_Sender_Context_var ciao_context_; + + //@{ + /** Component attributes. */ + + ::CORBA::UShort keys_; + + ::CORBA::UShort iterations_; + //@} + //@{ + /** User defined members. */ UpdateTicker *ticker_; + StartHandler *rh_; - CORBA::UShort iterations_; - CORBA::UShort keys_; - }; + //@} + + //@{ + /** User defined private operations. */ + + //@} + + /// Get the ACE_Reactor + ACE_Reactor* reactor (void); + }; extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr create_QCLS_Test_Sender_Impl (void); } -#endif /* ifndef */ +#include /**/ "ace/post.h" +#endif /* ifndef */ diff --git a/CIAO/connectors/dds4ccm/tests/Reader/Sender/Reader_Test_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/Reader/Sender/Reader_Test_Sender_exec.cpp index 3dda047a9fd..0efda88b489 100644 --- a/CIAO/connectors/dds4ccm/tests/Reader/Sender/Reader_Test_Sender_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/Reader/Sender/Reader_Test_Sender_exec.cpp @@ -109,7 +109,7 @@ namespace CIAO_Reader_Test_Sender_Impl } // Supported operations and attributes. -void + void Sender_exec_i::start (void) { ::Reader_Test::ReaderTestConnector::Writer_var writer = diff --git a/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/Sender/Writer_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/Sender/Writer_Sender_exec.cpp index 5fcf710d3fa..11e826b589a 100644 --- a/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/Sender/Writer_Sender_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/Sender/Writer_Sender_exec.cpp @@ -119,7 +119,7 @@ namespace CIAO_Writer_Sender_Impl ++this->last_key->second->iteration; OctetSeq_var reply_mesg = new OctetSeq (1); reply_mesg->length (1); - this->last_key->second->data = *reply_mesg._retn (); + this->last_key->second->data = reply_mesg; writer->write_one (this->last_key->second, ::DDS::HANDLE_NIL); ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Written keyed <%C> - iteration <%d>\n"), this->last_key->first.c_str (), @@ -170,7 +170,7 @@ namespace CIAO_Writer_Sender_Impl new_key.iteration = i; OctetSeq_var reply_mesg = new OctetSeq (1); reply_mesg->length (1); - new_key.data = *reply_mesg._retn (); + new_key.data = reply_mesg; write_many_no_excep[i-1] = new_key; } try @@ -205,7 +205,7 @@ namespace CIAO_Writer_Sender_Impl long const length = 100000; OctetSeq_var reply_mesg = new OctetSeq (length); reply_mesg->length (length); - this->last_key->second->data = *reply_mesg._retn (); + this->last_key->second->data = reply_mesg; writer->write_one (this->last_key->second, ::DDS::HANDLE_NIL); ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: No InternalError ") ACE_TEXT ("caught while writing a large amount of data.\n"))); |