summaryrefslogtreecommitdiff
path: root/CIAO
diff options
context:
space:
mode:
authormsmit <msmit@remedy.nl>2010-11-02 15:09:01 +0000
committermsmit <msmit@remedy.nl>2010-11-02 15:09:01 +0000
commit48c7184070f59f6f3ba0cd1054e3640c5977bca4 (patch)
tree5c5770a935cbf900a0b9802bd914908ff0cc41ad /CIAO
parentda88ab7d27c104e97273ff47f0f625d0c9e61ff3 (diff)
downloadATCD-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/ChangeLog21
-rw-r--r--CIAO/MPC/config/dds4ccm_impl.mpb6
-rw-r--r--CIAO/connectors/dds4ccm/impl/CCM_DataReader.cpp44
-rw-r--r--CIAO/connectors/dds4ccm/impl/CCM_DataReader.h75
-rw-r--r--CIAO/connectors/dds4ccm/impl/CCM_DataWriter.cpp44
-rw-r--r--CIAO/connectors/dds4ccm/impl/CCM_DataWriter.h63
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp6
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h2
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_Update_T.cpp5
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_Update_T.h6
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_Write_T.cpp5
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_Write_T.h2
-rw-r--r--CIAO/connectors/dds4ccm/impl/dds4ccm_impl.mpc2
-rw-r--r--CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.cpp6
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 ();