diff options
author | msmit <msmit@remedy.nl> | 2010-11-02 15:09:01 +0000 |
---|---|---|
committer | msmit <msmit@remedy.nl> | 2010-11-02 15:09:01 +0000 |
commit | 48c7184070f59f6f3ba0cd1054e3640c5977bca4 (patch) | |
tree | 5c5770a935cbf900a0b9802bd914908ff0cc41ad /CIAO | |
parent | da88ab7d27c104e97273ff47f0f625d0c9e61ff3 (diff) | |
download | ATCD-48c7184070f59f6f3ba0cd1054e3640c5977bca4.tar.gz |
Tue Nov 2 15:13:21 UTC 2010 Marcel Smit <msmit@remedy.nl>
* MPC/config/dds4ccm_impl.mpb:
Resolved link issues on Windows.
* connectors/dds4ccm/impl/CCM_DataReader.h:
* connectors/dds4ccm/impl/CCM_DataReader.cpp:
* connectors/dds4ccm/impl/CCM_DataWriter.h:
* connectors/dds4ccm/impl/CCM_DataWriter.cpp:
* connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h:
* connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp:
* connectors/dds4ccm/impl/DDS_Update_T.h:
* connectors/dds4ccm/impl/DDS_Update_T.cpp:
* connectors/dds4ccm/impl/DDS_Write_T.h:
* connectors/dds4ccm/impl/DDS_Write_T.cpp:
* connectors/dds4ccm/impl/dds4ccm_impl.mpc:
Implemented an extra CCM proxy.
* connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp:
Due to extra proxy.
Diffstat (limited to 'CIAO')
-rw-r--r-- | CIAO/ChangeLog | 21 | ||||
-rw-r--r-- | CIAO/MPC/config/dds4ccm_impl.mpb | 6 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/CCM_DataReader.cpp | 44 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/CCM_DataReader.h | 75 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/CCM_DataWriter.cpp | 44 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/CCM_DataWriter.h | 63 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp | 6 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h | 2 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/DDS_Update_T.cpp | 5 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/DDS_Update_T.h | 6 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/DDS_Write_T.cpp | 5 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/DDS_Write_T.h | 2 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/dds4ccm_impl.mpc | 2 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp | 6 |
14 files changed, 270 insertions, 17 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index 663ba460fc2..e535a79a60b 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,24 @@ +Tue Nov 2 15:13:21 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * MPC/config/dds4ccm_impl.mpb: + Resolved link issues on Windows. + + * connectors/dds4ccm/impl/CCM_DataReader.h: + * connectors/dds4ccm/impl/CCM_DataReader.cpp: + * connectors/dds4ccm/impl/CCM_DataWriter.h: + * connectors/dds4ccm/impl/CCM_DataWriter.cpp: + * connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h: + * connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp: + * connectors/dds4ccm/impl/DDS_Update_T.h: + * connectors/dds4ccm/impl/DDS_Update_T.cpp: + * connectors/dds4ccm/impl/DDS_Write_T.h: + * connectors/dds4ccm/impl/DDS_Write_T.cpp: + * connectors/dds4ccm/impl/dds4ccm_impl.mpc: + Implemented an extra CCM proxy. + + * connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp: + Due to extra proxy. + Tue Nov 2 13:37:44 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl> * ciao/Deployment/Interceptors/Name_Utilities.cpp: diff --git a/CIAO/MPC/config/dds4ccm_impl.mpb b/CIAO/MPC/config/dds4ccm_impl.mpb index 6c6e64212ee..34bb04b0e08 100644 --- a/CIAO/MPC/config/dds4ccm_impl.mpb +++ b/CIAO/MPC/config/dds4ccm_impl.mpb @@ -1,17 +1,17 @@ // -*- MPC -*- // $Id$ -feature(dds4ccm_opendds) : dds4ccm_skel, dds4ccm_lem_stub, dcps { +feature(dds4ccm_opendds) : dds4ccm_skel, dds4ccm_lem_stub, dds4ccm_logger, dcps { after += CIAO_DDS4CCM_DDS_Impl libs += CIAO_DDS4CCM_DDS_Impl } -feature(dds4ccm_splice) : dds4ccm_skel, dds4ccm_lem_stub { +feature(dds4ccm_splice) : dds4ccm_skel, dds4ccm_lem_stub, dds4ccm_logger { after += CIAO_DDS4CCM_DDS_Impl libs += CIAO_DDS4CCM_DDS_Impl } -feature(dds4ccm_ndds) : dds4ccm_skel, dds4ccm_lem_stub, nddslib { +feature(dds4ccm_ndds) : dds4ccm_skel, dds4ccm_lem_stub, dds4ccm_logger, nddslib { after += CIAO_DDS4CCM_DDS_Impl CIAO_DDS4CCM_DDS_NDDS libs += CIAO_DDS4CCM_DDS_Impl CIAO_DDS4CCM_DDS_NDDS } diff --git a/CIAO/connectors/dds4ccm/impl/CCM_DataReader.cpp b/CIAO/connectors/dds4ccm/impl/CCM_DataReader.cpp new file mode 100644 index 00000000000..0b7fd924e8d --- /dev/null +++ b/CIAO/connectors/dds4ccm/impl/CCM_DataReader.cpp @@ -0,0 +1,44 @@ +// $Id$ + +#include "CCM_DataReader.h" +#include "dds4ccm/impl/logger/Log_Macros.h" + +CIAO::DDS4CCM::CCM_DataReader::CCM_DataReader (void) +{ + DDS4CCM_TRACE ("CIAO::DDS4CCM::CCM_DataReader::CCM_DataReader"); +} + +CIAO::DDS4CCM::CCM_DataReader::~CCM_DataReader (void) +{ + DDS4CCM_TRACE ("CIAO::DDS4CCM::CCM_DataReader::~CCM_DataReader"); +} + +void +CIAO::DDS4CCM::CCM_DataReader::set_impl (::DDS::DataReader_ptr dr) +{ + DDS4CCM_TRACE ("CIAO::DDS4CCM::CCM_DataReader::get_impl"); + this->impl_ = ::DDS::DataReader::_duplicate (dr); +} + +::DDS::DataReader_ptr +CIAO::DDS4CCM::CCM_DataReader::get_impl (void) +{ + DDS4CCM_TRACE ("CIAO::DDS4CCM::CCM_DataReader::get_impl"); + + return ::DDS::DataReader::_duplicate (this->impl ()); +} + +::DDS::DataReader_ptr +CIAO::DDS4CCM::CCM_DataReader::impl (void) +{ + DDS4CCM_TRACE ("CIAO::DDS4CCM::CCM_DataReader::impl"); + + if (::CORBA::is_nil (this->impl_.in ())) + { + throw ::CORBA::BAD_INV_ORDER (); + } + else + { + return this->impl_.in (); + } +} diff --git a/CIAO/connectors/dds4ccm/impl/CCM_DataReader.h b/CIAO/connectors/dds4ccm/impl/CCM_DataReader.h new file mode 100644 index 00000000000..4ce865ffc27 --- /dev/null +++ b/CIAO/connectors/dds4ccm/impl/CCM_DataReader.h @@ -0,0 +1,75 @@ +/** + * @author Marcel Smit <msmit@remedy.nl> + * + * $Id$ + * + * Wrapper facade for DDS. + */ + +#ifndef CCM_DATAREADER_T_H_ +#define CCM_DATAREADER_T_H_ + +#include "dds4ccm/idl/dds_rtf2_dcpsEC.h" + +#include "dds4ccm/impl/ndds/ContentFilteredTopic_T.h" + +namespace CIAO +{ + namespace DDS4CCM + { + class DDS4CCM_DDS_IMPL_Export CCM_DataReader + : public ::DDS::CCM_DataReader + { + public: + /// Constructor + CCM_DataReader (void); + + /// Destructor + virtual ~CCM_DataReader (void); + + virtual ::DDS::ReturnCode_t enable (void) {return 0;} + virtual ::DDS::StatusCondition_ptr get_statuscondition (void) {return 0;} + virtual ::DDS::StatusMask get_status_changes (void) {return 0;} + virtual ::DDS::InstanceHandle_t get_instance_handle (void) {return ::DDS::HANDLE_NIL;} + virtual ::DDS::ReadCondition_ptr create_readcondition (::DDS::SampleStateMask /*sample_states*/, + ::DDS::ViewStateMask /*view_states*/, + ::DDS::InstanceStateMask /*instance_states*/) {return 0;} + virtual ::DDS::QueryCondition_ptr create_querycondition (::DDS::SampleStateMask /*sample_states*/, + ::DDS::ViewStateMask /*view_states*/, + ::DDS::InstanceStateMask /*instance_states*/, + const char * /*query_expression*/, + const ::DDS::StringSeq & /*query_parameters*/) {return 0;} + virtual ::DDS::ReturnCode_t delete_readcondition (::DDS::ReadCondition_ptr /*a_condition*/) {return 0;} + virtual ::DDS::ReturnCode_t delete_contained_entities (void) {return 0;} + virtual ::DDS::ReturnCode_t set_qos (const ::DDS::DataReaderQos & /*qos*/) {return 0;} + virtual ::DDS::ReturnCode_t get_qos (::DDS::DataReaderQos & /*qos*/) {return 0;} + virtual ::DDS::ReturnCode_t set_listener (::DDS::DataReaderListener_ptr /*a_listener*/, + ::DDS::StatusMask /*mask*/) {return 0;} + virtual ::DDS::DataReaderListener_ptr get_listener (void) {return 0;} + virtual ::DDS::TopicDescription_ptr get_topicdescription (void) {return 0;} + virtual ::DDS::Subscriber_ptr get_subscriber (void) {return 0;} + virtual ::DDS::ReturnCode_t get_sample_rejected_status (::DDS::SampleRejectedStatus & /*status*/) {return 0;} + virtual ::DDS::ReturnCode_t get_liveliness_changed_status (::DDS::LivelinessChangedStatus & /*status*/) {return 0;} + virtual ::DDS::ReturnCode_t get_requested_deadline_missed_status (::DDS::RequestedDeadlineMissedStatus & /*status*/) {return 0;} + virtual ::DDS::ReturnCode_t get_requested_incompatible_qos_status (::DDS::RequestedIncompatibleQosStatus & /*status*/) {return 0;} + virtual ::DDS::ReturnCode_t get_subscription_matched_status (::DDS::SubscriptionMatchedStatus & /*status*/) {return 0;} + virtual ::DDS::ReturnCode_t get_sample_lost_status (::DDS::SampleLostStatus & /*status*/) {return 0;} + virtual ::DDS::ReturnCode_t wait_for_historical_data (const ::DDS::Duration_t & /*max_wait*/) {return 0;} + virtual ::DDS::ReturnCode_t get_matched_publications (::DDS::InstanceHandleSeq & /*publication_handles*/) {return 0;} + virtual ::DDS::ReturnCode_t get_matched_publication_data (::DDS::PublicationBuiltinTopicData & /*publication_data*/, + const ::DDS::InstanceHandle_t & /*publication_handle*/) {return 0;} + + + void set_impl (::DDS::DataReader_ptr dr); + + ::DDS::DataReader_ptr + get_impl (void); + + private: + ::DDS::DataReader_var impl_; + ::DDS::DataReader_ptr impl (void); + }; + } +} + +#endif /* CCM_DATAREADER_T_H_ */ diff --git a/CIAO/connectors/dds4ccm/impl/CCM_DataWriter.cpp b/CIAO/connectors/dds4ccm/impl/CCM_DataWriter.cpp new file mode 100644 index 00000000000..caa1737a6ba --- /dev/null +++ b/CIAO/connectors/dds4ccm/impl/CCM_DataWriter.cpp @@ -0,0 +1,44 @@ +// $Id$ + +#include "CCM_DataWriter.h" +#include "dds4ccm/impl/logger/Log_Macros.h" + +CIAO::DDS4CCM::CCM_DataWriter::CCM_DataWriter (void) +{ + DDS4CCM_TRACE ("CIAO::DDS4CCM::CCM_DataWriter::CCM_DataWriter"); +} + +CIAO::DDS4CCM::CCM_DataWriter::~CCM_DataWriter (void) +{ + DDS4CCM_TRACE ("CIAO::DDS4CCM::CCM_DataWriter::~CCM_DataWriter"); +} + +void +CIAO::DDS4CCM::CCM_DataWriter::set_impl (::DDS::DataWriter_ptr dr) +{ + DDS4CCM_TRACE ("CIAO::DDS4CCM::CCM_DataWriter::get_impl"); + this->impl_ = ::DDS::DataWriter::_duplicate (dr); +} + +::DDS::DataWriter_ptr +CIAO::DDS4CCM::CCM_DataWriter::get_impl (void) +{ + DDS4CCM_TRACE ("CIAO::DDS4CCM::CCM_DataWriter::get_impl"); + + return ::DDS::DataWriter::_duplicate (this->impl ()); +} + +::DDS::DataWriter_ptr +CIAO::DDS4CCM::CCM_DataWriter::impl (void) +{ + DDS4CCM_TRACE ("CIAO::DDS4CCM::CCM_DataWriter::impl"); + + if (::CORBA::is_nil (this->impl_.in ())) + { + throw ::CORBA::BAD_INV_ORDER (); + } + else + { + return this->impl_.in (); + } +} diff --git a/CIAO/connectors/dds4ccm/impl/CCM_DataWriter.h b/CIAO/connectors/dds4ccm/impl/CCM_DataWriter.h new file mode 100644 index 00000000000..2fb64e392dd --- /dev/null +++ b/CIAO/connectors/dds4ccm/impl/CCM_DataWriter.h @@ -0,0 +1,63 @@ +/** + * @author Marcel Smit <msmit@remedy.nl> + * + * $Id$ + * + * Wrapper facade for DDS. + */ + +#ifndef CCM_DATAWRITER_T_H_ +#define CCM_DATAWRITER_T_H_ + +#include "dds4ccm/idl/dds_rtf2_dcpsEC.h" + +#include "dds4ccm/impl/ndds/ContentFilteredTopic_T.h" + +namespace CIAO +{ + namespace DDS4CCM + { + class DDS4CCM_DDS_IMPL_Export CCM_DataWriter + : public ::DDS::CCM_DataWriter + { + public: + /// Constructor + CCM_DataWriter (void); + + /// Destructor + virtual ~CCM_DataWriter (void); + + virtual ::DDS::ReturnCode_t enable (void) {return 0;} + virtual ::DDS::StatusCondition_ptr get_statuscondition (void) {return 0;} + virtual ::DDS::StatusMask get_status_changes (void) {return 0;} + virtual ::DDS::InstanceHandle_t get_instance_handle (void) {return ::DDS::HANDLE_NIL;} + virtual ::DDS::ReturnCode_t set_qos (const ::DDS::DataWriterQos & ) {return 0;} + virtual ::DDS::ReturnCode_t get_qos (::DDS::DataWriterQos & ) {return 0;} + virtual ::DDS::ReturnCode_t set_listener (::DDS::DataWriterListener_ptr , + ::DDS::StatusMask ) {return 0;} + virtual ::DDS::DataWriterListener_ptr get_listener (void) {return 0;} + virtual ::DDS::Topic_ptr get_topic (void) {return 0;} + virtual ::DDS::Publisher_ptr get_publisher (void) {return 0;} + virtual ::DDS::ReturnCode_t wait_for_acknowledgments (const ::DDS::Duration_t & ) {return 0;} + virtual ::DDS::ReturnCode_t get_liveliness_lost_status (::DDS::LivelinessLostStatus & ) {return 0;} + virtual ::DDS::ReturnCode_t get_offered_deadline_missed_status (::DDS::OfferedDeadlineMissedStatus & ) {return 0;} + virtual ::DDS::ReturnCode_t get_offered_incompatible_qos_status (::DDS::OfferedIncompatibleQosStatus & ) {return 0;} + virtual ::DDS::ReturnCode_t get_publication_matched_status (::DDS::PublicationMatchedStatus & ) {return 0;} + virtual ::DDS::ReturnCode_t assert_liveliness (void) {return 0;} + virtual ::DDS::ReturnCode_t get_matched_subscriptions (::DDS::InstanceHandleSeq & ) {return 0;} + virtual ::DDS::ReturnCode_t get_matched_subscription_data (::DDS::SubscriptionBuiltinTopicData & , + const ::DDS::InstanceHandle_t & ) {return 0;} + + void set_impl (::DDS::DataWriter_ptr dr); + + ::DDS::DataWriter_ptr + get_impl (void); + + private: + ::DDS::DataWriter_var impl_; + ::DDS::DataWriter_ptr impl (void); + }; + } +} + +#endif /* CCM_DATAREADER_T_H_ */ diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp index bf8585e167b..c2e88f9c18d 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp @@ -70,6 +70,7 @@ DDS_Subscriber_Base_T<DDS_TYPE, CCM_TYPE, FIXED, VENDOR_TYPE>::configuration_com this->dds_read_->set_impl (this->data_reader_, &this->condition_manager_); + this->ccm_data_reader_->set_impl (this->data_reader_); } } @@ -159,9 +160,8 @@ template <typename DDS_TYPE, typename CCM_TYPE, bool FIXED, DDS4CCM_Vendor VENDO DDS_Subscriber_Base_T<DDS_TYPE, CCM_TYPE, FIXED, VENDOR_TYPE>::get_dds_entity (void) { DDS4CCM_TRACE ("DDS_Subscriber_Base_T<DDS_TYPE, CCM_TYPE, FIXED, VENDOR_TYPE>::get_dds_entity"); - throw CORBA::NO_IMPLEMENT (); -// return ::DDS::DataReader::_nil (); -// return ::DDS::DataReader::_duplicate (this->data_reader_); + + return ::DDS::CCM_DataReader::_duplicate (this->ccm_data_reader_); } template <typename DDS_TYPE, typename CCM_TYPE, bool FIXED, DDS4CCM_Vendor VENDOR_TYPE> diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h index 217fc7eb2ae..593777115da 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h @@ -16,6 +16,7 @@ #include "dds4ccm/impl/ContentFilterSetting.h" #include "dds4ccm/impl/ndds/ContentFilteredTopic_T.h" #include "dds4ccm/impl/ConditionManager_T.h" +#include "dds4ccm/impl/CCM_DataReader.h" template <typename DDS_TYPE, typename CCM_TYPE, bool FIXED, DDS4CCM_Vendor VENDOR_TYPE> class DDS_Subscriber_Base_T @@ -77,6 +78,7 @@ protected: ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T<ContentFilterSetting_type> cft_setting_; ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T<Reader_type> dds_read_; ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T<DataReader_type> data_reader_; + ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T< ::CIAO::DDS4CCM::CCM_DataReader > ccm_data_reader_; bool configuration_complete_; //@} ConditionManager_type condition_manager_; diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Update_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Update_T.cpp index 585e342efec..c9b1f47e9f0 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Update_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_Update_T.cpp @@ -76,6 +76,7 @@ DDS_Update_T<DDS_TYPE, CCM_TYPE, VENDOR_TYPE>::configuration_complete ( } this->ccm_dds_writer_->set_impl (rw->get_impl ()); this->dds_update_->set_impl (this->ccm_dds_writer_); + this->ccm_data_writer_->set_impl (this->ccm_dds_writer_); } } @@ -172,8 +173,6 @@ DDS_Update_T<DDS_TYPE, CCM_TYPE, VENDOR_TYPE>::get_dds_entity (void) { DDS4CCM_TRACE ("DDS_Update_T<DDS_TYPE, CCM_TYPE, VENDOR_TYPE>::get_dds_entity"); - CORBA::NO_IMPLEMENT (); - return ::DDS::CCM_DataWriter::_nil (); -// return ::DDS::CCM_DataWriter::_duplicate (this->ccm_dds_writer_); + return ::DDS::CCM_DataWriter::_duplicate (this->ccm_data_writer_); } diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Update_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Update_T.h index 3e3a514495b..939c189fd7c 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Update_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_Update_T.h @@ -9,6 +9,7 @@ #define DDS_UPDATE_T_H_ #include "dds4ccm/impl/Updater_T.h" +#include "dds4ccm/impl/CCM_DataWriter.h" template <typename DDS_TYPE, typename CCM_TYPE, DDS4CCM_Vendor VENDOR_TYPE> class DDS_Update_T @@ -49,8 +50,9 @@ private: */ //@{ ::DDS::DataWriterListener_var data_listener_; - ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T<Updater_type> dds_update_; - ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T<DataWriter_type> ccm_dds_writer_; + ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T< Updater_type > dds_update_; + ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T< DataWriter_type > ccm_dds_writer_; + ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T< ::CIAO::DDS4CCM::CCM_DataWriter > ccm_data_writer_; //@} }; diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Write_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Write_T.cpp index 07f22e35f5d..1a57d00493d 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Write_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_Write_T.cpp @@ -74,6 +74,7 @@ DDS_Write_T<DDS_TYPE, CCM_TYPE, VENDOR_TYPE>::configuration_complete ( } this->ccm_dds_writer_->set_impl (rw->get_impl ()); this->writer_t_->set_impl (this->ccm_dds_writer_); + this->ccm_data_writer_->set_impl (this->ccm_dds_writer_); } } template <typename DDS_TYPE, typename CCM_TYPE, DDS4CCM_Vendor VENDOR_TYPE> @@ -169,8 +170,6 @@ template <typename DDS_TYPE, typename CCM_TYPE, DDS4CCM_Vendor VENDOR_TYPE> DDS_Write_T<DDS_TYPE, CCM_TYPE, VENDOR_TYPE>::get_dds_entity (void) { DDS4CCM_TRACE ("DDS_Write_T<DDS_TYPE, CCM_TYPE, VENDOR_TYPE>::get_dds_entity"); - throw CORBA::NO_IMPLEMENT (); - ::DDS::CCM_DataWriter::_nil (); -// return ::DDS::CCM_DataWriter::_duplicate (this->ccm_dds_writer_); + return ::DDS::CCM_DataWriter::_duplicate (this->ccm_data_writer_); } diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Write_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Write_T.h index 8d4229c2fe2..9cbc1b2f9e6 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Write_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_Write_T.h @@ -11,6 +11,7 @@ #include "dds4ccm/impl/DDS_TopicBase_Connector_T.h" #include "dds4ccm/impl/DataWriterListener_T.h" #include "dds4ccm/impl/Writer_T.h" +#include "dds4ccm/impl/CCM_DataWriter.h" template <typename DDS_TYPE, typename CCM_TYPE, DDS4CCM_Vendor VENDOR_TYPE> class DDS_Write_T @@ -59,6 +60,7 @@ private: ::DDS::DataWriterListener_var data_listener_; ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T < Writer_type > writer_t_; ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T < DataWriter_type > ccm_dds_writer_; + ::CIAO::DDS4CCM::LocalObject_Auto_Ptr_T < ::CIAO::DDS4CCM::CCM_DataWriter > ccm_data_writer_; //@} }; diff --git a/CIAO/connectors/dds4ccm/impl/dds4ccm_impl.mpc b/CIAO/connectors/dds4ccm/impl/dds4ccm_impl.mpc index b0f7f88c7cb..34537096121 100644 --- a/CIAO/connectors/dds4ccm/impl/dds4ccm_impl.mpc +++ b/CIAO/connectors/dds4ccm/impl/dds4ccm_impl.mpc @@ -18,5 +18,7 @@ project(CIAO_DDS4CCM_DDS_Impl) : install, dds4ccm_skel, dds4ccm_lem_stub, taolib ContentFilterSetting.cpp Utils.cpp DDSCallbackStatusHandler.cpp + CCM_DataReader.cpp + CCM_DataWriter.cpp } } 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 852c51587d3..040c513cd48 100644 --- a/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp @@ -92,10 +92,10 @@ namespace CIAO_Writer_Receiver_Impl void Receiver_exec_i::ccm_activate (void) { - ::DDS::DataReader_var dds_dr = + ::DDS::DataReader_var ccm_dr_proxy = this->context_->get_connection_info_out_dds_entity (); - if (::CORBA::is_nil (dds_dr.in ())) + if (::CORBA::is_nil (ccm_dr_proxy.in ())) { ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " "Datareader connection is NIL.\n")); @@ -104,7 +104,7 @@ namespace CIAO_Writer_Receiver_Impl typedef ::CIAO::DDS4CCM::DDS_DataReader_Base DataReader_type; - DataReader_type * typed_ccm_dr = dynamic_cast <DataReader_type*> (dds_dr.in ()); + DataReader_type * typed_ccm_dr = dynamic_cast <DataReader_type*> (ccm_dr_proxy.in ()); if (typed_ccm_dr) { DDSDataReader* dds_reader = typed_ccm_dr->get_impl (); |