summaryrefslogtreecommitdiff
path: root/CIAO/connectors
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/connectors')
-rw-r--r--CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp3
-rw-r--r--CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.h3
-rw-r--r--CIAO/connectors/dds4ccm/impl/Coherent_Changes_Guard.h4
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h3
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_Listen_T.cpp30
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_Listen_T.h12
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_StateListen_T.cpp30
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_StateListen_T.h7
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h6
-rw-r--r--CIAO/connectors/dds4ccm/impl/DataReaderListener_T.cpp135
-rw-r--r--CIAO/connectors/dds4ccm/impl/DataReaderListener_T.h73
-rw-r--r--CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.cpp131
-rw-r--r--CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.h90
-rw-r--r--CIAO/connectors/dds4ccm/impl/Getter_T.h11
-rw-r--r--CIAO/connectors/dds4ccm/impl/LocalObject.h5
-rw-r--r--CIAO/connectors/dds4ccm/impl/Utils.h14
-rw-r--r--CIAO/connectors/dds4ccm/tests/KeyedSamples/Sender/Keyed_Test_Sender_exec.cpp32
-rw-r--r--CIAO/connectors/dds4ccm/tests/KeyedSamples/Sender/Keyed_Test_Sender_exec.h26
-rw-r--r--CIAO/connectors/dds4ccm/tests/ListenManyByMany/Receiver/LMBM_Test_Receiver_exec.cpp62
-rw-r--r--CIAO/connectors/dds4ccm/tests/ListenManyByMany/Receiver/LMBM_Test_Receiver_exec.h9
-rw-r--r--CIAO/connectors/dds4ccm/tests/ListenManyByMany/descriptors/Plan.cdp20
-rw-r--r--CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h5
-rw-r--r--CIAO/connectors/dds4ccm/tests/MultipleTemp/Sender/MultipleTemp_Sender_exec.cpp2
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLDisabled/Sender/SL_Disabled_Sender_exec.cpp2
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.cpp73
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h29
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.cpp70
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.h26
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLOneByOne/Sender/SL_OneByOne_Sender_exec.cpp29
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLOneByOne/Sender/SL_OneByOne_Sender_exec.h23
-rw-r--r--CIAO/connectors/dds4ccm/tests/Updater/Sender/Updater_Sender_exec.cpp2
31 files changed, 598 insertions, 369 deletions
diff --git a/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp b/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp
index 8d51425cda2..909c4a6c336 100644
--- a/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp
+++ b/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp
@@ -326,9 +326,8 @@ namespace CIAO_Hello_Sender_Impl
if (!this->ready_to_start_.value())
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("Sender_exec_i::stop - ")
- ACE_TEXT ("Sender never got ready to start\n")));
+ ACE_TEXT ("ERROR Sender never got ready to start\n")));
}
-
}
diff --git a/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.h b/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.h
index 7126b1daeb7..0b346ff8dce 100644
--- a/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.h
+++ b/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.h
@@ -185,8 +185,7 @@ namespace CIAO_Hello_Sender_Impl
CORBA::Boolean log_time_;
ACE_CString msg_;
- ACE_CString create_message (
- const ACE_CString &msg);
+ ACE_CString create_message (const ACE_CString &msg);
Atomic_Boolean ready_to_start_;
};
diff --git a/CIAO/connectors/dds4ccm/impl/Coherent_Changes_Guard.h b/CIAO/connectors/dds4ccm/impl/Coherent_Changes_Guard.h
index 90067271e52..43bdabba816 100644
--- a/CIAO/connectors/dds4ccm/impl/Coherent_Changes_Guard.h
+++ b/CIAO/connectors/dds4ccm/impl/Coherent_Changes_Guard.h
@@ -18,6 +18,10 @@ namespace CIAO
{
namespace DDS4CCM
{
+ /**
+ * Guard class which calls begin_coherent_changes() on
+ * construction and end_coherent_changes() at destruction
+ */
class DDS4CCM_DDS_IMPL_Export Coherent_Changes_Guard :
private ACE_Copy_Disabled
{
diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h
index b42d90ba7a8..b4390b281b9 100644
--- a/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h
+++ b/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h
@@ -104,7 +104,8 @@ private:
typename CCM_TYPE::push_consumer_traits,
typename DDS_TYPE::typed_reader_type,
typename DDS_TYPE::value_type,
- SEQ_TYPE>
+ SEQ_TYPE,
+ CIAO::DDS4CCM::DDS4CCM_TAKE>
push_consumer_;
//@}
diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.cpp
index d96d926e7a3..14892b2ae33 100644
--- a/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.cpp
+++ b/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.cpp
@@ -5,33 +5,33 @@
#include "dds4ccm/impl/DataReaderListener_T.h"
#include "dds4ccm/impl/logger/Log_Macros.h"
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
-DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::DDS_Listen_T (void)
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
+DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::DDS_Listen_T (void)
{
}
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
-DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::~DDS_Listen_T (void)
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
+DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::~DDS_Listen_T (void)
{
}
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
void
-DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::set_component (
+DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::set_component (
::CORBA::Object_ptr component)
{
DDS_Subscriber_Base_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::set_component (component);
this->data_control_->_set_component (component);
}
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
void
-DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::activate (
+DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::activate (
typename CCM_TYPE::data_listener_type::_ptr_type listener,
::CCM_DDS::PortStatusListener_ptr status,
ACE_Reactor* reactor)
{
- DDS4CCM_TRACE ("DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::activate");
+ DDS4CCM_TRACE ("DDS_Listen_T::activate");
::DDS::StatusMask const mask =
DataReaderListener_type::get_mask (listener, status);
@@ -74,21 +74,21 @@ DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::activate (
}
}
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
void
-DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::remove (
+DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::remove (
::DDS::Subscriber_ptr subscriber)
{
- DDS4CCM_TRACE ("DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::remove");
+ DDS4CCM_TRACE ("DDS_Listen_T::remove");
SubscriberBase_type::remove (subscriber);
}
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
::CCM_DDS::CCM_DataListenerControl_ptr
-DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::get_data_control (void)
+DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::get_data_control (void)
{
- DDS4CCM_TRACE ("DDS_Listen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::get_data_control");
+ DDS4CCM_TRACE ("DDS_Listen_T::get_data_control");
return ::CCM_DDS::CCM_DataListenerControl::_duplicate (this->data_control_);
}
diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.h
index 970678ed91c..858d8323ff9 100644
--- a/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.h
+++ b/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.h
@@ -11,12 +11,20 @@
#include "dds4ccm/impl/DDS_Subscriber_Base_T.h"
#include "dds4ccm/impl/DataReaderListener_T.h"
#include "dds4ccm/impl/DataListenerControl_T.h"
+#include "dds4ccm/impl/Utils.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
class ACE_Reactor;
ACE_END_VERSIONED_NAMESPACE_DECL
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
+/**
+ * Template implementing the DDS4CCM Listen basic port
+ * @tparam CCM_TYPE Set of type traits for this basic port
+ * @tparam TYPED_DDS_READER The typed DDS DataReader type
+ * @tparam SEQ_TYPE The type of sequence
+ * @tparam LRT An enum indicating the read or take semantics of this port
+ */
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
class DDS_Listen_T
: public DDS_Subscriber_Base_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>
{
@@ -42,7 +50,7 @@ public:
void remove (::DDS::Subscriber_ptr subscriber);
private:
- typedef ::CIAO::DDS4CCM::DataReaderListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_VALUE_TYPE>
+ typedef ::CIAO::DDS4CCM::DataReaderListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_VALUE_TYPE, LRT>
DataReaderListener_type;
typedef CCM_DDS_DataListenerControl_T< ::CCM_DDS::CCM_DataListenerControl>
DataListenerControl_type;
diff --git a/CIAO/connectors/dds4ccm/impl/DDS_StateListen_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_StateListen_T.cpp
index 62eb3c5db87..13f99f0d508 100644
--- a/CIAO/connectors/dds4ccm/impl/DDS_StateListen_T.cpp
+++ b/CIAO/connectors/dds4ccm/impl/DDS_StateListen_T.cpp
@@ -5,33 +5,33 @@
#include "dds4ccm/impl/StateListenerControl_T.h"
#include "dds4ccm/impl/logger/Log_Macros.h"
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
-DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::DDS_StateListen_T (void)
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
+DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::DDS_StateListen_T (void)
{
}
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
-DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::~DDS_StateListen_T (void)
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
+DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::~DDS_StateListen_T (void)
{
}
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
void
-DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::set_component (
+DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::set_component (
::CORBA::Object_ptr component)
{
DDS_Subscriber_Base_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::set_component (component);
this->data_control_->_set_component (component);
}
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
void
-DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::activate (
+DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::activate (
typename CCM_TYPE::data_listener_type::_ptr_type listener,
::CCM_DDS::PortStatusListener_ptr status,
ACE_Reactor* reactor)
{
- DDS4CCM_TRACE ("DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::activate");
+ DDS4CCM_TRACE ("DDS_StateListen_T::activate");
::DDS::StatusMask const mask =
DataReaderStateListener_type::get_mask (listener);
@@ -75,21 +75,21 @@ DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::activ
}
}
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
void
-DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::remove (
+DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::remove (
::DDS::Subscriber_ptr subscriber)
{
- DDS4CCM_TRACE ("DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::remove");
+ DDS4CCM_TRACE ("DDS_StateListen_T::remove");
SubscriberBase_type::remove (subscriber);
}
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
::CCM_DDS::CCM_StateListenerControl_ptr
-DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::get_data_control (void)
+DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, LRT>::get_data_control (void)
{
- DDS4CCM_TRACE ("DDS_StateListen_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::get_data_control");
+ DDS4CCM_TRACE ("DDS_StateListen_T::get_data_control");
return ::CCM_DDS::CCM_StateListenerControl::_duplicate (this->data_control_);
}
diff --git a/CIAO/connectors/dds4ccm/impl/DDS_StateListen_T.h b/CIAO/connectors/dds4ccm/impl/DDS_StateListen_T.h
index 5395c2dced7..609e1efe6cd 100644
--- a/CIAO/connectors/dds4ccm/impl/DDS_StateListen_T.h
+++ b/CIAO/connectors/dds4ccm/impl/DDS_StateListen_T.h
@@ -3,7 +3,7 @@
*
* $Id$
*
- * Wrapper facade for NDDS.
+ * DDS4CCM StateListen port
*/
#ifndef DDS_STATELISTEN_T_H_
#define DDS_STATELISTEN_T_H_
@@ -11,8 +11,9 @@
#include "dds4ccm/impl/DDS_Subscriber_Base_T.h"
#include "dds4ccm/impl/StateListenerControl_T.h"
#include "dds4ccm/impl/DataReaderStateListener_T.h"
+#include "dds4ccm/impl/Utils.h"
-template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
+template <typename CCM_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE, CIAO::DDS4CCM::DDS4CCM_LISTENER_READ_TAKE LRT>
class DDS_StateListen_T
: public DDS_Subscriber_Base_T<CCM_TYPE,
TYPED_DDS_READER,
@@ -41,7 +42,7 @@ public:
void remove (::DDS::Subscriber_ptr subscriber);
private:
- typedef ::CIAO::DDS4CCM::DataReaderStateListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_VALUE_TYPE>
+ typedef ::CIAO::DDS4CCM::DataReaderStateListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_VALUE_TYPE, LRT>
DataReaderStateListener_type;
typedef CCM_DDS_StateListenerControl_T< ::CCM_DDS::CCM_StateListenerControl>
StateListenerControl_type;
diff --git a/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h b/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h
index b27b8f2887d..b24d14ab19e 100644
--- a/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h
+++ b/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h
@@ -181,7 +181,8 @@ private:
typename CCM_TYPE::push_observer_traits,
typename DDS_TYPE::typed_reader_type,
typename DDS_TYPE::value_type,
- SEQ_TYPE>
+ SEQ_TYPE,
+ CIAO::DDS4CCM::DDS4CCM_READ>
push_observer_;
//@}
@@ -193,7 +194,8 @@ private:
typename CCM_TYPE::push_state_observer_traits,
typename DDS_TYPE::typed_reader_type,
typename DDS_TYPE::value_type,
- SEQ_TYPE>
+ SEQ_TYPE,
+ CIAO::DDS4CCM::DDS4CCM_READ>
push_state_observer_;
//@}
diff --git a/CIAO/connectors/dds4ccm/impl/DataReaderListener_T.cpp b/CIAO/connectors/dds4ccm/impl/DataReaderListener_T.cpp
index 24b30dfb4a3..29453804c04 100644
--- a/CIAO/connectors/dds4ccm/impl/DataReaderListener_T.cpp
+++ b/CIAO/connectors/dds4ccm/impl/DataReaderListener_T.cpp
@@ -8,8 +8,8 @@ namespace CIAO
{
namespace DDS4CCM
{
- template <typename CCM_TYPE, typename TYPED_READER, typename SEQ_TYPE>
- DataReaderListener_T<CCM_TYPE, TYPED_READER, SEQ_TYPE>::DataReaderListener_T (
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
+ DataReaderListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>::DataReaderListenerBase_T (
typename CCM_TYPE::data_listener_type::_ptr_type listener,
::CCM_DDS::PortStatusListener_ptr port_status_listener,
::CCM_DDS::DataListenerControl_ptr control,
@@ -20,21 +20,21 @@ namespace CIAO
control_ (::CCM_DDS::DataListenerControl::_duplicate (control)),
condition_manager_ (condition_manager)
{
- DDS4CCM_TRACE ("DataReaderListener_T::DataReaderListener_T");
+ DDS4CCM_TRACE ("DataReaderListenerBase_T::DataReaderListenerBase_T");
}
- template <typename CCM_TYPE, typename TYPED_READER, typename SEQ_TYPE>
- DataReaderListener_T<CCM_TYPE, TYPED_READER, SEQ_TYPE>::~DataReaderListener_T (void)
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
+ DataReaderListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>::~DataReaderListenerBase_T (void)
{
- DDS4CCM_TRACE ("DataReaderListener_T::~DataReaderListener_T");
+ DDS4CCM_TRACE ("DataReaderListenerBase_T::~DataReaderListenerBase_T");
}
- template <typename CCM_TYPE, typename TYPED_READER, typename SEQ_TYPE>
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
void
- DataReaderListener_T<CCM_TYPE, TYPED_READER, SEQ_TYPE>::on_data_available (
+ DataReaderListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>::on_data_available (
::DDS::DataReader_ptr rdr)
{
- DDS4CCM_TRACE ("DataReaderListener_T::on_data_available");
+ DDS4CCM_TRACE ("DataReaderListenerBase_T::on_data_available");
if (!::CORBA::is_nil (rdr) &&
this->control_->mode () != ::CCM_DDS::NOT_ENABLED)
@@ -59,17 +59,81 @@ namespace CIAO
}
}
- template <typename CCM_TYPE, typename TYPED_READER, typename SEQ_TYPE>
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
+ ::DDS::ReturnCode_t
+ DataReaderListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_TAKE>::get_data_i (
+ typename TYPED_DDS_READER::_ptr_type reader,
+ ::DDS::QueryCondition_ptr qc,
+ SEQ_TYPE &data,
+ ::DDS::SampleInfoSeq &sample_info,
+ ::CORBA::Long max_samples)
+ {
+ DDS4CCM_TRACE ("DataReaderListener_T::get_data_i");
+
+ ::DDS::ReturnCode_t result = ::DDS::RETCODE_OK;
+ if (! ::CORBA::is_nil (qc))
+ {
+ ::DDS::ReadCondition_var rd = ::DDS::ReadCondition::_narrow (qc);
+ result = reader->take_w_condition (data,
+ sample_info,
+ max_samples,
+ rd.in ());
+ }
+ else
+ {
+ result = reader->take (data,
+ sample_info,
+ max_samples,
+ ::DDS::NOT_READ_SAMPLE_STATE,
+ ::DDS::NEW_VIEW_STATE | ::DDS::NOT_NEW_VIEW_STATE,
+ ::DDS::ANY_INSTANCE_STATE);
+ }
+ return result;
+ }
+
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
+ ::DDS::ReturnCode_t
+ DataReaderListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_READ>::get_data_i (
+ typename TYPED_DDS_READER::_ptr_type reader,
+ ::DDS::QueryCondition_ptr qc,
+ SEQ_TYPE &data,
+ ::DDS::SampleInfoSeq &sample_info,
+ ::CORBA::Long max_samples)
+ {
+ DDS4CCM_TRACE ("DataReaderListener_T::get_data_i");
+
+ ::DDS::ReturnCode_t result = ::DDS::RETCODE_OK;
+ if (! ::CORBA::is_nil (qc))
+ {
+ ::DDS::ReadCondition_var rd = ::DDS::ReadCondition::_narrow (qc);
+ result = reader->read_w_condition (data,
+ sample_info,
+ max_samples,
+ rd.in ());
+ }
+ else
+ {
+ result = reader->read (data,
+ sample_info,
+ max_samples,
+ ::DDS::NOT_READ_SAMPLE_STATE,
+ ::DDS::NEW_VIEW_STATE | ::DDS::NOT_NEW_VIEW_STATE,
+ ::DDS::ANY_INSTANCE_STATE);
+ }
+ return result;
+ }
+
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
void
- DataReaderListener_T<CCM_TYPE, TYPED_READER, SEQ_TYPE>::on_data_available_i (
+ DataReaderListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>::on_data_available_i (
::DDS::DataReader_ptr rdr)
{
- DDS4CCM_TRACE ("DataReaderListener_T::on_data_available_i");
+ DDS4CCM_TRACE ("DataReaderListenerBase_T::on_data_available_i");
if (::CORBA::is_nil (rdr))
{
DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO
- ACE_TEXT ("DataReaderListener_T::on_data_available_i - ")
+ ACE_TEXT ("DataReaderListenerBase_T::on_data_available_i - ")
ACE_TEXT ("No datareader received.\n")));
return;
}
@@ -80,13 +144,13 @@ namespace CIAO
return;
}
- typename TYPED_READER::_var_type reader;
- reader = TYPED_READER::_narrow (rdr);
+ typename TYPED_DDS_READER::_var_type reader;
+ reader = TYPED_DDS_READER::_narrow (rdr);
if (::CORBA::is_nil (reader.in ()))
{
DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO
- ACE_TEXT ("DataReaderListener_T::on_data_available_i - ")
+ ACE_TEXT ("DataReaderListenerBase_T::on_data_available_i - ")
ACE_TEXT ("Failed to narrow DataReader to a type ")
ACE_TEXT ("specific DataReader.\n")));
return;
@@ -107,29 +171,12 @@ namespace CIAO
::DDS::QueryCondition_var qc =
this->condition_manager_.get_querycondition_listener ();
- ::DDS::ReturnCode_t result = ::DDS::RETCODE_OK;
-
- if (! ::CORBA::is_nil (qc.in ()))
- {
- ::DDS::ReadCondition_var rd = ::DDS::ReadCondition::_narrow (qc.in ());
- result = reader->take_w_condition (data,
- sample_info,
- max_samples,
- rd.in ());
- }
- else
- {
- result = reader->take (data,
- sample_info,
- max_samples,
- ::DDS::NOT_READ_SAMPLE_STATE,
- ::DDS::NEW_VIEW_STATE | ::DDS::NOT_NEW_VIEW_STATE,
- ::DDS::ANY_INSTANCE_STATE);
- }
+ ::DDS::ReturnCode_t const result =
+ this->get_data_i (reader, qc.in (), data, sample_info, max_samples);
DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_DDS_STATUS, (LM_INFO, DDS4CCM_INFO
- ACE_TEXT ("DataReaderListener_T::on_data_available_i - ")
- ACE_TEXT ("Take data returned %C.\n"),
+ ACE_TEXT ("DataReaderListenerBase_T::on_data_available_i - ")
+ ACE_TEXT ("Get data returned %C.\n"),
translate_retcode (result)));
if (result == ::DDS::RETCODE_OK)
@@ -186,7 +233,7 @@ namespace CIAO
if (retval != ::DDS::RETCODE_OK)
{
DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO
- ACE_TEXT ("DataReaderListener_T::on_data_available_i - ")
+ ACE_TEXT ("DataReaderListenerBase_T::on_data_available_i - ")
ACE_TEXT ("Error returning loan to DDS - <%C>\n"),
translate_retcode (retval)));
// No exception here since this the DDS vendor doesn't expect this.
@@ -198,14 +245,14 @@ namespace CIAO
DDS4CCM_PRINT_DEBUG_CORBA_EXCEPTION (
DDS4CCM_LOG_LEVEL_ACTION,
ex,
- "DataReaderListener_T::on_data_available_i");
+ "DataReaderListenerBase_T::on_data_available_i");
}
catch (const ::CORBA::Exception& ex)
{
DDS4CCM_PRINT_CORBA_EXCEPTION (
DDS4CCM_LOG_LEVEL_ERROR,
ex,
- "DataReaderListener_T::on_data_available_i");
+ "DataReaderListenerBase_T::on_data_available_i");
}
catch (...)
{
@@ -215,13 +262,13 @@ namespace CIAO
}
}
- template <typename CCM_TYPE, typename TYPED_READER, typename SEQ_TYPE>
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
::DDS::StatusMask
- DataReaderListener_T<CCM_TYPE, TYPED_READER, SEQ_TYPE>::get_mask (
+ DataReaderListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>::get_mask (
typename CCM_TYPE::data_listener_type::_ptr_type listener,
::CCM_DDS::PortStatusListener_ptr status)
{
- DDS4CCM_TRACE ("DataReaderListener_T::get_mask");
+ DDS4CCM_TRACE ("DataReaderListenerBase_T::get_mask");
::DDS::StatusMask mask = 0;
@@ -237,7 +284,7 @@ namespace CIAO
ACE_CString msk;
translate_statusmask (msk, mask);
DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_DDS_STATUS, (LM_DEBUG, DDS4CCM_INFO
- "DataReaderListener_T::get_mask - "
+ "DataReaderListenerBase_T::get_mask - "
"Mask becomes %C\n",
msk.c_str ()));
}
diff --git a/CIAO/connectors/dds4ccm/impl/DataReaderListener_T.h b/CIAO/connectors/dds4ccm/impl/DataReaderListener_T.h
index b1914887483..cd87b3cb9ff 100644
--- a/CIAO/connectors/dds4ccm/impl/DataReaderListener_T.h
+++ b/CIAO/connectors/dds4ccm/impl/DataReaderListener_T.h
@@ -23,18 +23,21 @@ namespace CIAO
{
namespace DDS4CCM
{
- template <typename CCM_TYPE, typename TYPED_READER, typename SEQ_TYPE>
- class DataReaderListener_T :
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
+ class DataReaderListener_T;
+
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
+ class DataReaderListenerBase_T :
public PortStatusListener
{
- typedef DataReaderListener_T<CCM_TYPE, TYPED_READER, SEQ_TYPE>
+ typedef DataReaderListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>
DataReaderListener_type;
typedef ::CIAO::DDS4CCM::DataReaderHandler_T<DataReaderListener_type>
DataReaderHandler_type;
public:
/// Constructor
- DataReaderListener_T (
+ DataReaderListenerBase_T (
typename CCM_TYPE::data_listener_type::_ptr_type listener,
::CCM_DDS::PortStatusListener_ptr port_status_listener,
::CCM_DDS::DataListenerControl_ptr control,
@@ -42,7 +45,7 @@ namespace CIAO
ConditionManager& condition_manager);
/// Destructor
- virtual ~DataReaderListener_T (void);
+ virtual ~DataReaderListenerBase_T (void);
virtual void on_data_available (::DDS::DataReader_ptr rdr);
@@ -53,10 +56,70 @@ namespace CIAO
void on_data_available_i (::DDS::DataReader_ptr rdr);
private:
+ /// Helper method to get data from DDS
+ virtual ::DDS::ReturnCode_t get_data_i (
+ typename TYPED_DDS_READER::_ptr_type reader,
+ ::DDS::QueryCondition_ptr qc,
+ SEQ_TYPE &data,
+ ::DDS::SampleInfoSeq &sample_info,
+ ::CORBA::Long max_samples) = 0;
+
typename CCM_TYPE::data_listener_type::_var_type listener_;
::CCM_DDS::DataListenerControl_var control_;
ConditionManager& condition_manager_;
};
+
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
+ class DataReaderListener_T <CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_TAKE> :
+ public DataReaderListenerBase_T <CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_TAKE>
+ {
+ public:
+ /// Constructor
+ DataReaderListener_T (
+ typename CCM_TYPE::data_listener_type::_ptr_type listener,
+ ::CCM_DDS::PortStatusListener_ptr port_status_listener,
+ ::CCM_DDS::DataListenerControl_ptr control,
+ ACE_Reactor * reactor,
+ ConditionManager& condition_manager) :
+ DataReaderListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_TAKE> (
+ listener, port_status_listener, control, reactor, condition_manager)
+ {
+ }
+ private:
+ /// Helper method to get data from DDS
+ virtual ::DDS::ReturnCode_t get_data_i (
+ typename TYPED_DDS_READER::_ptr_type reader,
+ ::DDS::QueryCondition_ptr qc,
+ SEQ_TYPE &data,
+ ::DDS::SampleInfoSeq &sample_info,
+ ::CORBA::Long max_samples);
+ };
+
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
+ class DataReaderListener_T <CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_READ> :
+ public DataReaderListenerBase_T <CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_READ>
+ {
+ public:
+ /// Constructor
+ DataReaderListener_T (
+ typename CCM_TYPE::data_listener_type::_ptr_type listener,
+ ::CCM_DDS::PortStatusListener_ptr port_status_listener,
+ ::CCM_DDS::DataListenerControl_ptr control,
+ ACE_Reactor * reactor,
+ ConditionManager& condition_manager) :
+ DataReaderListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_READ> (
+ listener, port_status_listener, control, reactor, condition_manager)
+ {
+ }
+ private:
+ /// Helper method to get data from DDS
+ virtual ::DDS::ReturnCode_t get_data_i (
+ typename TYPED_DDS_READER::_ptr_type reader,
+ ::DDS::QueryCondition_ptr qc,
+ SEQ_TYPE &data,
+ ::DDS::SampleInfoSeq &sample_info,
+ ::CORBA::Long max_samples);
+ };
}
}
diff --git a/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.cpp b/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.cpp
index b1bf63f3525..a63df652ab5 100644
--- a/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.cpp
+++ b/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.cpp
@@ -12,8 +12,8 @@ namespace CIAO
{
namespace DDS4CCM
{
- template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
- DataReaderStateListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE>::DataReaderStateListener_T (
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
+ DataReaderStateListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>::DataReaderStateListenerBase_T (
typename CCM_TYPE::data_listener_type::_ptr_type listener,
::CCM_DDS::PortStatusListener_ptr port_status_listener,
::CCM_DDS::StateListenerControl_ptr control,
@@ -24,22 +24,22 @@ namespace CIAO
control_ (::CCM_DDS::StateListenerControl::_duplicate (control)),
condition_manager_ (condition_manager)
{
- DDS4CCM_TRACE ("DataReaderStateListener_T::DataReaderStateListener_T");
+ DDS4CCM_TRACE ("DataReaderStateListenerBase_T::DataReaderStateListenerBase_T");
}
// Implementation skeleton destructor
- template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
- DataReaderStateListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE>::~DataReaderStateListener_T (void)
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
+ DataReaderStateListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>::~DataReaderStateListenerBase_T (void)
{
- DDS4CCM_TRACE ("DataReaderStateListener_T::~DataReaderStateListener_T");
+ DDS4CCM_TRACE ("DataReaderStateListenerBase_T::~DataReaderStateListenerBase_T");
}
- template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
void
- DataReaderStateListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE>::on_data_available(
+ DataReaderStateListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>::on_data_available(
::DDS::DataReader_ptr rdr)
{
- DDS4CCM_TRACE ("DataReaderStateListener_T::on_data_available");
+ DDS4CCM_TRACE ("DataReaderStateListenerBase_T::on_data_available");
if (!::CORBA::is_nil (rdr) &&
this->control_->mode () != ::CCM_DDS::NOT_ENABLED)
@@ -52,7 +52,7 @@ namespace CIAO
if (this->reactor_->notify (rh) != 0)
{
DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO
- ACE_TEXT ("DataReaderStateListener_T::on_data_available")
+ ACE_TEXT ("DataReaderStateListenerBase_T::on_data_available")
ACE_TEXT ("failed to use reactor.\n")));
}
}
@@ -63,12 +63,12 @@ namespace CIAO
}
}
- template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
void
- DataReaderStateListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE>::on_data_available_i (
+ DataReaderStateListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>::on_data_available_i (
::DDS::DataReader_ptr rdr)
{
- DDS4CCM_TRACE ("DataReaderStateListener_T::on_data_available_i");
+ DDS4CCM_TRACE ("DataReaderStateListenerBase_T::on_data_available_i");
::CCM_DDS::ListenerMode const mode = this->control_->mode ();
if (::CORBA::is_nil (rdr) ||
@@ -83,7 +83,7 @@ namespace CIAO
if (::CORBA::is_nil (reader.in ()))
{
DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO
- ACE_TEXT ("DataReaderStateListener_T::on_data_available_i - ")
+ ACE_TEXT ("DataReaderStateListenerBase_T::on_data_available_i - ")
ACE_TEXT ("Failed to narrow DataReader to a type ")
ACE_TEXT ("specific DataReader.\n")));
return;
@@ -104,25 +104,8 @@ namespace CIAO
::DDS::QueryCondition_var qc =
this->condition_manager_.get_querycondition_listener ();
- ::DDS::ReturnCode_t result = ::DDS::RETCODE_OK;
-
- if (! ::CORBA::is_nil (qc.in ()))
- {
- ::DDS::ReadCondition_var rd = ::DDS::ReadCondition::_narrow (qc.in ());
- result = reader->take_w_condition (data,
- sample_info,
- max_samples,
- rd.in ());
- }
- else
- {
- result = reader->take (data,
- sample_info,
- max_samples,
- ::DDS::NOT_READ_SAMPLE_STATE,
- ::DDS::NEW_VIEW_STATE | ::DDS::NOT_NEW_VIEW_STATE,
- ::DDS::ANY_INSTANCE_STATE);
- }
+ ::DDS::ReturnCode_t const result =
+ this->get_data_i (reader, qc.in (), data, sample_info, max_samples);
if (result == ::DDS::RETCODE_NO_DATA)
{
@@ -131,8 +114,8 @@ namespace CIAO
else if (result != ::DDS::RETCODE_OK)
{
DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO
- ACE_TEXT ("DataReaderStateListener_T::on_data_available_i - ")
- ACE_TEXT ("Unable to take data from data reader, ")
+ ACE_TEXT ("DataReaderStateListenerBase_T::on_data_available_i - ")
+ ACE_TEXT ("Unable to get data from data reader, ")
ACE_TEXT ("error %C.\n"), translate_retcode (result)));
}
if (mode == ::CCM_DDS::ONE_BY_ONE)
@@ -239,7 +222,7 @@ namespace CIAO
if (retval != ::DDS::RETCODE_OK)
{
DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO
- ACE_TEXT ("DataReaderStateListener_T::on_data_available_i - ")
+ ACE_TEXT ("DataReaderStateListenerBase_T::on_data_available_i - ")
ACE_TEXT ("Error returning loan to DDS - <%C>\n"),
translate_retcode (retval)));
// No exception here since this the DDS vendor doesn't expect this.
@@ -251,26 +234,26 @@ namespace CIAO
DDS4CCM_PRINT_DEBUG_CORBA_EXCEPTION (
DDS4CCM_LOG_LEVEL_ACTION,
ex,
- "DataReaderStateListener_T::on_data_available_i");
+ "DataReaderStateListenerBase_T::on_data_available_i");
}
catch (const ::CORBA::Exception& ex)
{
DDS4CCM_PRINT_CORBA_EXCEPTION (
DDS4CCM_LOG_LEVEL_ERROR,
ex,
- "DataReaderStateListener_T::on_data_available_i");
+ "DataReaderStateListenerBase_T::on_data_available_i");
}
catch (...)
{
DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO
- ACE_TEXT ("DataReaderStateListener_T::on_data_available_i - ")
+ ACE_TEXT ("DataReaderStateListenerBase_T::on_data_available_i - ")
ACE_TEXT ("Unexpected exception caught\n")));
}
}
- template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
::DDS::StatusMask
- DataReaderStateListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE>::get_mask (
+ DataReaderStateListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>::get_mask (
typename CCM_TYPE::data_listener_type::_ptr_type listener)
{
::DDS::StatusMask mask = 0;
@@ -288,12 +271,76 @@ namespace CIAO
ACE_CString msk;
translate_statusmask (msk, mask);
DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_DDS_STATUS, (LM_DEBUG, DDS4CCM_INFO
- "DataReaderStateListener_T::get_mask - "
+ "DataReaderStateListenerBase_T::get_mask - "
"Mask becomes %C\n",
msk.c_str ()));
}
return mask;
}
+
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
+ ::DDS::ReturnCode_t
+ DataReaderStateListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_TAKE>::get_data_i (
+ typename TYPED_DDS_READER::_ptr_type reader,
+ ::DDS::QueryCondition_ptr qc,
+ SEQ_TYPE &data,
+ ::DDS::SampleInfoSeq &sample_info,
+ ::CORBA::Long max_samples)
+ {
+ DDS4CCM_TRACE ("DataReaderStateListener_T::get_data_i");
+
+ ::DDS::ReturnCode_t result = ::DDS::RETCODE_OK;
+ if (! ::CORBA::is_nil (qc))
+ {
+ ::DDS::ReadCondition_var rd = ::DDS::ReadCondition::_narrow (qc);
+ result = reader->take_w_condition (data,
+ sample_info,
+ max_samples,
+ rd.in ());
+ }
+ else
+ {
+ result = reader->take (data,
+ sample_info,
+ max_samples,
+ ::DDS::NOT_READ_SAMPLE_STATE,
+ ::DDS::NEW_VIEW_STATE | ::DDS::NOT_NEW_VIEW_STATE,
+ ::DDS::ANY_INSTANCE_STATE);
+ }
+ return result;
+ }
+
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
+ ::DDS::ReturnCode_t
+ DataReaderStateListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_READ>::get_data_i (
+ typename TYPED_DDS_READER::_ptr_type reader,
+ ::DDS::QueryCondition_ptr qc,
+ SEQ_TYPE &data,
+ ::DDS::SampleInfoSeq &sample_info,
+ ::CORBA::Long max_samples)
+ {
+ DDS4CCM_TRACE ("DataReaderStateListener_T::get_data_i");
+
+ ::DDS::ReturnCode_t result = ::DDS::RETCODE_OK;
+ if (! ::CORBA::is_nil (qc))
+ {
+ ::DDS::ReadCondition_var rd = ::DDS::ReadCondition::_narrow (qc);
+ result = reader->read_w_condition (data,
+ sample_info,
+ max_samples,
+ rd.in ());
+ }
+ else
+ {
+ result = reader->read (data,
+ sample_info,
+ max_samples,
+ ::DDS::NOT_READ_SAMPLE_STATE,
+ ::DDS::NEW_VIEW_STATE | ::DDS::NOT_NEW_VIEW_STATE,
+ ::DDS::ANY_INSTANCE_STATE);
+ }
+ return result;
+ }
}
}
diff --git a/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.h b/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.h
index 41ce5dcc658..0f67581114a 100644
--- a/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.h
+++ b/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.h
@@ -17,26 +17,36 @@ namespace CIAO
{
namespace DDS4CCM
{
- template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
- class DataReaderStateListener_T :
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
+ class DataReaderStateListener_T;
+
+ /**
+ * Template implementing the DDS4CCM DataReaderStateListener basic port
+ * @tparam CCM_TYPE Set of type traits for this basic port
+ * @tparam TYPED_DDS_READER The typed DDS DataReader type
+ * @tparam SEQ_TYPE The type of sequence
+ * @tparam LRT An enum indicating the semantics of this port
+ */
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE, DDS4CCM_LISTENER_READ_TAKE LRT>
+ class DataReaderStateListenerBase_T :
public PortStatusListener
{
- typedef DataReaderStateListener_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE>
+ typedef DataReaderStateListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, LRT>
DataReaderStateListener_type;
typedef ::CIAO::DDS4CCM::DataReaderHandler_T<DataReaderStateListener_type>
DataReaderStateHandler_type;
public:
/// Constructor
- DataReaderStateListener_T (
- typename CCM_TYPE::data_listener_type::_ptr_type listener,
- ::CCM_DDS::PortStatusListener_ptr port_status_listener,
- ::CCM_DDS::StateListenerControl_ptr control,
- ACE_Reactor* reactor,
- ConditionManager& condition_manager);
+ DataReaderStateListenerBase_T (
+ typename CCM_TYPE::data_listener_type::_ptr_type listener,
+ ::CCM_DDS::PortStatusListener_ptr port_status_listener,
+ ::CCM_DDS::StateListenerControl_ptr control,
+ ACE_Reactor* reactor,
+ ConditionManager& condition_manager);
/// Destructor
- virtual ~DataReaderStateListener_T (void);
+ virtual ~DataReaderStateListenerBase_T (void);
virtual void on_data_available (::DDS::DataReader_ptr rdr);
@@ -46,10 +56,70 @@ namespace CIAO
void on_data_available_i (::DDS::DataReader_ptr rdr);
private:
+ /// Helper method to get data from DDS
+ virtual ::DDS::ReturnCode_t get_data_i (
+ typename TYPED_DDS_READER::_ptr_type reader,
+ ::DDS::QueryCondition_ptr qc,
+ SEQ_TYPE &data,
+ ::DDS::SampleInfoSeq &sample_info,
+ ::CORBA::Long max_samples) = 0;
+
typename CCM_TYPE::data_listener_type::_var_type listener_;
::CCM_DDS::StateListenerControl_var control_;
ConditionManager& condition_manager_;
};
+
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
+ class DataReaderStateListener_T <CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_TAKE> :
+ public DataReaderStateListenerBase_T <CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_TAKE>
+ {
+ public:
+ /// Constructor
+ DataReaderStateListener_T (
+ typename CCM_TYPE::data_listener_type::_ptr_type listener,
+ ::CCM_DDS::PortStatusListener_ptr port_status_listener,
+ ::CCM_DDS::StateListenerControl_ptr control,
+ ACE_Reactor* reactor,
+ ConditionManager& condition_manager) :
+ DataReaderStateListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_TAKE> (
+ listener, port_status_listener, control, reactor, condition_manager)
+ {
+ }
+ private:
+ /// Helper method to get data from DDS
+ virtual ::DDS::ReturnCode_t get_data_i (
+ typename TYPED_DDS_READER::_ptr_type reader,
+ ::DDS::QueryCondition_ptr qc,
+ SEQ_TYPE &data,
+ ::DDS::SampleInfoSeq &sample_info,
+ ::CORBA::Long max_samples);
+ };
+
+ template <typename CCM_TYPE, typename TYPED_DDS_READER, typename SEQ_TYPE>
+ class DataReaderStateListener_T <CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_READ> :
+ public DataReaderStateListenerBase_T <CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_READ>
+ {
+ public:
+ /// Constructor
+ DataReaderStateListener_T (
+ typename CCM_TYPE::data_listener_type::_ptr_type listener,
+ ::CCM_DDS::PortStatusListener_ptr port_status_listener,
+ ::CCM_DDS::StateListenerControl_ptr control,
+ ACE_Reactor* reactor,
+ ConditionManager& condition_manager) :
+ DataReaderStateListenerBase_T<CCM_TYPE, TYPED_DDS_READER, SEQ_TYPE, CIAO::DDS4CCM::DDS4CCM_READ> (
+ listener, port_status_listener, control, reactor, condition_manager)
+ {
+ }
+ private:
+ /// Helper method to get data from DDS
+ virtual ::DDS::ReturnCode_t get_data_i (
+ typename TYPED_DDS_READER::_ptr_type reader,
+ ::DDS::QueryCondition_ptr qc,
+ SEQ_TYPE &data,
+ ::DDS::SampleInfoSeq &sample_info,
+ ::CORBA::Long max_samples);
+ };
}
}
diff --git a/CIAO/connectors/dds4ccm/impl/Getter_T.h b/CIAO/connectors/dds4ccm/impl/Getter_T.h
index 46592aee2c0..48ad0486374 100644
--- a/CIAO/connectors/dds4ccm/impl/Getter_T.h
+++ b/CIAO/connectors/dds4ccm/impl/Getter_T.h
@@ -124,7 +124,6 @@ namespace CIAO
/**
* @brief Implementation of the Getter port for variable sized data types.
- *
*/
template <typename GETTER_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE>
class Getter_T <GETTER_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, false> :
@@ -137,10 +136,9 @@ namespace CIAO
*
* Spec : get_one returns the next sample to be gotten.
*
- * Returns false when 'wait' times out or when no valid data could be read
+ * @retval false When 'wait' times out or when no valid data could be read
* from DDS.
- * Return true, when 'wait' is triggered.
- *
+ * @retval true When 'wait' is triggered.
*/
virtual bool get_one (
typename VALUE_TYPE::_out_type an_instance,
@@ -161,10 +159,9 @@ namespace CIAO
*
* Spec : get_one returns the next sample to be gotten.
*
- * Returns false when 'wait' times out or when no valid data could be read
+ * @retval false When 'wait' times out or when no valid data could be read
* from DDS.
- * Return true, when 'wait' is triggered.
- *
+ * @retval true When 'wait' is triggered.
*/
virtual bool get_one (
typename VALUE_TYPE::_out_type an_instance,
diff --git a/CIAO/connectors/dds4ccm/impl/LocalObject.h b/CIAO/connectors/dds4ccm/impl/LocalObject.h
index 4449c19265a..bbaace729fc 100644
--- a/CIAO/connectors/dds4ccm/impl/LocalObject.h
+++ b/CIAO/connectors/dds4ccm/impl/LocalObject.h
@@ -11,6 +11,11 @@ namespace CIAO
{
namespace DDS4CCM
{
+ /**
+ * Base class for all DDS4CCM local facets. It stores
+ * an object reference to the component this local
+ * facet belongs too.
+ */
class DDS4CCM_DDS_IMPL_Export LocalObject
: public virtual ::CORBA::LocalObject
{
diff --git a/CIAO/connectors/dds4ccm/impl/Utils.h b/CIAO/connectors/dds4ccm/impl/Utils.h
index 835b8b3694e..aa809067924 100644
--- a/CIAO/connectors/dds4ccm/impl/Utils.h
+++ b/CIAO/connectors/dds4ccm/impl/Utils.h
@@ -25,6 +25,20 @@ namespace CIAO
{
namespace DDS4CCM
{
+ /**
+ * Enum controlling the semantics of the
+ * DDS4CCM listeners.
+ */
+ enum DDS4CCM_LISTENER_READ_TAKE
+ {
+ /// Listener does a DDS read
+ DDS4CCM_READ,
+ /// Listener does a DDS take
+ DDS4CCM_TAKE
+ };
+
+ /// Helper method translating a DDS ReturnCode_t into
+ /// a readable string
inline const char * translate_retcode (::DDS::ReturnCode_t ret)
{
#define DDS4CCM_RETCODE(X) case X: return #X
diff --git a/CIAO/connectors/dds4ccm/tests/KeyedSamples/Sender/Keyed_Test_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/KeyedSamples/Sender/Keyed_Test_Sender_exec.cpp
index 3c4035abe57..26f86d157f9 100644
--- a/CIAO/connectors/dds4ccm/tests/KeyedSamples/Sender/Keyed_Test_Sender_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/KeyedSamples/Sender/Keyed_Test_Sender_exec.cpp
@@ -1,30 +1,6 @@
// -*- 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 "Keyed_Test_Sender_exec.h"
#include "tao/ORB_Core.h"
#include "ace/Reactor.h"
@@ -113,6 +89,7 @@ namespace CIAO_Keyed_Test_Sender_Impl
: rate_ (1)
, keys_ (5)
, iterations_ (10)
+ , ready_to_start_ (false)
{
ACE_NEW_THROW_EX (this->ticker_,
pulse_Generator (*this),
@@ -204,6 +181,7 @@ namespace CIAO_Keyed_Test_Sender_Impl
void
Sender_exec_i::get_started (void)
{
+ this->ready_to_start_ = true;
this->start ();
ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, _guard,
@@ -226,6 +204,12 @@ namespace CIAO_Keyed_Test_Sender_Impl
Sender_exec_i::stop (void)
{
this->reactor ()->cancel_timer (this->ticker_);
+
+ if (!this->ready_to_start_.value())
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Sender_exec_i::stop - ")
+ ACE_TEXT ("ERROR Sender never got ready to start\n")));
+ }
}
// Component attributes and port operations.
diff --git a/CIAO/connectors/dds4ccm/tests/KeyedSamples/Sender/Keyed_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/KeyedSamples/Sender/Keyed_Test_Sender_exec.h
index 09afa3d3157..9390b0ae894 100644
--- a/CIAO/connectors/dds4ccm/tests/KeyedSamples/Sender/Keyed_Test_Sender_exec.h
+++ b/CIAO/connectors/dds4ccm/tests/KeyedSamples/Sender/Keyed_Test_Sender_exec.h
@@ -1,29 +1,6 @@
// -*- 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
- **/
#ifndef CIAO_KEYED_TEST_SENDER_EXEC_LVAFIH_H_
#define CIAO_KEYED_TEST_SENDER_EXEC_LVAFIH_H_
@@ -42,6 +19,7 @@
namespace CIAO_Keyed_Test_Sender_Impl
{
+ typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, CORBA::Boolean > Atomic_Boolean;
class Sender_exec_i;
/**
@@ -169,7 +147,7 @@ namespace CIAO_Keyed_Test_Sender_Impl
Keyed_Test_Table ktests_;
Keyed_Test_Table::iterator last_key_;
-
+ Atomic_Boolean ready_to_start_;
//@}
//@{
diff --git a/CIAO/connectors/dds4ccm/tests/ListenManyByMany/Receiver/LMBM_Test_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/tests/ListenManyByMany/Receiver/LMBM_Test_Receiver_exec.cpp
index b2b8dffeb42..738d45c2020 100644
--- a/CIAO/connectors/dds4ccm/tests/ListenManyByMany/Receiver/LMBM_Test_Receiver_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/ListenManyByMany/Receiver/LMBM_Test_Receiver_exec.cpp
@@ -11,10 +11,14 @@ namespace CIAO_LMBM_Test_Receiver_Impl
// ListenManyByManyTest_Listener_exec_i
//============================================================
ListenManyByManyTest_Listener_exec_i::ListenManyByManyTest_Listener_exec_i (
- Atomic_ULong &received_one_by_one,
- Atomic_ULong &received_many_by_many)
- : received_one_by_one_ (received_one_by_one),
- received_many_by_many_ (received_many_by_many)
+ ::LMBM_Test::CCM_Receiver_Context_ptr context,
+ Atomic_ULong &received_one_by_one,
+ Atomic_ULong &received_many_by_many,
+ Atomic_ULong &samples_read)
+ : context_ (::LMBM_Test::CCM_Receiver_Context::_duplicate (context)),
+ received_one_by_one_ (received_one_by_one),
+ received_many_by_many_ (received_many_by_many),
+ samples_read_ (samples_read)
{
}
@@ -38,19 +42,19 @@ namespace CIAO_LMBM_Test_Receiver_Impl
{
if (an_instance.length () == 0)
{
- ACE_ERROR ((LM_ERROR, "ERROR: ListenManyByManyTest_Listener_exec_i::on_many_data:"
- "instance sequence length is nil\n"));
+ ACE_ERROR ((LM_ERROR, "ERROR: ListenManyByManyTest_Listener_exec_i::on_many_data: "
+ "instance sequence length is nil\n"));
return;
}
for (CORBA::ULong i = 0 ; i < info.length(); ++i)
{
- ACE_DEBUG ((LM_DEBUG, "ListenManyByManyTest_Listener_exec_i::on_many_data:"
+ ACE_DEBUG ((LM_DEBUG, "ListenManyByManyTest_Listener_exec_i::on_many_data: "
"key <%C> - iteration <%d>\n",
an_instance[i].key.in (),
an_instance[i].iteration));
if (info[i].instance_handle == ::DDS::HANDLE_NIL)
{
- ACE_ERROR ((LM_ERROR, "ERROR: ListenManyByManyTest_Listener_exec_i::on_many_data:"
+ ACE_ERROR ((LM_ERROR, "ERROR: ListenManyByManyTest_Listener_exec_i::on_many_data: "
"instance handle %d seems to be nil"
"key <%C> - iteration <%d>\n",
i,
@@ -60,7 +64,7 @@ namespace CIAO_LMBM_Test_Receiver_Impl
if (info[i].source_timestamp.sec == 0 &&
info[i].source_timestamp.nanosec == 0)
{
- ACE_ERROR ((LM_ERROR, "ERROR: ListenManyByManyTest_Listener_exec_i::on_one_data: "
+ ACE_ERROR ((LM_ERROR, "ERROR: ListenManyByManyTest_Listener_exec_i::on_many_data: "
"source timestamp seems to be invalid (nil) "
"key <%C> - iteration <%d>\n",
an_instance[i].key.in (),
@@ -68,6 +72,30 @@ namespace CIAO_LMBM_Test_Receiver_Impl
}
}
this->received_many_by_many_ += an_instance.length ();
+ try
+ {
+ ::LMBM_Test::ListenManyByManyTestConnector::Reader_var reader =
+ this->context_->get_connection_info_listen_data ();
+ if (::CORBA::is_nil (reader.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "ListenManyByManyTest_Listener_exec_i::on_many_data - "
+ "ERROR: Reader seems nil\n"));
+ }
+ ::ListenManyByManyTestSeq seq;
+ ::CCM_DDS::ReadInfoSeq infos;
+ reader->read_all (seq, infos);
+ this->samples_read_ += seq.length ();
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ListenManyByManyTest_Listener_exec_i::on_many_data - ")
+ ACE_TEXT ("Read <%u> samples\n"),
+ seq.length ()));
+ }
+ catch (const CCM_DDS::InternalError& ex)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: Internal Error ")
+ ACE_TEXT ("when using reader->read_all: index <%d> - retval <%d>\n"),
+ ex.index, ex.error_code));
+ }
}
//============================================================
@@ -76,6 +104,7 @@ namespace CIAO_LMBM_Test_Receiver_Impl
Receiver_exec_i::Receiver_exec_i (void)
: received_one_by_one_ (0),
received_many_by_many_ (0),
+ samples_read_ (0),
iterations_ (10),
keys_ (5)
{
@@ -97,8 +126,10 @@ namespace CIAO_LMBM_Test_Receiver_Impl
Receiver_exec_i::get_info_listen_data_listener (void)
{
return new ListenManyByManyTest_Listener_exec_i (
- this->received_one_by_one_,
- this->received_many_by_many_);
+ this->context_.in (),
+ this->received_one_by_one_,
+ this->received_many_by_many_,
+ this->samples_read_);
}
::CCM_DDS::CCM_PortStatusListener_ptr
@@ -204,6 +235,15 @@ namespace CIAO_LMBM_Test_Receiver_Impl
"many_by_many callback. "
"Test passed!\n"));
}
+ if (this->samples_read_.value () == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("OK: read no samples\n")));
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: read <%u> samples\n"),
+ this->samples_read_.value ()));
+ }
}
extern "C" RECEIVER_EXEC_Export ::Components::EnterpriseComponent_ptr
diff --git a/CIAO/connectors/dds4ccm/tests/ListenManyByMany/Receiver/LMBM_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/ListenManyByMany/Receiver/LMBM_Test_Receiver_exec.h
index 74a7d84572f..86261f0de2a 100644
--- a/CIAO/connectors/dds4ccm/tests/ListenManyByMany/Receiver/LMBM_Test_Receiver_exec.h
+++ b/CIAO/connectors/dds4ccm/tests/ListenManyByMany/Receiver/LMBM_Test_Receiver_exec.h
@@ -30,8 +30,10 @@ namespace CIAO_LMBM_Test_Receiver_Impl
{
public:
ListenManyByManyTest_Listener_exec_i (
- Atomic_ULong &received_one_by_one,
- Atomic_ULong &received_many_by_many);
+ ::LMBM_Test::CCM_Receiver_Context_ptr context,
+ Atomic_ULong &received_one_by_one,
+ Atomic_ULong &received_many_by_many,
+ Atomic_ULong &samples_read_);
virtual ~ListenManyByManyTest_Listener_exec_i (void);
virtual void
@@ -43,8 +45,10 @@ namespace CIAO_LMBM_Test_Receiver_Impl
const ListenManyByManyTestSeq & an_instance,
const ::CCM_DDS::ReadInfoSeq & info);
private:
+ ::LMBM_Test::CCM_Receiver_Context_var context_;
Atomic_ULong &received_one_by_one_;
Atomic_ULong &received_many_by_many_;
+ Atomic_ULong &samples_read_;
};
//============================================================
@@ -92,6 +96,7 @@ namespace CIAO_LMBM_Test_Receiver_Impl
Atomic_ULong received_one_by_one_;
Atomic_ULong received_many_by_many_;
+ Atomic_ULong samples_read_;
CORBA::UShort iterations_;
CORBA::UShort keys_;
diff --git a/CIAO/connectors/dds4ccm/tests/ListenManyByMany/descriptors/Plan.cdp b/CIAO/connectors/dds4ccm/tests/ListenManyByMany/descriptors/Plan.cdp
index 3113997f546..d529ec16667 100644
--- a/CIAO/connectors/dds4ccm/tests/ListenManyByMany/descriptors/Plan.cdp
+++ b/CIAO/connectors/dds4ccm/tests/ListenManyByMany/descriptors/Plan.cdp
@@ -285,6 +285,26 @@
<resourceType>Local_Interface</resourceType>
</deployRequirement>
<internalEndpoint>
+ <portName>info_listen_data</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="ReceiverComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>push_consumer_data</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="LMBM_Test_ConnectorComponentInstance2" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>info_listen_data_listener</name>
+ <deployRequirement>
+ <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name>
+ <resourceType>Local_Interface</resourceType>
+ </deployRequirement>
+ <internalEndpoint>
<portName>info_listen_data_listener</portName>
<provider>true</provider>
<kind>Facet</kind>
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 742e45bf8e8..5b8ba748238 100644
--- a/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h
+++ b/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h
@@ -256,10 +256,11 @@ private:
typename CCM_TYPE::push_consumer_cl_traits,
typename DDS_TYPE::typed_reader_type,
typename DDS_TYPE::value_type,
- SEQ_TYPE>
+ SEQ_TYPE,
+ CIAO::DDS4CCM::DDS4CCM_TAKE>
push_consumer_cl_;
- //connection to the receiver implementation
+ /// Connection to the receiver implementation
typename CCM_TYPE::push_consumer_cl_traits::data_listener_type::_var_type dl_;
CORBA::String_var topic_name_sq_;
diff --git a/CIAO/connectors/dds4ccm/tests/MultipleTemp/Sender/MultipleTemp_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/MultipleTemp/Sender/MultipleTemp_Sender_exec.cpp
index 29eaa54ddda..6b649b5256a 100644
--- a/CIAO/connectors/dds4ccm/tests/MultipleTemp/Sender/MultipleTemp_Sender_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/MultipleTemp/Sender/MultipleTemp_Sender_exec.cpp
@@ -189,7 +189,7 @@ namespace CIAO_MultipleTemp_Sender_Impl
catch (const CCM_DDS::InternalError& ex)
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: Internal Error ")
- ACE_TEXT ("whit update_many: index <%d> - retval <%d>\n"),
+ ACE_TEXT ("with update_many: index <%d> - retval <%d>\n"),
ex.index, ex.error_code));
result = false;
}
diff --git a/CIAO/connectors/dds4ccm/tests/SLDisabled/Sender/SL_Disabled_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/SLDisabled/Sender/SL_Disabled_Sender_exec.cpp
index daf84e16bbd..43e6c01ed5b 100644
--- a/CIAO/connectors/dds4ccm/tests/SLDisabled/Sender/SL_Disabled_Sender_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/SLDisabled/Sender/SL_Disabled_Sender_exec.cpp
@@ -309,7 +309,7 @@ namespace CIAO_SL_Disabled_Sender_Impl
catch (const CCM_DDS::InternalError& ex)
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: Internal Error ")
- ACE_TEXT ("whit update_many: index <%d> - retval <%d>\n"),
+ ACE_TEXT ("with update_many: index <%d> - retval <%d>\n"),
ex.index, ex.error_code));
return false;
}
diff --git a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.cpp
index 66981b6442a..40219975a82 100644
--- a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.cpp
@@ -1,30 +1,6 @@
// -*- 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 "SL_ManyByMany_Receiver_exec.h"
#include "tao/ORB_Core.h"
#include "ace/Reactor.h"
@@ -71,7 +47,8 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
Atomic_Long &on_many_upd_trigger,
Atomic_Long &on_deletion,
Atomic_Bool &create_data,
- Atomic_Bool &update_data)
+ Atomic_Bool &update_data,
+ Atomic_Long &samples_read)
: ciao_context_ (
::SL_ManyByMany::CCM_Receiver_Context::_duplicate (ctx))
, no_operation_ (no_operation)
@@ -81,6 +58,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
, on_deletion_ (on_deletion)
, create_data_ (create_data)
, update_data_ (update_data)
+ , samples_read_ (samples_read)
{
}
@@ -165,6 +143,36 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
this->update_data_ = true;
}
}
+
+ // When we have received all updates, check if there is
+ // something left in the cache
+ if(this->on_many_update_.value () == ON_MANY_EXPECTED)
+ {
+ try
+ {
+ SL_ManyByMany::SLManyByManyConnector::Reader_var reader =
+ this->ciao_context_->get_connection_info_out_data ();
+ if (::CORBA::is_nil (reader.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "info_out_data_listener_exec_i::on_many_updates - "
+ "ERROR: Reader seems nil\n"));
+ }
+ ::TestTopicSeq seq;
+ ::CCM_DDS::ReadInfoSeq infos;
+ reader->read_all (seq, infos);
+ this->samples_read_ += seq.length ();
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("info_out_data_listener_exec_i::on_many_updates - ")
+ ACE_TEXT ("Read <%u> samples\n"),
+ seq.length ()));
+ }
+ catch (const CCM_DDS::InternalError& ex)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: Internal Error ")
+ ACE_TEXT ("when using reader->read_all: index <%d> - retval <%d>\n"),
+ ex.index, ex.error_code));
+ }
+ }
}
void
@@ -259,6 +267,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
, create_data_ (false)
, update_data_ (false)
, reader_data_ (0)
+ , samples_read_ (0)
{
ACE_NEW_THROW_EX (this->ticker_,
read_action_Generator (*this),
@@ -351,7 +360,8 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
this->on_many_upd_trigger_,
this->on_deletion_,
this->create_data_,
- this->update_data_),
+ this->update_data_,
+ this->samples_read_),
::SL_ManyByMany::SLManyByManyConnector::CCM_StateListener::_nil ());
this->ciao_info_out_data_listener_ = tmp;
@@ -518,7 +528,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
{
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("OK: did receive the expected ")
ACE_TEXT ("number of 'on_many_update' samples: ")
- ACE_TEXT ("expected <%d> - received <%d>,")
+ ACE_TEXT ("expected <%d> - received <%d>, ")
ACE_TEXT ("on_many_update triggered at <%d> times.\n"),
ON_MANY_EXPECTED,
this->on_many_update_.value (),
@@ -578,6 +588,15 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
this->reader_data_.value ()
));
}
+ if (this->samples_read_.value () == 0)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: read no samples\n")));
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("OK: read <%u> samples\n"),
+ this->samples_read_.value ()));
+ }
}
extern "C" RECEIVER_EXEC_Export ::Components::EnterpriseComponent_ptr
diff --git a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h
index 5674cabf36d..1284d89d6c3 100644
--- a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h
+++ b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h
@@ -1,29 +1,6 @@
// -*- 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
- **/
#ifndef CIAO_SL_MANYBYMANY_RECEIVER_EXEC_4U4QJF_H_
#define CIAO_SL_MANYBYMANY_RECEIVER_EXEC_4U4QJF_H_
@@ -84,7 +61,8 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
Atomic_Long &on_many_upd_trigger,
Atomic_Long &on_deletion,
Atomic_Bool &create_data,
- Atomic_Bool &update_data);
+ Atomic_Bool &update_data,
+ Atomic_Long &samples_read);
virtual ~info_out_data_listener_exec_i (void);
//@{
@@ -116,6 +94,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
Atomic_Long &on_deletion_;
Atomic_Bool &create_data_;
Atomic_Bool &update_data_;
+ Atomic_Long &samples_read_;
};
/**
@@ -210,7 +189,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
Atomic_Bool create_data_;
Atomic_Bool update_data_;
Atomic_Long reader_data_;
-
+ Atomic_Long samples_read_;
//@}
//@{
diff --git a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.cpp
index d0c89b3fe80..e3ba1e99626 100644
--- a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.cpp
@@ -1,32 +1,7 @@
// -*- 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 "SL_OneByOne_Receiver_exec.h"
-
#include "dds4ccm/impl/dds4ccm_conf.h"
#define ON_CREATION_EXPECTED 4
@@ -39,13 +14,13 @@ namespace CIAO_SL_OneByOne_Receiver_Impl
/**
* Facet Executor Implementation Class: info_out_data_listener_exec_i
*/
-
info_out_data_listener_exec_i::info_out_data_listener_exec_i (
::SL_OneByOne::CCM_Receiver_Context_ptr ctx,
Atomic_Long &on_many_updates,
Atomic_Long &on_creation,
Atomic_Long &on_one_update,
Atomic_Long &on_deletion,
+ Atomic_Long &samples_read,
ACE_Thread_ID &thread_id)
: ciao_context_ (
::SL_OneByOne::CCM_Receiver_Context::_duplicate (ctx))
@@ -53,6 +28,7 @@ namespace CIAO_SL_OneByOne_Receiver_Impl
, on_creation_ (on_creation)
, on_one_update_ (on_one_update)
, on_deletion_ (on_deletion)
+ , samples_read_ (samples_read)
, thread_id_ (thread_id)
{
}
@@ -104,6 +80,36 @@ namespace CIAO_SL_OneByOne_Receiver_Impl
{
++this->on_one_update_;
}
+
+ // When we have received all updates, check if there is something
+ // left in the cache
+ if (this->on_one_update_.value () == ON_ONE_UPDATE_EXPECTED)
+ {
+ try
+ {
+ ::SL_OneByOne::SL_OneByOneConnector::Reader_var reader =
+ this->ciao_context_->get_connection_info_out_data ();
+ if (::CORBA::is_nil (reader.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "info_out_data_listener_exec_i::on_one_update - "
+ "ERROR: Reader seems nil\n"));
+ }
+ ::TestTopicSeq seq;
+ ::CCM_DDS::ReadInfoSeq infos;
+ reader->read_all (seq, infos);
+ this->samples_read_ += seq.length ();
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("StateListener_exec_i::on_one_update - ")
+ ACE_TEXT ("Read <%u> samples\n"),
+ seq.length ()));
+ }
+ catch (const CCM_DDS::InternalError& ex)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: Internal Error ")
+ ACE_TEXT ("when using reader->read_all: index <%d> - retval <%d>\n"),
+ ex.index, ex.error_code));
+ }
+ }
}
void
@@ -200,6 +206,7 @@ namespace CIAO_SL_OneByOne_Receiver_Impl
on_creation_ (0),
on_one_update_ (0),
on_deletion_ (0),
+ samples_read_ (0),
thread_id_listener_ (0, 0)
{
}
@@ -226,6 +233,7 @@ namespace CIAO_SL_OneByOne_Receiver_Impl
this->on_creation_,
this->on_one_update_,
this->on_deletion_,
+ this->samples_read_,
this->thread_id_listener_),
::SL_OneByOne::SL_OneByOneConnector::CCM_StateListener::_nil ());
@@ -295,7 +303,6 @@ namespace CIAO_SL_OneByOne_Receiver_Impl
void
Receiver_exec_i::ccm_passivate (void)
{
- /* Your code here. */
}
void
@@ -373,6 +380,15 @@ namespace CIAO_SL_OneByOne_Receiver_Impl
ON_DELETION_EXPECTED,
this->on_deletion_.value ()));
}
+ if (this->samples_read_.value () == 0)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: read no samples\n")));
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("OK: read <%u> samples\n"),
+ this->samples_read_.value ()));
+ }
char ccm_buf [65];
ACE_Thread_ID ccm_thread_id;
diff --git a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.h
index df1f04ce71c..74017d49a28 100644
--- a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.h
+++ b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.h
@@ -1,29 +1,6 @@
// -*- 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
- **/
#ifndef CIAO_SL_ONEBYONE_RECEIVER_EXEC_TKIVXN_H_
#define CIAO_SL_ONEBYONE_RECEIVER_EXEC_TKIVXN_H_
@@ -59,6 +36,7 @@ namespace CIAO_SL_OneByOne_Receiver_Impl
Atomic_Long &,
Atomic_Long &,
Atomic_Long &,
+ Atomic_Long &,
ACE_Thread_ID &);
virtual ~info_out_data_listener_exec_i (void);
@@ -88,6 +66,7 @@ namespace CIAO_SL_OneByOne_Receiver_Impl
Atomic_Long &on_creation_;
Atomic_Long &on_one_update_;
Atomic_Long &on_deletion_;
+ Atomic_Long &samples_read_;
ACE_Thread_ID &thread_id_;
};
@@ -183,6 +162,7 @@ namespace CIAO_SL_OneByOne_Receiver_Impl
Atomic_Long on_creation_;
Atomic_Long on_one_update_;
Atomic_Long on_deletion_;
+ Atomic_Long samples_read_;
ACE_Thread_ID thread_id_listener_;
//@}
diff --git a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Sender/SL_OneByOne_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Sender/SL_OneByOne_Sender_exec.cpp
index 28394253186..58b7c44e957 100644
--- a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Sender/SL_OneByOne_Sender_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Sender/SL_OneByOne_Sender_exec.cpp
@@ -1,41 +1,15 @@
// -*- 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 "SL_OneByOne_Sender_exec.h"
#include "tao/ORB_Core.h"
#include "ace/Reactor.h"
namespace CIAO_SL_OneByOne_Sender_Impl
{
-
/**
* Write action generator
*/
-
pulse_Generator::pulse_Generator (Sender_exec_i &callback)
: pulse_callback_ (callback)
{
@@ -107,7 +81,6 @@ namespace CIAO_SL_OneByOne_Sender_Impl
/**
* Component Executor Implementation Class: Sender_exec_i
*/
-
Sender_exec_i::Sender_exec_i (void)
: test_nr_(UPDATE_CREATE),
test_ok_(true)
@@ -312,7 +285,7 @@ namespace CIAO_SL_OneByOne_Sender_Impl
catch (const CCM_DDS::InternalError& ex)
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: Internal Error ")
- ACE_TEXT ("whit update_many: index <%d> - retval <%d>\n"),
+ ACE_TEXT ("with update_many: index <%d> - retval <%d>\n"),
ex.index, ex.error_code));
return false;
}
diff --git a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Sender/SL_OneByOne_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Sender/SL_OneByOne_Sender_exec.h
index 8098258b587..4b0cb743934 100644
--- a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Sender/SL_OneByOne_Sender_exec.h
+++ b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Sender/SL_OneByOne_Sender_exec.h
@@ -1,29 +1,6 @@
// -*- 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
- **/
#ifndef CIAO_SL_ONEBYONE_SENDER_EXEC_FHYBU2_H_
#define CIAO_SL_ONEBYONE_SENDER_EXEC_FHYBU2_H_
diff --git a/CIAO/connectors/dds4ccm/tests/Updater/Sender/Updater_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/Updater/Sender/Updater_Sender_exec.cpp
index 734c3955e33..7fde39d9f1f 100644
--- a/CIAO/connectors/dds4ccm/tests/Updater/Sender/Updater_Sender_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/Updater/Sender/Updater_Sender_exec.cpp
@@ -461,7 +461,7 @@ namespace CIAO_Updater_Sender_Impl
catch (const CCM_DDS::InternalError& ex)
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: Internal Error ")
- ACE_TEXT ("whit update_many: index <%d> - retval <%d>\n"),
+ ACE_TEXT ("with update_many: index <%d> - retval <%d>\n"),
ex.index, ex.error_code));
return false;
}