From 815c031aed419bdf46f27b8761e78cf58313c28f Mon Sep 17 00:00:00 2001 From: "William R. Otte" Date: Tue, 6 Oct 2009 07:05:13 +0000 Subject: Tue Oct 6 07:04:13 UTC 2009 William R. Otte --- modules/CIAO/ChangeLog | 17 +- .../dds4ccm/examples/Quoter/Broker/Broker_exec.cpp | 13 +- .../Quoter/Connector/Quoter_Connector_exec.cpp | 217 +++++----- .../Quoter/Connector/Quoter_Connector_exec.h | 1 + .../examples/Quoter/Distributor/Distributor.mpc | 2 +- .../dds4ccm/examples/Quoter/descriptors/Plan.cdp | 447 ++++++++++++++------- .../dds4ccm/impl/ndds/ListenerControl.cpp | 12 +- .../connectors/dds4ccm/impl/ndds/ListenerControl.h | 21 +- .../connectors/dds4ccm/impl/ndds/ndds_impl.mpc | 1 + 9 files changed, 472 insertions(+), 259 deletions(-) diff --git a/modules/CIAO/ChangeLog b/modules/CIAO/ChangeLog index 613be0f7562..2f263556021 100644 --- a/modules/CIAO/ChangeLog +++ b/modules/CIAO/ChangeLog @@ -1,9 +1,22 @@ -Mon Oct 5 11:55:20 UTC 2009 William R. Otte +Tue Oct 6 07:04:13 UTC 2009 William R. Otte + * connectors/dds4ccm/examples/Quoter/Broker/Broker_exec.cpp: + * connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h: + * connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp: + * connectors/dds4ccm/examples/Quoter/Distributor/Distributor.mpc: * connectors/dds4ccm/examples/Quoter/descriptors/Plan.cdp: + * connectors/dds4ccm/impl/ndds/ListenerControl.h: + * connectors/dds4ccm/impl/ndds/ListenerControl.cpp: + * connectors/dds4ccm/impl/ndds/ndds_impl.mpc: - Deploment plan. + Completed implementation. +Mon Oct 5 11:55:20 UTC 2009 William R. Otte + + * connectors/dds4ccm/examples/Quoter/descriptors/Plan.cdp: + + Deploment plan. + Thu Oct 1 02:40:40 UTC 2009 William R. Otte * MPC/config/dds4ccm_base.mpb: diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker_exec.cpp b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker_exec.cpp index 0958d9882c3..87cfacb0845 100644 --- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker_exec.cpp +++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker_exec.cpp @@ -112,6 +112,7 @@ namespace CIAO_Quoter_Broker_Impl Broker_exec_i::get_info_out_listener (void) { /* Your code here. */ + printf ("*************** out listener\n"); return new Stock_Info_RawListener_exec_i (); } @@ -148,7 +149,17 @@ namespace CIAO_Quoter_Broker_Impl void Broker_exec_i::ccm_activate (void) { - /* Your code here. */ + ::CCM_DDS::ListenerControl_var lc = + this->context_->get_connection_info_out_control (); + + if (CORBA::is_nil (lc)) + { + printf ("Error: Listener control receptacle is null!\n"); + throw CORBA::INTERNAL (); + } + + lc->enabled (true); + } void diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp index 099d7e6a1c3..5eab90d13c7 100644 --- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp +++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp @@ -35,30 +35,31 @@ #include "dds4ccm/impl/ndds/NDDS_Traits.h" #include "dds4ccm/impl/ndds/DomainParticipantFactory.h" +#include "dds4ccm/impl/ndds/DomainParticipant.h" // should be removed after lem fix #include "../Broker/BrokerEC.h" // should be removed after we refactor stuff back into ndds impl. #include "dds4ccm/impl/ndds/DataReader.h" - +#include "dds4ccm/impl/ndds/ListenerControl.h" namespace CIAO_Quoter_Quoter_Connector_Impl { //============================================================ // Facet Executor Implementation Class: Stock_Info_Reader_exec_i //============================================================ - + Stock_Info_Reader_exec_i::Stock_Info_Reader_exec_i (void) { } - + Stock_Info_Reader_exec_i::~Stock_Info_Reader_exec_i (void) { } - + // Operations from ::CCM_DDS::Stock_Info_Reader - + void Stock_Info_Reader_exec_i::read_all ( ::CCM_DDS::Stock_Info_Reader::Stock_InfoSeq_out /* instances */, @@ -66,7 +67,7 @@ namespace CIAO_Quoter_Quoter_Connector_Impl { /* Your code here. */ } - + void Stock_Info_Reader_exec_i::read_all_history ( ::CCM_DDS::Stock_Info_Reader::Stock_InfoSeq_out /* instances */, @@ -74,7 +75,7 @@ namespace CIAO_Quoter_Quoter_Connector_Impl { /* Your code here. */ } - + void Stock_Info_Reader_exec_i::read_one ( ::Quoter::Stock_Info & /* an_instance */, @@ -82,7 +83,7 @@ namespace CIAO_Quoter_Quoter_Connector_Impl { /* Your code here. */ } - + void Stock_Info_Reader_exec_i::read_one_history ( const ::Quoter::Stock_Info & /* an_instance */, @@ -91,51 +92,52 @@ namespace CIAO_Quoter_Quoter_Connector_Impl { /* Your code here. */ } - + ::CCM_DDS::QueryFilter * Stock_Info_Reader_exec_i::filter (void) { /* Your code here. */ return 0; } - + void Stock_Info_Reader_exec_i::filter ( const ::CCM_DDS::QueryFilter & /* filter */) { /* Your code here. */ } - + //============================================================ // Component Executor Implementation Class: Quoter_Connector_exec_i //============================================================ - + Quoter_Connector_exec_i::Quoter_Connector_exec_i (void) : default_domain_configured_ (false), domain_id_ (0), default_topic_configured_ (false), topic_name_ ("Quoter_Topic"), __info_in_configured_ (false), - __info_out_configured_ (false) + __info_out_configured_ (false), + __info_out_rawlistener_enabled_ (false) { } - + Quoter_Connector_exec_i::~Quoter_Connector_exec_i (void) { } - + // Supported operations and attributes. - + // Component attributes. - + char * Quoter_Connector_exec_i::topic_name (void) { // @from DDS_TopicBase return CORBA::string_dup (this->topic_name_.in ()); } - + void Quoter_Connector_exec_i::topic_name ( const char * topic_name) @@ -143,38 +145,38 @@ namespace CIAO_Quoter_Quoter_Connector_Impl // @from DDS_TopicBase this->topic_name_ = topic_name; } - + ::DDS::StringSeq * Quoter_Connector_exec_i::key_fields (void) { // @from DDS_TopicBase - ::DDS::StringSeq *retval = + ::DDS::StringSeq *retval = new ::DDS::StringSeq (this->key_fields_.length ()); - + for (CORBA::ULong i = 0; i < this->key_fields_.length (); ++i) (*retval)[i] = CORBA::string_dup (this->key_fields_[i]); - + return retval; } - + void Quoter_Connector_exec_i::key_fields ( const ::DDS::StringSeq & key_fields) { // @from DDS_TopicBase this->key_fields_.length (key_fields.length ()); - + for (CORBA::ULong i = 0; i < this->key_fields_.length (); ++i) this->key_fields_[i] = CORBA::string_dup (key_fields[i]); } - + ::DDS::DomainId_t Quoter_Connector_exec_i::domain_id (void) { // @from DDS_Base return this->domain_id_; } - + void Quoter_Connector_exec_i::domain_id ( ::DDS::DomainId_t domain_id) @@ -182,14 +184,14 @@ namespace CIAO_Quoter_Quoter_Connector_Impl // @from DDS_Base this->domain_id_ = domain_id; } - + char * Quoter_Connector_exec_i::qos_profile (void) { // @from DDS_Base return CORBA::string_dup (this->qos_profile_.in ()); } - + void Quoter_Connector_exec_i::qos_profile ( const char * qos_profile) @@ -197,7 +199,7 @@ namespace CIAO_Quoter_Quoter_Connector_Impl // @from DDS_Base this->qos_profile_ = qos_profile; } - + // Port operations. void @@ -205,16 +207,19 @@ namespace CIAO_Quoter_Quoter_Connector_Impl { CIAO_DEBUG ((LM_TRACE, CLINFO "Quoter_Connector_exec_i::configure_default_domain_ - " "Configuring default domain\n")); - + if (this->default_domain_configured_) return; try { + NDDSConfigLogger::get_instance()->set_verbosity_by_category(NDDS_CONFIG_LOG_CATEGORY_API, + NDDS_CONFIG_LOG_VERBOSITY_STATUS_ALL ); + // Generic code this->domain_factory_ = new ::CIAO::DDS4CCM::RTI::RTI_DomainParticipantFactory_i (); - + ::DDS::DomainParticipantQos qos; - this->domain_ = + this->domain_ = this->domain_factory_->create_participant (this->domain_id_, qos, 0, @@ -227,26 +232,36 @@ namespace CIAO_Quoter_Quoter_Connector_Impl } } - void + void Quoter_Connector_exec_i::configure_default_topic_ (void) { CIAO_DEBUG ((LM_TRACE, CLINFO "Quoter_Connector_exec_i::configure_default_topic_ - " "Configuring default topic\n")); if (this->default_topic_configured_) return; - + this->configure_default_domain_ (); - + try { if (CORBA::is_nil (this->topic_)) { - ::DDS::TopicQos tqos; - this->topic_ = - this->domain_->create_topic (this->topic_name_.in (), - Stock_Info_Traits::type_support::get_type_name (), - tqos, - 0, - 0); + CIAO::DDS4CCM::RTI::RTI_DomainParticipant_i *part = dynamic_cast< CIAO::DDS4CCM::RTI::RTI_DomainParticipant_i * > (this->domain_.in ()); + DDS_ReturnCode_t retcode = Stock_Info_Traits::type_support::register_type( + part->get_participant (), Stock_Info_Traits::type_support::get_type_name ()); + if (retcode == DDS_RETCODE_OK) + { + ::DDS::TopicQos tqos; + this->topic_ = + this->domain_->create_topic (this->topic_name_.in (), + Stock_Info_Traits::type_support::get_type_name (), + tqos, + 0, + 0); + } + else + { + throw CORBA::INTERNAL (); + } } } catch (...) @@ -254,16 +269,16 @@ namespace CIAO_Quoter_Quoter_Connector_Impl CIAO_ERROR ((LM_ERROR, "Caught unknown error while configuring default topic\n")); throw CORBA::INTERNAL (); } - } - - void + } + + void Quoter_Connector_exec_i::configure_port_info_in_ (void) { if (this->__info_in_configured_) return; - + this->configure_default_topic_ (); - + try { if (CORBA::is_nil (this->__info_in_publisher_.in ())) @@ -273,7 +288,7 @@ namespace CIAO_Quoter_Quoter_Connector_Impl 0, 0); } - + if (CORBA::is_nil (this->__info_in_datawriter_.in ())) { ::DDS::DataWriterQos dwqos; @@ -282,7 +297,7 @@ namespace CIAO_Quoter_Quoter_Connector_Impl 0, 0); this->__info_in_datawriter_ = ::DDS::CCM_DataWriter::_narrow (dwv_tmp); - } + } } catch (...) { @@ -290,23 +305,25 @@ namespace CIAO_Quoter_Quoter_Connector_Impl throw CORBA::INTERNAL (); } } - - + + class info_out_Listener : public virtual ::DDS::DataReaderListener { public: info_out_Listener (::CCM_DDS::Stock_Info_RawListener_ptr listen, - ::CCM_DDS::PortStatusListener_ptr psl) - : enable_ (false), - listener_ (::CCM_DDS::Stock_Info_RawListener::_duplicate (listen)), - portlistener_ (::CCM_DDS::PortStatusListener::_duplicate (psl)) + ::CCM_DDS::PortStatusListener_ptr psl, + ACE_Atomic_Op &enabled) + : listener_ (::CCM_DDS::Stock_Info_RawListener::_duplicate (listen)), + portlistener_ (::CCM_DDS::PortStatusListener::_duplicate (psl)), + enable_ (enabled) { }; // from DataReaderListener virtual void on_data_available( ::DDS::DataReader *rdr) { + printf ("*** on data available\n"); if (!this->enable_.value ()) return; @@ -318,7 +335,7 @@ namespace CIAO_Quoter_Quoter_Connector_Impl ACE_ERROR ((LM_ERROR, ACE_TEXT ("Stock_InfoDataReader::narrow failed.\n"))); return; } - + /* Loop until there are messages available in the queue */ for(;;) { ::Quoter::Stock_Info instance; @@ -326,6 +343,7 @@ namespace CIAO_Quoter_Quoter_Connector_Impl ::DDS::ReturnCode_t result = reader->take_next_sample(instance, sampleinfo); if (result == DDS_RETCODE_NO_DATA) { + printf ("no more samples\n"); /* No more samples */ break; } else if (result != DDS_RETCODE_OK) { @@ -333,47 +351,42 @@ namespace CIAO_Quoter_Quoter_Connector_Impl return; } if (sampleinfo.valid_data) { + printf ("got valid data\n"); ::CCM_DDS::ReadInfo empty; listener_->on_data (instance, empty); } - + } - + }; - + virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, const ::DDS::RequestedDeadlineMissedStatus & status) { this->portlistener_->on_requested_deadline_missed (the_reader, status); }; - - + + virtual void on_sample_lost (::DDS::DataReader_ptr the_reader, const ::DDS::SampleLostStatus & status) { this->portlistener_->on_sample_lost (the_reader, status); }; - - - - // From ListenerControl - bool enabled () const; - void enabled (bool enable); - + private: ::CCM_DDS::Stock_Info_RawListener_var listener_; ::CCM_DDS::PortStatusListener_var portlistener_; - ACE_Atomic_Op enable_;; + ACE_Atomic_Op &enable_; }; - + void Quoter_Connector_exec_i::configure_port_info_out_ (void) { if (this->__info_out_configured_) return; - + this->configure_default_topic_ (); - + try { if (CORBA::is_nil (this->__info_out_subscriber_.in ())) @@ -383,22 +396,23 @@ namespace CIAO_Quoter_Quoter_Connector_Impl 0, 0); } - + if (CORBA::is_nil (this->__info_out_datareader_.in ())) { this->__info_out_portstatus_ = this->context_->get_connection_info_out_status (); - + this->__info_out_datareaderlistener = new info_out_Listener (this->context_->get_connection_info_out_listener (), - this->context_->get_connection_info_out_status ()); - + this->context_->get_connection_info_out_status (), + this->__info_out_rawlistener_enabled_); + ::DDS::DataReaderQos drqos; - this->__info_out_datareader_ = + this->__info_out_datareader_ = this->__info_out_subscriber_->create_datareader (this->topic_.in (), drqos, this->__info_out_datareaderlistener.in (), DDS_DATA_AVAILABLE_STATUS); } - + } catch (...) { @@ -406,97 +420,102 @@ namespace CIAO_Quoter_Quoter_Connector_Impl throw CORBA::INTERNAL (); } } - + ::CCM_DDS::CCM_Stock_Info_Writer_ptr Quoter_Connector_exec_i::get_info_in_data (void) { std::cerr << "get_info_in_data" << std::endl; - + this->configure_port_info_in_ (); - + return new CIAO::DDS4CCM::RTI::Writer_T (this->__info_in_datawriter_.in ()); } - + ::DDS::CCM_DataWriter_ptr Quoter_Connector_exec_i::get_info_in_dds_entity (void) { this->configure_port_info_in_ (); - + return this->__info_in_datawriter_.in (); } - + ::CCM_DDS::CCM_Stock_Info_Reader_ptr Quoter_Connector_exec_i::get_info_out_data (void) { /* Your code here. */ return ::CCM_DDS::CCM_Stock_Info_Reader::_nil (); } - + ::CCM_DDS::CCM_ListenerControl_ptr Quoter_Connector_exec_i::get_info_out_control (void) { /* Your code here. */ - return ::CCM_DDS::CCM_ListenerControl::_nil (); + return new CCM_DDS_ListenerControl_i (this->__info_out_rawlistener_enabled_); } - + ::DDS::CCM_DataReader_ptr Quoter_Connector_exec_i::get_info_out_dds_entity (void) { /* Your code here. */ return ::DDS::CCM_DataReader::_nil (); } - + // Operations from Components::SessionComponent. - + void Quoter_Connector_exec_i::set_session_context ( ::Components::SessionContext_ptr ctx) { - ::Quoter::CCM_Quoter_Connector_Context_var lctx = + ::Quoter::CCM_Quoter_Connector_Context_var lctx = ::Quoter::CCM_Quoter_Connector_Context::_narrow (ctx); - + if ( ::CORBA::is_nil (lctx.in ())) { throw ::CORBA::INTERNAL (); } - + this->context_ = lctx; } - + void Quoter_Connector_exec_i::configuration_complete (void) { } - + void Quoter_Connector_exec_i::ccm_activate (void) { /* Your code here. */ + if (!CORBA::is_nil (this->context_->get_connection_info_out_listener ()) || + !CORBA::is_nil (this->context_->get_connection_info_out_status ())) + { + this->configure_port_info_out_ (); + } } - + void Quoter_Connector_exec_i::ccm_passivate (void) { /* Your code here. */ } - + void Quoter_Connector_exec_i::ccm_remove (void) { /* Your code here. */ } - + extern "C" QUOTER_CONNECTOR_EXEC_Export ::Components::EnterpriseComponent_ptr create_Quoter_Quoter_Connector_Impl (void) { ::Components::EnterpriseComponent_ptr retval = ::Components::EnterpriseComponent::_nil (); - + ACE_NEW_NORETURN ( retval, Quoter_Connector_exec_i); - + return retval; } } diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h index fe53f7ad2fb..cd57f6ae092 100644 --- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h +++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h @@ -241,6 +241,7 @@ namespace CIAO_Quoter_Quoter_Connector_Impl void configure_port_info_out_ (void); bool __info_out_configured_; CCM_DDS::Stock_Info_RawListener_var __info_out_rawlistener_; + ACE_Atomic_Op __info_out_rawlistener_enabled_; CCM_DDS::PortStatusListener_var __info_out_portstatus_; ::DDS::Subscriber_var __info_out_subscriber_; ::DDS::DataReaderListener_var __info_out_listener_; diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor.mpc b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor.mpc index 33b5e228ed0..2a407065115 100644 --- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor.mpc +++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor.mpc @@ -111,7 +111,7 @@ project(DDS_Distributor_svnt) : ciao_servant, dds4ccm_base { after += DDS_Quoter_Base_skel DDS_Distributor_lem_stub sharedname = Distributor_svnt libs += Distributor_stub Distributor_lem_stub \ - DDS_Quoter_Base_skel \ + \ DDS_Quoter_Base_stub libpaths += ../lib libout = ../lib diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/Plan.cdp b/modules/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/Plan.cdp index 36f86d0c51f..17d283b5b68 100644 --- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/Plan.cdp +++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/Plan.cdp @@ -1,127 +1,274 @@ + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> Quoter_Depl_1 - - Quoter_ConnectorComponentImplementation - - - - - - component factory - - - tk_string - + + BrokerComponentImplementation + + + + + + component factory - create_Quoter_Quoter_Connector_Impl + + tk_string + + + create_Quoter_Broker_Impl + - - - - edu.vanderbilt.dre.CIAO.ServantEntrypoint - - - tk_string - + + + edu.vanderbilt.dre.CIAO.ServantEntrypoint - create_Quoter_Quoter_Connector_Servant + + tk_string + + + create_Quoter_Broker_Servant + - - - - edu.vanderbilt.dre.CIAO.ServantArtifact - - - tk_string - + + + edu.vanderbilt.dre.CIAO.ServantArtifact - Quoter_Connector_svnt + + tk_string + + + Broker_svnt + - - - - edu.vanderbilt.dre.CIAO.ExecutorArtifact - - - tk_string - + + + edu.vanderbilt.dre.CIAO.ExecutorArtifact - Quoter_Connector_exec + + tk_string + + + Broker_exec + - - - - - DistributorComponentImplementation - - - - - - component factory - - - tk_string - + + + + + Quoter_ConnectorComponentImplementation + + + + + + component factory + + + tk_string + + + create_Quoter_Quoter_Connector_Impl + + + + + edu.vanderbilt.dre.CIAO.ServantEntrypoint + + + tk_string + + + create_Quoter_Quoter_Connector_Servant + + + + + edu.vanderbilt.dre.CIAO.ServantArtifact + + + tk_string + + + Quoter_Connector_svnt + + + + + edu.vanderbilt.dre.CIAO.ExecutorArtifact + + + tk_string + + + Quoter_Connector_exec + + + + + + DistributorComponentImplementation + + + + + + component factory - create_Quoter_Distributor_Impl + + tk_string + + + create_Quoter_Distributor_Impl + - - - - edu.vanderbilt.dre.CIAO.ServantEntrypoint - - - tk_string - + + + edu.vanderbilt.dre.CIAO.ServantEntrypoint - create_Quoter_Distributor_Servant + + tk_string + + + create_Quoter_Distributor_Servant + - - - - edu.vanderbilt.dre.CIAO.ServantArtifact - - - tk_string - + + + edu.vanderbilt.dre.CIAO.ServantArtifact - Distributor_svnt + + tk_string + + + Distributor_svnt + - - - - edu.vanderbilt.dre.CIAO.ExecutorArtifact - - - tk_string - + + + edu.vanderbilt.dre.CIAO.ExecutorArtifact - Distributor_exec + + tk_string + + + Distributor_exec + - - - - - Quoter_ConnectorComponent - DistributorNode - - - - - - DistributorComponent - DistributorNode - - - - + + + + BrokerComponent + BrokerNode + + + + + + Quoter_ConnectorComponent + DistributorNode + + + + + + Quoter_ConnectorComponent2 + BrokerNode + + + + + + DistributorComponent + DistributorNode + + + + + + + + info_out_data + + info_out_data + false + SimplexReceptacle + + + + info_out_data + true + Facet + + + + + + _listenercontrol + + info_out_control + false + SimplexReceptacle + + + + info_out_control + true + Facet + + + + + + _rawlistner + + info_out_listener + true + Facet + + + + info_out_listener + false + SimplexReceptacle + + + + + + _datareader + + info_out_dds_entity + false + SimplexReceptacle + + + + info_out_dds_entity + true + Facet + + + + + + _portstatuslistener + + info_out_status + true + Facet + + + + info_out_status + false + SimplexReceptacle + + + writer_connection @@ -140,40 +287,58 @@ - - Distributor_exec - - - Distributor_exec - - - Distributor_svnt - - - Distributor_svnt - - - Distributor_stub - - - Distributor_stub - - - Quoter_Connector_exec - - - DDS_Quoter_Connector_exec - - - Quoter_Connector_svnt - - - DDS_Quoter_Connector_svnt - - - Quoter_Connector_stub - - - DDS_Quoter_Connector_stub - - \ No newline at end of file + + Distributor_exec + + + Distributor_exec + + + Distributor_svnt + + + Distributor_svnt + + + Distributor_stub + + + Distributor_stub + + + Quoter_Connector_exec + + + DDS_Quoter_Connector_exec + + + Quoter_Connector_svnt + + + DDS_Quoter_Connector_svnt + + + Quoter_Connector_stub + + + DDS_Quoter_Connector_stub + + + Broker_exec + + + Broker_exec + + + Broker_svnt + + + Broker_svnt + + + Broker_stub + + + Broker_stub + + diff --git a/modules/CIAO/connectors/dds4ccm/impl/ndds/ListenerControl.cpp b/modules/CIAO/connectors/dds4ccm/impl/ndds/ListenerControl.cpp index 1f0b4e95321..361e9442880 100644 --- a/modules/CIAO/connectors/dds4ccm/impl/ndds/ListenerControl.cpp +++ b/modules/CIAO/connectors/dds4ccm/impl/ndds/ListenerControl.cpp @@ -28,10 +28,11 @@ // TAO_IDL - Generated from // be/be_codegen.cpp:1422 -#include "dds4ccm_ListnerControlI.h" +#include "ListenerControl.h" // Implementation skeleton constructor -CCM_DDS_ListenerControl_i::CCM_DDS_ListenerControl_i (void) +CCM_DDS_ListenerControl_i::CCM_DDS_ListenerControl_i (ACE_Atomic_Op &flag) + : flag_ (flag) { } @@ -42,13 +43,12 @@ CCM_DDS_ListenerControl_i::~CCM_DDS_ListenerControl_i (void) ::CORBA::Boolean CCM_DDS_ListenerControl_i::enabled (void) { - // Add your implementation here + return flag_.value (); } -void CCM_DDS_ListenerControl_i::enabled ( - ::CORBA::Boolean enabled) +void CCM_DDS_ListenerControl_i::enabled (::CORBA::Boolean enabled) { - // Add your implementation here + this->flag_ = enabled; } diff --git a/modules/CIAO/connectors/dds4ccm/impl/ndds/ListenerControl.h b/modules/CIAO/connectors/dds4ccm/impl/ndds/ListenerControl.h index a698d55a0ed..cf05037bee9 100644 --- a/modules/CIAO/connectors/dds4ccm/impl/ndds/ListenerControl.h +++ b/modules/CIAO/connectors/dds4ccm/impl/ndds/ListenerControl.h @@ -31,28 +31,31 @@ #ifndef DDS4CCM_LISTNERCONTROLI_H_ #define DDS4CCM_LISTNERCONTROLI_H_ -#include "dds4ccm_ListnerControlS.h" +#include "dds4ccm/impl/ndds/dds4ccm_ndds_impl_export.h" +#include "dds4ccm/idl/dds4ccm_ListenerControlEC.h" +#include "tao/LocalObject.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) #pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -class CCM_DDS_ListenerControl_i - : public virtual POA_CCM_DDS::ListenerControl +class DDS4CCM_NDDS_IMPL_Export CCM_DDS_ListenerControl_i + : public virtual CCM_DDS::CCM_ListenerControl, + public virtual ::CORBA::LocalObject { public: // Constructor - CCM_DDS_ListenerControl_i (void); + CCM_DDS_ListenerControl_i (ACE_Atomic_Op &flag); // Destructor virtual ~CCM_DDS_ListenerControl_i (void); - virtual - ::CORBA::Boolean enabled (void); + virtual ::CORBA::Boolean enabled (void); - virtual - void enabled ( - ::CORBA::Boolean enabled); + virtual void enabled (::CORBA::Boolean enabled); + +private: + ACE_Atomic_Op &flag_; }; diff --git a/modules/CIAO/connectors/dds4ccm/impl/ndds/ndds_impl.mpc b/modules/CIAO/connectors/dds4ccm/impl/ndds/ndds_impl.mpc index 9fbe81b294b..da2d2d7ebd9 100644 --- a/modules/CIAO/connectors/dds4ccm/impl/ndds/ndds_impl.mpc +++ b/modules/CIAO/connectors/dds4ccm/impl/ndds/ndds_impl.mpc @@ -28,5 +28,6 @@ project(CIAO_DDS4CCM_NDDS_Impl) : dds4ccm_skel, taolib, ciao_output, nddslib, cc ReadCondition.cpp QueryCondition.cpp Utils.cpp + ListenerControl.cpp } } -- cgit v1.2.1