summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarijke Hengstmengel <MHengstmengel@users.noreply.github.com>2009-11-30 11:38:15 +0000
committerMarijke Hengstmengel <MHengstmengel@users.noreply.github.com>2009-11-30 11:38:15 +0000
commit1a279119c6efec26ddf864e27d07c162330b3f85 (patch)
treef46810cd34a02fae6497a97d51308e9bf6fe0e11
parentbdb3e819e7a2977be4e85b660670ff8b34c518e7 (diff)
downloadATCD-1a279119c6efec26ddf864e27d07c162330b3f85.tar.gz
Mon Nov 30 11:32:37 UTC 2009 Marijke Hengstmengel <mhengstmengel@remedy.nl>
* connectors/dds4ccm/tests/CSLDeadline: * connectors/dds4ccm/tests/CSLDeadline/Base: * connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.idl: * connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.mpc: * connectors/dds4ccm/tests/CSLDeadline/Connector: * connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.idl: * connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.mpc: * connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.cpp: * connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.h: * connectors/dds4ccm/tests/CSLDeadline/descriptors: * connectors/dds4ccm/tests/CSLDeadline/descriptors/Plan.cdp: * connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl: * connectors/dds4ccm/tests/CSLDeadline/descriptors/USER_QOS_PROFILES.xml: * connectors/dds4ccm/tests/CSLDeadline/Receiver: * connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.idl: * connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.mpc: * connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.cpp: * connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.h: * connectors/dds4ccm/tests/CSLDeadline/Sender: * connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.idl: * connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.mpc: * connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.cpp: * connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.h: Test ConnectorStatusListener on_offered_deadline_missed. * connectors/dds4ccm/tests/CSLQoS: * connectors/dds4ccm/tests/CSLQoS/Base: * connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.idl: * connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.mpc: * connectors/dds4ccm/tests/CSLQoS/Connector: * connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.idl: * connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.mpc: * connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.cpp: * connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.h: * connectors/dds4ccm/tests/CSLQoS/descriptors: * connectors/dds4ccm/tests/CSLQoS/descriptors/Plan.cdp: * connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl: * connectors/dds4ccm/tests/CSLQoS/descriptors/USER_QOS_PROFILES.xml: * connectors/dds4ccm/tests/CSLQoS/Receiver: * connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.idl: * connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.mpc: * connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.cpp: * connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.h: * connectors/dds4ccm/tests/CSLQoS/Sender: * connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.idl: * connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.mpc: * connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.cpp: * connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.h: Test ConnectorStatusListener on_requested- and on_offered_incompatible_QoS.
-rw-r--r--CIAO/ChangeLog52
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.idl18
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.mpc77
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.idl29
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.mpc145
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.cpp30
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.h62
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.idl25
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.mpc138
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.cpp241
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.h148
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.idl27
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.mpc140
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.cpp187
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.h93
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/Plan.cdp387
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/USER_QOS_PROFILES.xml79
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl225
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.idl18
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.mpc77
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.idl29
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.mpc145
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.cpp30
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.h62
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.idl25
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.mpc138
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.cpp245
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.h148
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.idl26
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.mpc140
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.cpp147
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.h87
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/Plan.cdp372
-rw-r--r--CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/USER_QOS_PROFILES.xml67
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl225
35 files changed, 4084 insertions, 0 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index 2c95bed3649..47450616829 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,55 @@
+Mon Nov 30 11:32:37 UTC 2009 Marijke Hengstmengel <mhengstmengel@remedy.nl>
+
+ * connectors/dds4ccm/tests/CSLDeadline:
+ * connectors/dds4ccm/tests/CSLDeadline/Base:
+ * connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.idl:
+ * connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.mpc:
+ * connectors/dds4ccm/tests/CSLDeadline/Connector:
+ * connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.idl:
+ * connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.mpc:
+ * connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.cpp:
+ * connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.h:
+ * connectors/dds4ccm/tests/CSLDeadline/descriptors:
+ * connectors/dds4ccm/tests/CSLDeadline/descriptors/Plan.cdp:
+ * connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/CSLDeadline/descriptors/USER_QOS_PROFILES.xml:
+ * connectors/dds4ccm/tests/CSLDeadline/Receiver:
+ * connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.idl:
+ * connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.mpc:
+ * connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.cpp:
+ * connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.h:
+ * connectors/dds4ccm/tests/CSLDeadline/Sender:
+ * connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.idl:
+ * connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.mpc:
+ * connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.cpp:
+ * connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.h:
+ Test ConnectorStatusListener on_offered_deadline_missed.
+
+ * connectors/dds4ccm/tests/CSLQoS:
+ * connectors/dds4ccm/tests/CSLQoS/Base:
+ * connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.idl:
+ * connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.mpc:
+ * connectors/dds4ccm/tests/CSLQoS/Connector:
+ * connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.idl:
+ * connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.mpc:
+ * connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.cpp:
+ * connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.h:
+ * connectors/dds4ccm/tests/CSLQoS/descriptors:
+ * connectors/dds4ccm/tests/CSLQoS/descriptors/Plan.cdp:
+ * connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/CSLQoS/descriptors/USER_QOS_PROFILES.xml:
+ * connectors/dds4ccm/tests/CSLQoS/Receiver:
+ * connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.idl:
+ * connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.mpc:
+ * connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.cpp:
+ * connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.h:
+ * connectors/dds4ccm/tests/CSLQoS/Sender:
+ * connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.idl:
+ * connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.mpc:
+ * connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.cpp:
+ * connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.h:
+ Test ConnectorStatusListener on_requested- and on_offered_incompatible_QoS.
+
Mon Nov 30 09:21:37 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
* ciao/ComponentServer/CIAO_ServerActivator_Impl.h:
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.idl b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.idl
new file mode 100644
index 00000000000..9bf58ce75b3
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.idl
@@ -0,0 +1,18 @@
+// $Id$
+
+/**
+ * @file CSL_DeadlineTest_Base.idl
+ * @author Marijke Hengstmengel <mhengstmengel@remedy.nl>
+ */
+
+#ifndef CSL_DEADLINETEST_BASE_IDL
+#define CSL_DEADLINETEST_BASE_IDL
+
+
+ struct TestTopic {
+ string key; //@key
+ long x;
+ };
+typedef sequence<TestTopic> TestTopic_Seq;
+
+#endif
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.mpc b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.mpc
new file mode 100644
index 00000000000..2f4a549d1ae
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Base/CSL_DeadlineTest_Base.mpc
@@ -0,0 +1,77 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -o ../lib -u DDS -n CSL_DeadlineTest_Base"
+
+project(DDS_CSL_DeadlineTest_Base_idl_gen) : taoidldefaults, anytypecode {
+ custom_only = 1
+ idlflags -= -St -Sa
+ idlflags += -SS -Gxhst \
+ -Wb,stub_export_macro=CSL_DEADLINETEST_BASE_STUB_Export \
+ -Wb,stub_export_include=CSL_DeadlineTest_Base_stub_export.h
+
+ IDL_Files {
+ CSL_DeadlineTest_Base.idl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Base_ndds_ts_gen) : ndds_ts_defaults {
+ custom_only = 1
+ after += DDS_CSL_DeadlineTest_Base_idl_gen
+ ndds_ts_flags += -corba CSL_DeadlineTest_BaseC.h -orb ACE_TAO1.7
+
+ NDDSTypeSupport_Files {
+ CSL_DeadlineTest_Base.idl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Base_NDDS_TS) : nddslib, taolib {
+ after += DDS_CSL_DeadlineTest_Base_ndds_ts_gen DDS_CSL_DeadlineTest_Base_stub
+ libs += DDS_CSL_DeadlineTest_Base_stub
+ libout = ../lib
+ libpaths += ../lib
+ sharedname = DDS_CSL_DeadlineTest_Base_NDDS_TS
+ dynamicflags = NDDS_USER_DLL_EXPORT
+
+ verbatim(gnuace, macros) {
+ override no_hidden_visibility = 1
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_Base.cxx
+ CSL_DeadlineTest_BasePlugin.cxx
+ CSL_DeadlineTest_BaseSupport.cxx
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_Base.h
+ CSL_DeadlineTest_BasePlugin.h
+ CSL_DeadlineTest_BaseSupport.h
+ }
+
+ Inline_Files {
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Base_stub) : ccm_stub {
+ after += DDS_CSL_DeadlineTest_Base_idl_gen
+ libout = ../lib
+ libpaths += ../lib
+ sharedname = DDS_CSL_DeadlineTest_Base_stub
+ dynamicflags = CSL_DEADLINETEST_BASE_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_BaseC.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_BaseC.h
+ CSL_DeadlineTest_Base_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_DeadlineTest_BaseC.inl
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.idl b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.idl
new file mode 100644
index 00000000000..d82e794b7f0
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.idl
@@ -0,0 +1,29 @@
+// $Id$
+
+/**
+ * @file CSL_DeadlineTest_Connector.idl
+ * @author Marijke Hengstmengel <mhengstmengel@remedy.nl>
+ *
+ * by-hand translation of the idl3p.
+ */
+
+#ifndef CSL_DeadlineTest_CONNECTOR_IDL_
+#define CSL_DeadlineTest_CONNECTOR_IDL_
+
+#include <Components.idl>
+#include "Base/CSL_DeadlineTest_Base.idl"
+#include "connectors/dds4ccm/idl/ccm_dds.idl"
+
+TYPED_MODULE( ::TestTopic, ::TestTopic_Seq, TestTopic)
+
+module CSL_DeadlineTest
+{
+ connector CSL_DeadlineTest_Connector : ::CCM_DDS::TestTopic::DDS_Event
+ {
+ };
+
+};
+
+
+
+#endif /* CSL_DeadlineTest_CONNECTOR_IDL_ */
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.mpc b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.mpc
new file mode 100644
index 00000000000..3096cfeec95
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector.mpc
@@ -0,0 +1,145 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p DDS_CSL_DeadlineTest_Base -l .. -o ../lib -u DDS CSL_DeadlineTest_Connector"
+
+project(DDS_CSL_DeadlineTest_Connector_idl_gen) : connectoridldefaults {
+ after += DDS4CCM_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=CSL_DEADLINETEST_CONNECTOR_STUB_Export \
+ -Wb,stub_export_include=CSL_DeadlineTest_Connector_stub_export.h \
+ -Wb,skel_export_macro=CSL_DEADLINETEST_CONNECTOR_SVNT_Export \
+ -Wb,skel_export_include=CSL_DeadlineTest_Connector_svnt_export.h \
+ -Wb,svnt_export_macro=CSL_DEADLINETEST_CONNECTOR_SVNT_Export \
+ -Wb,svnt_export_include=CSL_DeadlineTest_Connector_svnt_export.h \
+ -Wb,exec_export_macro=CSL_DEADLINETEST_CONNECTOR_EXEC_Export \
+ -Wb,exec_export_include=CSL_DeadlineTest_Connector_exec_export.h \
+ -I ..
+
+ IDL_Files {
+ CSL_DeadlineTest_Connector.idl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Connector_lem_gen) : ciaoidldefaults {
+ custom_only = 1
+ after += DDS_CSL_DeadlineTest_Connector_idl_gen
+ idlflags += -Wb,stub_export_macro=CSL_DEADLINETEST_CONNECTOR_LEM_STUB_Export \
+ -Wb,stub_export_include=CSL_DeadlineTest_Connector_lem_stub_export.h \
+ -SS -Gxhst \
+ -I .. -I $(CIAO_ROOT)/connectors -I$(CIAO_ROOT)/connectors/dds4ccm/idl
+
+ IDL_Files {
+ CSL_DeadlineTest_ConnectorE.idl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Connector_lem_stub) : ccm_svnt, dds4ccm_base {
+ after += DDS_CSL_DeadlineTest_Connector_lem_gen DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Base_stub DDS4CCM_lem_stub
+ libs += DDS_CSL_DeadlineTest_Base_stub DDS_CSL_DeadlineTest_Connector_stub DDS4CCM_lem_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = DDS_CSL_DeadlineTest_Connector_lem_stub
+ dynamicflags = CSL_DEADLINETEST_CONNECTOR_LEM_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_ConnectorEC.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_ConnectorEC.h
+ CSL_DeadlineTest_Connector_lem_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_DeadlineTest_ConnectorEC.inl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Connector_stub) : ccm_stub, dds4ccm_base {
+ after += DDS_CSL_DeadlineTest_Connector_idl_gen DDS_CSL_DeadlineTest_Base_stub
+ libs += DDS_CSL_DeadlineTest_Base_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = DDS_CSL_DeadlineTest_Connector_stub
+ dynamicflags = CSL_DEADLINETEST_CONNECTOR_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_ConnectorC.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_ConnectorC.h
+ CSL_DeadlineTest_Connector_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_DeadlineTest_ConnectorC.inl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Connector_exec) : ciao_executor, dds4ccm_skel, nddslib {
+ after += DDS_CSL_DeadlineTest_Connector_lem_stub DDS_CSL_DeadlineTest_Connector_stub DDS4CCM_lem_stub CIAO_DDS4CCM_NDDS_Impl DDS_CSL_DeadlineTest_Base_NDDS_TS
+ sharedname = DDS_CSL_DeadlineTest_Connector_exec
+ libs += DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Connector_lem_stub DDS_CSL_DeadlineTest_Base_stub CIAO_DDS4CCM_NDDS_Impl DDS4CCM_lem_stub DDS_CSL_DeadlineTest_Base_NDDS_TS
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags = CSL_DEADLINETEST_CONNECTOR_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_Connector_exec.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_Connector_exec.h
+ CSL_DeadlineTest_Connector_exec_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
+
+project(DDS_CSL_DeadlineTest_Connector_svnt) : ciao_servant, dds4ccm_skel, nddslib {
+ after += DDS_CSL_DeadlineTest_Connector_lem_stub DDS_CSL_DeadlineTest_Connector_exec DDS_CSL_DeadlineTest_Connector_stub DDS4CCM_lem_stub
+ sharedname = DDS_CSL_DeadlineTest_Connector_svnt
+ libs += DDS_CSL_DeadlineTest_Connector_stub \
+ DDS_CSL_DeadlineTest_Connector_lem_stub \
+ DDS_CSL_DeadlineTest_Base_stub \
+ DDS_CSL_DeadlineTest_Connector_exec \
+ DDS4CCM_lem_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags = CSL_DEADLINETEST_CONNECTOR_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_ConnectorS.cpp
+ CSL_DeadlineTest_Connector_svnt.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_ConnectorS.h
+ CSL_DeadlineTest_Connector_svnt.h
+ CSL_DeadlineTest_Connector_svnt_export.h
+ }
+
+ Inline_Files {
+ CSL_DeadlineTest_ConnectorS.inl
+ }
+}
+
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.cpp b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.cpp
new file mode 100644
index 00000000000..d9083fbe194
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.cpp
@@ -0,0 +1,30 @@
+// -*- C++ -*-
+// $Id$
+
+#include "CSL_DeadlineTest_Connector_exec.h"
+
+namespace CIAO_CSL_DeadlineTest_CSL_DeadlineTest_Connector_Impl
+{
+ CSL_DeadlineTest_Connector_exec_i::CSL_DeadlineTest_Connector_exec_i (const char * topic_name)
+ : DDS_Event_Connector_T<TestTopic_DDS_Traits, TestTopic_Connector_Traits> ()
+ {
+ }
+
+ CSL_DeadlineTest_Connector_exec_i::~CSL_DeadlineTest_Connector_exec_i (void)
+ {
+ }
+
+ extern "C" CSL_DEADLINETEST_CONNECTOR_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_DeadlineTest_CSL_DeadlineTest_Connector_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ CSL_DeadlineTest_Connector_exec_i ("Square")); //should be set by dep. plan.
+
+ return retval;
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.h b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.h
new file mode 100644
index 00000000000..02c52a9d01c
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Connector/CSL_DeadlineTest_Connector_exec.h
@@ -0,0 +1,62 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef CSL_DEADLINETEST_CONNECTOR_EXEC_H_
+#define CSL_DEADLINETEST_CONNECTOR_EXEC_H_
+
+#include /**/ "ace/pre.h"
+
+#include "CSL_DeadlineTest_ConnectorEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include /**/ "CSL_DeadlineTest_Connector_exec_export.h"
+#include "tao/LocalObject.h"
+
+#include "dds4ccm/impl/ndds/DDS4CCM_Traits.h"
+#include "dds4ccm/impl/ndds/DDS_Event_Connector_T.h"
+
+
+#include "Base/CSL_DeadlineTest_BaseSupport.h"
+
+namespace CIAO_CSL_DeadlineTest_CSL_DeadlineTest_Connector_Impl
+{
+
+ // @from use of CSL_DeadlineTest as a parameter
+ typedef CIAO::DDS4CCM::RTI::Type_Traits <
+ TestTopic,
+ TestTopicSeq,
+ TestTopicTypeSupport,
+ TestTopicDataWriter,
+ TestTopicDataReader > TestTopic_DDS_Traits;
+
+ typedef CIAO::DDS4CCM::Connector_Traits <
+ ::CIAO_CSL_DeadlineTest_CSL_DeadlineTest_Connector_Impl::CSL_DeadlineTest_Connector_Exec,
+ TestTopic_Seq,
+ ::CCM_DDS::TestTopic::CCM_Writer,
+ ::CCM_DDS::TestTopic::CCM_Updater,
+ ::CCM_DDS::TestTopic::CCM_Getter,
+ ::CCM_DDS::TestTopic::CCM_Reader,
+ ::CSL_DeadlineTest::CCM_CSL_DeadlineTest_Connector_Context,
+ ::CCM_DDS::TestTopic::Listener,
+ ::CCM_DDS::TestTopic::StateListener,
+ ::CCM_DDS::ConnectorStatusListener> TestTopic_Connector_Traits;
+
+ class CSL_DEADLINETEST_CONNECTOR_EXEC_Export CSL_DeadlineTest_Connector_exec_i :
+ public DDS_Event_Connector_T <TestTopic_DDS_Traits, TestTopic_Connector_Traits>
+ {
+ public:
+ CSL_DeadlineTest_Connector_exec_i (const char * topic_name);
+ virtual ~CSL_DeadlineTest_Connector_exec_i (void);
+ };
+
+ extern "C" CSL_DEADLINETEST_CONNECTOR_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_DeadlineTest_CSL_DeadlineTest_Connector_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.idl b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.idl
new file mode 100644
index 00000000000..3ebb428bb02
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.idl
@@ -0,0 +1,25 @@
+// $Id$
+
+/**
+ * @file
+ * @author Marijke Hengstmengel <mhengstmengel@remedy.nl>
+ */
+
+#ifndef RECEIVER_IDL
+#define RECEIVER_IDL
+
+#include "Connector/CSL_DeadlineTest_Connector.idl"
+#include "Connector/CSL_DeadlineTest_ConnectorE.idl"
+
+
+module CSL_DeadlineTest
+{
+ component Receiver
+ {
+ port CCM_DDS::TestTopic::DDS_Listen info_out;
+ provides CCM_DDS::ConnectorStatusListener info_out_connector_status;
+ };
+};
+
+
+#endif
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.mpc b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.mpc
new file mode 100644
index 00000000000..bc82978028f
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver.mpc
@@ -0,0 +1,138 @@
+// $Id$
+
+project(DDS_CSL_DeadlineTest_Receiver_idl_gen) : componentidldefaults {
+ custom_only = 1
+ after += DDS_CSL_DeadlineTest_Connector_idl_gen
+ idlflags += -Wb,stub_export_macro=RECEIVER_STUB_Export \
+ -Wb,stub_export_include=Receiver_stub_export.h \
+ -Wb,skel_export_macro=RECEIVER_SVNT_Export \
+ -Wb,skel_export_include=Receiver_svnt_export.h \
+ -Wb,svnt_export_macro=RECEIVER_SVNT_Export \
+ -Wb,svnt_export_include=Receiver_svnt_export.h \
+ -Wb,exec_export_macro=RECEIVER_EXEC_Export \
+ -Wb,exec_export_include=Receiver_exec_export.h -I..
+
+ IDL_Files {
+ CSL_DeadlineTest_Receiver.idl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Receiver_lem_gen) : ciaoidldefaults {
+ after += DDS_CSL_DeadlineTest_Receiver_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=RECEIVER_LEM_STUB_Export \
+ -Wb,stub_export_include=Receiver_lem_stub_export.h \
+ -SS -Gxhst -I..
+
+ IDL_Files {
+ CSL_DeadlineTest_ReceiverE.idl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Receiver_lem_stub) : ccm_svnt, dds4ccm_base {
+ after += DDS_CSL_DeadlineTest_Receiver_lem_gen DDS_CSL_DeadlineTest_Receiver_stub DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Base_stub
+ libs += Receiver_stub DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Base_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = Receiver_lem_stub
+ dynamicflags = RECEIVER_LEM_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_ReceiverEC.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_ReceiverEC.h
+ Receiver_lem_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_DeadlineTest_ReceiverEC.inl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Receiver_stub) : ccm_stub, dds4ccm_base {
+ after += DDS_CSL_DeadlineTest_Receiver_idl_gen DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Base_stub DDS_CSL_DeadlineTest_Connector_lem_gen
+ libs += DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Base_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = Receiver_stub
+ dynamicflags = RECEIVER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_ReceiverC.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_ReceiverC.h
+ Receiver_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_DeadlineTest_ReceiverC.inl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Receiver_exec) : ciao_executor, dds4ccm_base {
+ after += DDS_CSL_DeadlineTest_Receiver_lem_stub DDS_CSL_DeadlineTest_Receiver_stub DDS_CSL_DeadlineTest_Base_stub DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Connector_lem_stub DDS4CCM_lem_stub
+ sharedname = Receiver_exec
+ libs += Receiver_stub Receiver_lem_stub DDS_CSL_DeadlineTest_Base_stub DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Connector_lem_stub DDS4CCM_lem_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags = RECEIVER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_Receiver_exec.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_Receiver_exec.h
+ Receiver_exec_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
+
+project(DDS_CSL_DeadlineTest_Receiver_svnt) : ciao_servant, dds4ccm_base, nddslib {
+ after += DDS_CSL_DeadlineTest_Receiver_lem_stub DDS_CSL_DeadlineTest_Base_stub DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Connector_svnt DDS_CSL_DeadlineTest_Receiver_exec DDS_CSL_DeadlineTest_Connector_lem_stub DDS4CCM_lem_stub DDS4CCM_skel
+ sharedname = Receiver_svnt
+ libs += Receiver_stub Receiver_lem_stub DDS_CSL_DeadlineTest_Base_stub DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Connector_svnt Receiver_exec DDS_CSL_DeadlineTest_Connector_lem_stub DDS4CCM_lem_stub DDS4CCM_skel
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags = RECEIVER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_ReceiverS.cpp
+ CSL_DeadlineTest_Receiver_svnt.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_ReceiverS.h
+ CSL_DeadlineTest_Receiver_svnt.h
+ Receiver_svnt_export.h
+ }
+
+ Inline_Files {
+ CSL_DeadlineTest_ReceiverS.inl
+ }
+}
+
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.cpp
new file mode 100644
index 00000000000..3876a669ea7
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.cpp
@@ -0,0 +1,241 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "CSL_DeadlineTest_Receiver_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "tao/ORB_Core.h"
+
+namespace CIAO_CSL_DeadlineTest_Receiver_Impl
+{
+
+
+//============================================================
+ // Facet Executor Implementation Class: ConnectorStatusListener_exec_i
+ //============================================================
+
+ ConnectorStatusListener_exec_i::ConnectorStatusListener_exec_i (Atomic_Boolean &incompatible)
+ : incompatible_ (incompatible)
+ {
+ }
+
+ ConnectorStatusListener_exec_i::~ConnectorStatusListener_exec_i (void)
+ {
+
+ }
+
+ // Operations from ::CCM_DDS::ConnectorStatusListener
+ void ConnectorStatusListener_exec_i::on_inconsistent_topic(
+ ::DDS::Topic_ptr /*the_topic*/,
+ const DDS::InconsistentTopicStatus & /*status*/){
+ // printf("Receiver: ConnectorStatusListener_exec_i::on_incompatible_topic\n");
+ }
+ void ConnectorStatusListener_exec_i::on_requested_incompatible_qos(
+ ::DDS::DataReader_ptr the_reader,
+ const DDS::RequestedIncompatibleQosStatus & /*status*/) {
+ //printf("ConnectorStatusListener_exec_i::on_requested_incompatible_qos, status = %dl\n",status);
+ }
+ void ConnectorStatusListener_exec_i::on_sample_rejected(
+ ::DDS::DataReader_ptr /*the_reader*/,
+ const DDS::SampleRejectedStatus & /*status*/) {
+ //printf("ConnectorStatusListener_exec_i::on_sample_rejected\n");
+ }
+ void ConnectorStatusListener_exec_i::on_offered_deadline_missed(
+ ::DDS::DataWriter_ptr /*the_writer*/,
+ const DDS::OfferedDeadlineMissedStatus & /*status*/) {
+ this->incompatible_ = true;
+ //printf("Receiver: ConnectorStatusListener_exec_i::on_offered_deadline_missed\n");
+ }
+ void ConnectorStatusListener_exec_i::on_offered_incompatible_qos(
+ ::DDS::DataWriter_ptr /*the_writer*/,
+ const DDS::OfferedIncompatibleQosStatus & /*status*/) {
+ //printf("Receiver: ConnectorStatusListener_exec_i::on_offered_incompatible_qos\n");
+ }
+ void ConnectorStatusListener_exec_i::on_unexpected_status(
+ ::DDS::Entity_ptr /*the_entity*/,
+ ::DDS::StatusKind /*status_kind*/) {
+ // CORBA::ULong kind = status_kind;
+ // printf("Receiver :ConnectorStatusListener_exec_i::on_unexpected_status #### status_kind = %ld \n", kind);
+
+ }
+
+
+ //============================================================
+ // Facet Executor Implementation Class: TestTopic_RawListener_exec_i
+ //============================================================
+
+ TestTopic_RawListener_exec_i::TestTopic_RawListener_exec_i (Atomic_ULong &received)
+ : received_ (received)
+ {
+ }
+
+ TestTopic_RawListener_exec_i::~TestTopic_RawListener_exec_i (void)
+ {
+ }
+
+ // Operations from ::CCM_DDS::TestTopic_RawListener
+
+ void
+ TestTopic_RawListener_exec_i::on_one_data (
+ const TestTopic & an_instance ,
+ const ::CCM_DDS::ReadInfo & /* info */)
+ {
+ ++this->received_;
+ //printf(" receive data ============= %d\n",this->received_);
+ CIAO_DEBUG ((LM_DEBUG, ACE_TEXT ("TestTopic_RawListener: ")
+ ACE_TEXT ("received test_topic_info for <%C> at %u\n"),
+ an_instance.key.in (),
+ an_instance.x));
+ }
+
+
+ void
+ TestTopic_RawListener_exec_i::on_many_data (
+ const TestTopic_Seq & /*an_instance */,
+ const ::CCM_DDS::ReadInfoSeq & /* info */)
+ {
+ //printf(" receive data ============= %d\n",this->received_);
+ }
+ //============================================================
+ // Facet Executor Implementation Class: PortStatusListener_exec_i
+ //============================================================
+
+ PortStatusListener_exec_i::PortStatusListener_exec_i (void)
+ {
+ }
+
+ PortStatusListener_exec_i::~PortStatusListener_exec_i (void)
+ {
+ }
+
+ // Operations from ::CCM_DDS::PortStatusListener
+
+ void
+ PortStatusListener_exec_i::on_requested_deadline_missed (
+ ::DDS::DataReader_ptr /* the_reader */,
+ const ::DDS::RequestedDeadlineMissedStatus & /* status */)
+ {
+ /* Your code here. */
+ }
+
+ void
+ PortStatusListener_exec_i::on_sample_lost (
+ ::DDS::DataReader_ptr /* the_reader */,
+ const ::DDS::SampleLostStatus & /* status */)
+ {
+
+ }
+
+ //============================================================
+ // Component Executor Implementation Class: Receiver_exec_iTestTopic_RawListener_exec_i ();
+ //============================================================
+
+ Receiver_exec_i::Receiver_exec_i (void)
+ : incompatible_ (false)
+ {
+ }
+
+ Receiver_exec_i::~Receiver_exec_i (void)
+ {
+ }
+
+ // Supported operations and attributes.
+ // Component attributes.
+ // Port operations.
+ ::CCM_DDS::TestTopic::CCM_Listener_ptr
+ Receiver_exec_i::get_info_out_data_listener (void)
+ {
+ CIAO_DEBUG ((LM_DEBUG, ACE_TEXT ("new TestTopic RAW listener\n")));
+ return new TestTopic_RawListener_exec_i (this->received_);
+ }
+
+
+ ::CCM_DDS::CCM_PortStatusListener_ptr
+ Receiver_exec_i::get_info_out_status (void)
+ {
+ CIAO_DEBUG ((LM_DEBUG, ACE_TEXT ("new PortStatuslistener\n")));
+ return new PortStatusListener_exec_i ();
+ }
+
+ ::CCM_DDS::CCM_ConnectorStatusListener_ptr
+ Receiver_exec_i::get_info_out_connector_status (void)
+ {
+ return new ConnectorStatusListener_exec_i (this->incompatible_);
+ }
+
+ // Operations from Components::SessionComponent.
+ void
+ Receiver_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ this->context_ =
+ ::CSL_DeadlineTest::CCM_Receiver_Context::_narrow (ctx);
+ if ( ::CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ Receiver_exec_i::configuration_complete (void)
+ {
+
+ }
+
+ void
+ Receiver_exec_i::ccm_activate (void)
+ {
+ ::CCM_DDS::DataListenerControl_var lc =
+ this->context_->get_connection_info_out_data_control ();
+
+
+ if (CORBA::is_nil (lc.in ()))
+ {
+ CIAO_ERROR ((LM_INFO, ACE_TEXT ("Error: Listener control receptacle is null!\n")));
+ throw CORBA::INTERNAL ();
+ }
+ lc->mode (::CCM_DDS::ONE_BY_ONE);
+
+
+ }
+
+ void
+ Receiver_exec_i::ccm_passivate (void)
+ {
+ }
+
+ void
+ Receiver_exec_i::ccm_remove (void)
+ {
+ if(this->incompatible_.value ())
+ {
+
+ CIAO_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: did receive the unexpected ")
+ ACE_TEXT (" error 'on_offered_deadline_missed' in Receiver")
+ ));
+ }
+
+ else
+ {
+ CIAO_DEBUG ((LM_DEBUG, ACE_TEXT ("OK : Haven't received the un-expected ")
+ ACE_TEXT ("'on_offered_deadline_missed' in Receiver\n")
+ ));
+ }
+
+
+ }
+
+ extern "C" RECEIVER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_DeadlineTest_Receiver_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ Receiver_exec_i);
+
+ return retval;
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.h
new file mode 100644
index 00000000000..17ebc446cdd
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Receiver/CSL_DeadlineTest_Receiver_exec.h
@@ -0,0 +1,148 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef CIAO_RECEIVER_EXEC_H_
+#define CIAO_RECEIVER_EXEC_H_
+
+#include "CSL_DeadlineTest_ReceiverEC.h"
+
+#include /**/ "Receiver_exec_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/LocalObject.h"
+#include "ace/Task.h"
+#include "ace/Reactor.h"
+
+namespace CIAO_CSL_DeadlineTest_Receiver_Impl
+{
+ typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, CORBA::ULong > Atomic_ULong;
+ typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, CORBA::Boolean > Atomic_Boolean;
+
+
+ class Receiver_exec_i;
+
+ class RECEIVER_EXEC_Export TestTopic_RawListener_exec_i
+ : public virtual ::CCM_DDS::TestTopic::CCM_Listener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ TestTopic_RawListener_exec_i (Atomic_ULong &);
+ virtual ~TestTopic_RawListener_exec_i (void);
+
+
+ virtual void
+ on_one_data (
+ const TestTopic & an_instance,
+ const ::CCM_DDS::ReadInfo & info);
+
+
+ virtual void
+ on_many_data (
+ const ::TestTopic_Seq & data,
+ const ::CCM_DDS::ReadInfoSeq & info );
+
+ private:
+ Atomic_ULong &received_;
+ };
+
+
+class RECEIVER_EXEC_Export ConnectorStatusListener_exec_i
+ : public virtual ::CCM_DDS::CCM_ConnectorStatusListener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ ConnectorStatusListener_exec_i (Atomic_Boolean &);
+ virtual ~ConnectorStatusListener_exec_i (void);
+
+ virtual
+ void on_inconsistent_topic( ::DDS::Topic_ptr the_topic,
+ const DDS::InconsistentTopicStatus & status);
+ virtual
+ void on_requested_incompatible_qos( ::DDS::DataReader_ptr the_reader,
+ const DDS::RequestedIncompatibleQosStatus & status);
+ virtual
+ void on_sample_rejected( ::DDS::DataReader_ptr the_reader,
+ const DDS::SampleRejectedStatus & status);
+ virtual
+ void on_offered_deadline_missed( ::DDS::DataWriter_ptr the_writer,
+ const DDS::OfferedDeadlineMissedStatus & status);
+ virtual
+ void on_offered_incompatible_qos( ::DDS::DataWriter_ptr the_writer,
+ const DDS::OfferedIncompatibleQosStatus & status);
+ virtual
+ void on_unexpected_status( ::DDS::Entity_ptr the_entity,
+ ::DDS::StatusKind status_kind);
+ private:
+ Atomic_Boolean &incompatible_;
+
+ };
+
+class RECEIVER_EXEC_Export PortStatusListener_exec_i
+ : public virtual ::CCM_DDS::CCM_PortStatusListener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ PortStatusListener_exec_i (void);
+ virtual ~PortStatusListener_exec_i (void);
+
+ virtual void
+ on_requested_deadline_missed (
+ ::DDS::DataReader_ptr the_reader,
+ const ::DDS::RequestedDeadlineMissedStatus & status);
+
+ virtual void
+ on_sample_lost (
+ ::DDS::DataReader_ptr the_reader,
+ const ::DDS::SampleLostStatus & status);
+ };
+
+ class RECEIVER_EXEC_Export Receiver_exec_i
+ : public virtual Receiver_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ Receiver_exec_i (void);
+ virtual ~Receiver_exec_i (void);
+
+ // virtual ::CORBA::Boolean raw_listen (void);
+
+ // virtual void raw_listen (::CORBA::Boolean raw_listen);
+
+ // Port operations.
+ virtual ::CCM_DDS::TestTopic::CCM_Listener_ptr
+ get_info_out_data_listener (void);
+
+ virtual ::CCM_DDS::CCM_PortStatusListener_ptr
+ get_info_out_status (void);
+
+ virtual ::CCM_DDS::CCM_ConnectorStatusListener_ptr
+ get_info_out_connector_status (void);
+
+
+ // Operations from Components::SessionComponent.
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete (void);
+
+ virtual void ccm_activate (void);
+ virtual void ccm_passivate (void);
+ virtual void ccm_remove (void);
+
+ private:
+ ::CSL_DeadlineTest::CCM_Receiver_Context_var context_;
+// CORBA::Boolean raw_listen_;
+ Atomic_ULong received_;
+ Atomic_Boolean incompatible_;
+ };
+
+ extern "C" RECEIVER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_DeadlineTest_Receiver_Impl (void);
+}
+
+#endif /* ifndef */
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.idl b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.idl
new file mode 100644
index 00000000000..bee179643c0
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.idl
@@ -0,0 +1,27 @@
+// $Id$
+
+/**
+ * @file
+ * @author Marijke Hengstmengel <mhengstmengel@remedy.nl>
+ *
+ * by-hand idl3 translation of sender components.
+ */
+
+#ifndef DDS_CSL_DEADLINETEST_SENDER_IDL
+#define DDS_CSL_DEADLINETEST_SENDER_IDL
+
+#include "Connector/CSL_DeadlineTest_Connector.idl"
+#include "Connector/CSL_DeadlineTest_ConnectorE.idl"
+
+
+
+module CSL_DeadlineTest
+{
+ component Sender
+ {
+ port CCM_DDS::TestTopic::DDS_Write test_topic_write;
+ provides CCM_DDS::ConnectorStatusListener test_topic_connector_status;
+
+ };
+};
+#endif
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.mpc b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.mpc
new file mode 100644
index 00000000000..06157d206ca
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender.mpc
@@ -0,0 +1,140 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p DDS_CSL_DeadlineTest_Base -l ../lib -o ../lib -c controller -u DDS Sender"
+
+project(DDS_CSL_DeadlineTest_Sender_idl_gen) : componentidldefaults {
+ after += DDS_CSL_DeadlineTest_Connector_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SENDER_STUB_Export \
+ -Wb,stub_export_include=Sender_stub_export.h \
+ -Wb,skel_export_macro=SENDER_SVNT_Export \
+ -Wb,skel_export_include=Sender_svnt_export.h \
+ -Wb,svnt_export_macro=SENDER_SVNT_Export \
+ -Wb,svnt_export_include=Sender_svnt_export.h \
+ -Wb,exec_export_macro=SENDER_EXEC_Export \
+ -Wb,exec_export_include=Sender_exec_export.h \
+ -I ..
+
+ IDL_Files {
+ CSL_DeadlineTest_Sender.idl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Sender_lem_gen) : ciaoidldefaults {
+ after += DDS_CSL_DeadlineTest_Sender_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SENDER_LEM_STUB_Export \
+ -Wb,stub_export_include=Sender_lem_stub_export.h \
+ -SS -Gxhst -I $CIAO_ROOT/connectors -I ..
+
+ IDL_Files {
+ CSL_DeadlineTest_SenderE.idl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Sender_lem_stub) : ccm_svnt, dds4ccm_base {
+ after += DDS_CSL_DeadlineTest_Sender_lem_gen DDS_CSL_DeadlineTest_Sender_stub DDS_CSL_DeadlineTest_Base_stub
+ libs += DDS_CSL_DeadlineTest_Base_stub Sender_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = Sender_lem_stub
+ dynamicflags = SENDER_LEM_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_SenderEC.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_SenderEC.h
+ Sender_lem_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_DeadlineTest_SenderEC.inl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Sender_stub) : ccm_stub, dds4ccm_base {
+ after += DDS_CSL_DeadlineTest_Sender_idl_gen DDS_CSL_DeadlineTest_Base_stub DDS_CSL_DeadlineTest_Connector_stub
+ libs += DDS_CSL_DeadlineTest_Base_stub DDS_CSL_DeadlineTest_Connector_stub
+ includes += ..
+ libpaths += ../lib
+ libout = ../lib
+ sharedname = Sender_stub
+ dynamicflags = SENDER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_SenderC.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_SenderC.h
+ Sender_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_DeadlineTest_SenderC.inl
+ }
+}
+
+project(DDS_CSL_DeadlineTest_Sender_exec) : ciao_executor, dds4ccm_base {
+ after += DDS_CSL_DeadlineTest_Sender_lem_stub DDS_CSL_DeadlineTest_Sender_stub DDS_CSL_DeadlineTest_Connector_lem_stub DDS_CSL_DeadlineTest_Connector_stub DDS4CCM_lem_stub
+ sharedname = Sender_exec
+ libs += Sender_stub Sender_lem_stub DDS_CSL_DeadlineTest_Base_stub DDS_CSL_DeadlineTest_Connector_lem_stub DDS_CSL_DeadlineTest_Connector_stub DDS4CCM_lem_stub
+ libpaths += ../lib
+ includes += ..
+ libout = ../lib
+ dynamicflags = SENDER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_Sender_exec.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_Sender_exec.h
+ Sender_exec_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
+
+project(DDS_CSL_DeadlineTest_Sender_svnt) : ciao_servant, dds4ccm_base, nddslib {
+ after += DDS_CSL_DeadlineTest_Base_stub DDS_CSL_DeadlineTest_Sender_lem_stub DDS4CCM_lem_stub DDS4CCM_skel DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Connector_svnt DDS_CSL_DeadlineTest_Connector_lem_stub
+ sharedname = Sender_svnt
+ libs += Sender_stub Sender_lem_stub \
+ DDS_CSL_DeadlineTest_Base_stub DDS4CCM_lem_stub DDS4CCM_skel DDS_CSL_DeadlineTest_Connector_stub DDS_CSL_DeadlineTest_Connector_svnt DDS_CSL_DeadlineTest_Connector_lem_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags = SENDER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_DeadlineTest_SenderS.cpp
+ CSL_DeadlineTest_Sender_svnt.cpp
+ }
+
+ Header_Files {
+ CSL_DeadlineTest_SenderS.h
+ CSL_DeadlineTest_Sender_svnt.h
+ Sender_svnt_export.h
+ }
+
+ Inline_Files {
+ CSL_DeadlineTest_SenderS.inl
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.cpp
new file mode 100644
index 00000000000..d5e739d0882
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.cpp
@@ -0,0 +1,187 @@
+// -*- C++ -*-
+// $Id$
+
+
+// Test for OFFERED_DEADLINE_MISSED status : Writer failed to write data within the deadline time period set in the profile.
+
+#include "CSL_DeadlineTest_Sender_exec.h"
+#include "ace/Guard_T.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "tao/ORB_Core.h"
+#include "ace/Reactor.h"
+
+namespace CIAO_CSL_DeadlineTest_Sender_Impl
+{
+
+ //============================================================
+ // Facet Executor Implementation Class: ConnectorStatusListener_exec_i
+ //============================================================
+
+ ConnectorStatusListener_exec_i::ConnectorStatusListener_exec_i (Atomic_Boolean &deadline_missed)
+ : deadline_missed_ (deadline_missed)
+ {
+ }
+
+ ConnectorStatusListener_exec_i::~ConnectorStatusListener_exec_i (void)
+ {
+
+ }
+
+ // Operations from ::CCM_DDS::ConnectorStatusListener
+ void ConnectorStatusListener_exec_i::on_inconsistent_topic(
+ ::DDS::Topic_ptr /*the_topic*/,
+ const DDS::InconsistentTopicStatus & /*status*/){
+ //printf("Sender : ConnectorStatusListener_exec_i::on_inconsistent_topic\n");
+ }
+ void ConnectorStatusListener_exec_i::on_requested_incompatible_qos(
+ ::DDS::DataReader_ptr /*the_reader*/,
+ const DDS::RequestedIncompatibleQosStatus & /*status*/) {
+ //printf("Sender:ConnectorStatusListener_exec_i::on_requested_incompatible_qos, status = %dl\n", status);
+ }
+ void ConnectorStatusListener_exec_i::on_sample_rejected(
+ ::DDS::DataReader_ptr /*the_reader*/,
+ const DDS::SampleRejectedStatus & /*status*/) {
+ //printf("ConnectorStatusListener_exec_i::on_sample_rejected\n");
+ }
+ void ConnectorStatusListener_exec_i::on_offered_deadline_missed(
+ ::DDS::DataWriter_ptr /*the_writer*/,
+ const DDS::OfferedDeadlineMissedStatus & /*status*/) {
+ //printf("ConnectorStatusListener_exec_i::on_offered_deadline_missed\n");
+ this->deadline_missed_ = true;
+ }
+ void ConnectorStatusListener_exec_i::on_offered_incompatible_qos(
+ ::DDS::DataWriter_ptr the_writer,
+ const DDS::OfferedIncompatibleQosStatus & /*status*/) {
+ //printf("Sender:ConnectorStatusListener_exec_i::on_offered_incompatible_qos status = %dl\n", status);
+
+ }
+ void ConnectorStatusListener_exec_i::on_unexpected_status(
+ ::DDS::Entity_ptr /*the_entity*/,
+ ::DDS::StatusKind /*status_kind*/) {
+ //CORBA::ULong kind = status_kind;
+ //printf("Sender :ConnectorStatusListener_exec_i::on_unexpected_status #### status_kind = %d \n", kind);
+ }
+ //============================================================
+ // Component Executor Implementation Class: Sender_exec_i
+ //============================================================
+
+ Sender_exec_i::Sender_exec_i (void)
+ : deadline_missed_ (false)
+ {
+ }
+
+ Sender_exec_i::~Sender_exec_i (void)
+ {
+ }
+
+ ::CCM_DDS::CCM_ConnectorStatusListener_ptr
+ Sender_exec_i::get_test_topic_connector_status (void)
+ {
+ return new ConnectorStatusListener_exec_i (this->deadline_missed_);
+ }
+
+ // Supported operations and attributes.
+
+ void
+ Sender_exec_i::set_session_context (::Components::SessionContext_ptr ctx)
+ {
+ this->context_ = ::CSL_DeadlineTest::CCM_Sender_Context::_narrow (ctx);
+
+ if ( ::CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ Sender_exec_i::configuration_complete (void)
+ {
+ this->writer_ = this->context_->get_connection_test_topic_write_data ();
+ }
+
+ void
+ Sender_exec_i::write (void)
+ {
+ //to force an 'offered_deadline_missed' write the topics with a pause of 2 sec in between and
+ //in the profile the deadline is set to 1 sec.
+ for (CSL_QoSTest_Table::iterator i = this->_ktests_.begin ();
+ i != this->_ktests_.end ();
+ ++i)
+ {
+ try
+ {
+ if (!CORBA::is_nil (this->writer_) ) {
+ ACE_OS::sleep (2);
+ ::DDS::InstanceHandle_t hnd = this->writer_->register_instance (i->second);
+ this->writer_->write_one(i->second,hnd);
+ }
+ }
+ catch (CCM_DDS::InternalError& )
+ {
+ CIAO_ERROR ((LM_ERROR, ACE_TEXT ("Internal Error while writing topic for <%C>.\n"),
+ i->first.c_str ()));
+ }
+ }
+ }
+
+ void
+ Sender_exec_i::add_instance_of_topic (const char * key, int x)
+ {
+ TestTopic *new_key = new TestTopic;
+ new_key->key = CORBA::string_dup(key);
+ new_key->x = x;
+ this->_ktests_[key] = new_key;
+ }
+ void
+ Sender_exec_i::ccm_activate (void)
+ {
+ //add 2 different instances of topic
+ this->add_instance_of_topic ("EEN",1);
+ this->add_instance_of_topic ("TWEE",2);
+
+ //write the instances once for the test
+ this->write();
+ }
+
+
+
+ void
+ Sender_exec_i::ccm_passivate (void)
+ {
+ }
+
+ void
+ Sender_exec_i::ccm_remove (void)
+ {
+
+ if(!this->deadline_missed_.value ())
+ {
+
+ CIAO_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: did not receive the expected ")
+ ACE_TEXT (" warning 'on_offered_deadline_missed' in Sender")
+ ));
+ }
+
+ else
+ {
+ CIAO_DEBUG ((LM_DEBUG, ACE_TEXT ("Received the expected ")
+ ACE_TEXT ("'on_offered_deadline_missed' in Sender\n")
+ ));
+ }
+
+ }
+
+ extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_DeadlineTest_Sender_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ Sender_exec_i);
+
+ return retval;
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.h
new file mode 100644
index 00000000000..75558a74b47
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/Sender/CSL_DeadlineTest_Sender_exec.h
@@ -0,0 +1,93 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef CIAO_SENDER_EXEC_H_
+#define CIAO_SENDER_EXEC_H_
+
+
+#include "CSL_DeadlineTest_SenderEC.h"
+
+#include /**/ "Sender_exec_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/LocalObject.h"
+
+#include <map>
+
+namespace CIAO_CSL_DeadlineTest_Sender_Impl
+{
+ typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, CORBA::Boolean > Atomic_Boolean;
+
+ class Sender_exec_i;
+
+class SENDER_EXEC_Export ConnectorStatusListener_exec_i
+ : public virtual ::CCM_DDS::CCM_ConnectorStatusListener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ ConnectorStatusListener_exec_i (Atomic_Boolean &);
+ virtual ~ConnectorStatusListener_exec_i (void);
+
+ virtual
+ void on_inconsistent_topic( ::DDS::Topic_ptr the_topic,
+ const DDS::InconsistentTopicStatus & status);
+ virtual
+ void on_requested_incompatible_qos( ::DDS::DataReader_ptr the_reader,
+ const DDS::RequestedIncompatibleQosStatus & status);
+ virtual
+ void on_sample_rejected( ::DDS::DataReader_ptr the_reader,
+ const DDS::SampleRejectedStatus & status);
+ virtual
+ void on_offered_deadline_missed( ::DDS::DataWriter_ptr the_writer,
+ const DDS::OfferedDeadlineMissedStatus & status);
+ virtual
+ void on_offered_incompatible_qos( ::DDS::DataWriter_ptr the_writer,
+ const DDS::OfferedIncompatibleQosStatus & status);
+ virtual
+ void on_unexpected_status( ::DDS::Entity_ptr the_entity,
+ ::DDS::StatusKind status_kind);
+ private:
+ Atomic_Boolean &deadline_missed_;
+
+ };
+
+ class Sender_exec_i
+ : public virtual Sender_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ Sender_exec_i (void);
+ virtual ~Sender_exec_i (void);
+ virtual void add_instance_of_topic (const char *, int x );
+ virtual void write (void);
+
+ virtual void set_session_context (::Components::SessionContext_ptr ctx);
+ virtual void configuration_complete (void);
+ virtual void ccm_activate (void);
+ virtual void ccm_passivate (void);
+ virtual void ccm_remove (void);
+ // Port operations.
+ virtual ::CCM_DDS::CCM_ConnectorStatusListener_ptr
+ get_test_topic_connector_status(void);
+
+ private:
+ ::CSL_DeadlineTest::CCM_Sender_Context_var context_;
+ Atomic_Boolean deadline_missed_;
+ CCM_DDS::TestTopic::Writer_var writer_;
+ TAO_SYNCH_MUTEX mutex_;
+ typedef std::map<ACE_CString, TestTopic_var> CSL_QoSTest_Table;
+ CSL_QoSTest_Table _ktests_;
+ };
+
+ extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_DeadlineTest_Sender_Impl (void);
+
+
+
+}
+
+#endif /* ifndef */
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/Plan.cdp b/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/Plan.cdp
new file mode 100644
index 00000000000..98447d1e3bc
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/Plan.cdp
@@ -0,0 +1,387 @@
+<Deployment:DeploymentPlan
+ xmlns:Deployment="http://www.omg.org/Deployment"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
+ <label>CSL_DeadlineTest_Depl_1</label>
+ <UUID>CSL_DeadlineTest_Depl_1</UUID>
+
+ <implementation xmi:id="ReceiverComponentImplementation">
+ <name>ReceiverComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Receiver_ExecArtifact" />
+ <artifact xmi:idref="Receiver_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_DeadlineTest_Receiver_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_DeadlineTest_Receiver_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Receiver_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Receiver_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="CSL_DeadlineTest_ConnectorComponentImplementation">
+ <name>CSL_DeadlineTest_ConnectorComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="CSL_DeadlineTest_Connector_ExecArtifact" />
+ <artifact xmi:idref="CSL_DeadlineTest_Connector_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_DeadlineTest_CSL_DeadlineTest_Connector_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_DeadlineTest_CSL_DeadlineTest_Connector_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>CSL_DeadlineTest_Connector_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>CSL_DeadlineTest_Connector_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+
+ <implementation xmi:id="SenderComponentImplementation">
+ <name>SenderComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Sender_ExecArtifact" />
+ <artifact xmi:idref="Sender_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_DeadlineTest_Sender_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_DeadlineTest_Sender_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Sender_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Sender_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+ <instance xmi:id="ReceiverComponentInstance">
+ <name>ReceiverComponent</name>
+ <node>ReceiverNode</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ReceiverComponentImplementation" />
+ </instance>
+
+ <instance xmi:id="CSL_DeadlineTest_ConnectorComponentInstance">
+ <name>CSL_DeadlineTest_ConnectorComponent</name>
+ <node>SenderNode</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="CSL_DeadlineTest_ConnectorComponentImplementation" />
+ <configProperty>
+ <name>topic_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestQoS</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>qos_profile</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>HelloTest_Library#Hello_Profile</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+ <instance xmi:id="CSL_DeadlineTest_ConnectorComponentInstance2">
+ <name>CSL_DeadlineTest_ConnectorComponent2</name>
+ <node>ReceiverNode</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="CSL_DeadlineTest_ConnectorComponentImplementation" />
+ <configProperty>
+ <name>topic_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestQoS</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>qos_profile</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>HelloTest_Library#Hello_Profile</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+ <instance xmi:id="SenderComponentInstance">
+ <name>SenderComponent</name>
+ <node>SenderNode</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SenderComponentImplementation" />
+ </instance>
+
+ <connection>
+ <name>_listenercontrol</name>
+ <internalEndpoint>
+ <portName>info_out_data_control</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="ReceiverComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>push_consumer_data_control</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="CSL_DeadlineTest_ConnectorComponentInstance2" />
+ </internalEndpoint>
+ </connection>
+ <connection>
+ <name>_portstatuslistener</name>
+ <internalEndpoint>
+ <portName>info_out_status</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="ReceiverComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>push_consumer_status</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="CSL_DeadlineTest_ConnectorComponentInstance2" />
+ </internalEndpoint>
+ </connection>
+ <connection>
+ <name>_rawlistner</name>
+ <internalEndpoint>
+ <portName>info_out_data_listener</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="ReceiverComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>push_consumer_data_listener</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="CSL_DeadlineTest_ConnectorComponentInstance2" />
+ </internalEndpoint>
+ </connection>
+ <connection>
+ <name>info_out_connector_status_receiver</name>
+ <internalEndpoint>
+ <portName>info_out_connector_status</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="ReceiverComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>error_listener</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="CSL_DeadlineTest_ConnectorComponentInstance2" />
+ </internalEndpoint>
+ </connection>
+ <connection>
+ <name>test_topic_connector_status_sender</name>
+ <internalEndpoint>
+ <portName>test_topic_connector_status</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SenderComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>error_listener</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="CSL_DeadlineTest_ConnectorComponentInstance" />
+ </internalEndpoint>
+ </connection>
+ <connection>
+ <name>writer_connection</name>
+ <internalEndpoint>
+ <portName>test_topic_write_data</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="SenderComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supplier_data</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="CSL_DeadlineTest_ConnectorComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+
+ <artifact xmi:id="Sender_ExecArtifact">
+ <name>Sender_exec</name>
+ <source/>
+ <node/>
+ <location>Sender_exec</location>
+ </artifact>
+ <artifact xmi:id="Sender_SvntArtifact">
+ <name>Sender_svnt</name>
+ <source/>
+ <node/>
+ <location>Sender_svnt</location>
+ </artifact>
+ <artifact xmi:id="Sender_StubArtifact">
+ <name>Sender_stub</name>
+ <source/>
+ <node/>
+ <location>Sender_stub</location>
+ </artifact>
+ <artifact xmi:id="CSL_DeadlineTest_Connector_ExecArtifact">
+ <name>CSL_DeadlineTest_Connector_exec</name>
+ <source/>
+ <node/>
+ <location>DDS_CSL_DeadlineTest_Connector_exec</location>
+ </artifact>
+ <artifact xmi:id="CSL_DeadlineTest_Connector_SvntArtifact">
+ <name>CSL_DeadlineTest_Connector_svnt</name>
+ <source/>
+ <node/>
+ <location>DDS_CSL_DeadlineTest_Connector_svnt</location>
+ </artifact>
+ <artifact xmi:id="CSL_DeadlineTest_Connector_StubArtifact">
+ <name>CSL_DeadlineTest_Connector_stub</name>
+ <source/>
+ <node/>
+ <location>DDS_CSL_DeadlineTest_Connector_stub</location>
+ </artifact>
+
+
+ <artifact xmi:id="Receiver_ExecArtifact">
+ <name>Receiver_exec</name>
+ <source/>
+ <node/>
+ <location>Receiver_exec</location>
+ </artifact>
+ <artifact xmi:id="Receiver_SvntArtifact">
+ <name>Receiver_svnt</name>
+ <source/>
+ <node/>
+ <location>Receiver_svnt</location>
+ </artifact>
+ <artifact xmi:id="Receiver_StubArtifact">
+ <name>Receiver_stub</name>
+ <source/>
+ <node/>
+ <location>Receiver_stub</location>
+ </artifact>
+</Deployment:DeploymentPlan>
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/USER_QOS_PROFILES.xml b/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/USER_QOS_PROFILES.xml
new file mode 100644
index 00000000000..0ce3f46ffdf
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/USER_QOS_PROFILES.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Description
+XML QoS Profile
+
+The QoS configuration of the DDS entities in the generated example is
+loaded from this file.
+
+This file is used only when it is in the current working directory
+or when the enviroment variable
+NDDS_QOS_PROFILES is defined and points to this file.
+
+For more information about XML QoS Profiles see Chapter 15 in the
+RTI Data Distribution Service user manual.
+-->
+<dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="c:/ndds/ndds.4.4d/scripts/../resource/rtiddsgen/../qos_profiles_4.4d/schema/rti_dds_qos_profiles.xsd" version="4.4d">
+ <!-- QoS Library containing the QoS profile used in the generated example.
+
+ A QoS library is a named set of QoS profiles.
+ -->
+ <qos_library name="HelloTest_Library">
+ <!-- QoS profile used to configure reliable communication between the DataWriter
+ and DataReader created in the example code.
+
+ A QoS profile groups a set of related QoS.
+ -->
+ <qos_profile name="Hello_Profile" is_default_qos="true">
+ <!-- QoS used to configure the data writer created in the example code -->
+ <datawriter_qos>
+ <reliability>
+ <kind>BEST_EFFORT_RELIABILITY_QOS</kind>
+ <max_blocking_time>
+ <sec>2</sec>
+ <nanosec>0</nanosec>
+ </max_blocking_time>
+ </reliability>
+ <durability>
+ <kind>TRANSIENT_DURABILITY_QOS</kind>
+ </durability>
+ <history>
+ <kind>KEEP_LAST_HISTORY_QOS</kind>
+ <depth>20</depth>
+ </history>
+ <protocol>
+ <rtps_reliable_writer>
+ <max_heartbeat_retries>10</max_heartbeat_retries>
+ </rtps_reliable_writer>
+ </protocol>
+ <deadline>
+ <period>
+ <sec>1</sec>
+ <nanosec>0</nanosec>
+ </period>
+ </deadline>
+ </datawriter_qos>
+ <!-- QoS used to configure the data reader created in the example code -->
+ <datareader_qos>
+ <reliability>
+ <kind>BEST_EFFORT_RELIABILITY_QOS</kind>
+ </reliability>
+ <history>
+ <kind>KEEP_LAST_HISTORY_QOS</kind>
+ <depth>20</depth>
+ </history>
+ <durability>
+ <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
+ </durability>
+ <deadline>
+ <period>
+ <sec>1</sec>
+ <nanosec>0</nanosec>
+ </period>
+ </deadline>
+ </datareader_qos>
+
+ </qos_profile>
+ </qos_library>
+</dds> \ No newline at end of file
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl
new file mode 100755
index 00000000000..5ec04ef96f8
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl
@@ -0,0 +1,225 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 2;
+@ports = ( 60001, 60002 );
+@iorbases = ( "NodeApp1.ior", "NodeApp2.ior" );
+@iorfiles = 0;
+@nodenames = ( "SenderNode", "ReceiverNode" );
+
+# ior files other than daemon
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "Plan.cdp";
+
+PerlACE::add_lib_path ('../lib');
+$ENV{"DANCE_TRACE_ENABLE"} = 0;
+$ENV{"CIAO_TRACE_ENABLE"} = 0;
+
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for deamon $i failed\n";
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $result = $DEAMONS[$i]->Spawn ();
+ push(@processes, $DEAMONS[$i]);
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/Naming_Service", "-m 1 -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+$NS->Spawn ();
+
+print STDERR "Starting Naming Service with -m 1 -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1)
+{
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$EM->Spawn ();
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+$E->SpawnWaitKill (2*$tg_executor->ProcessStartWaitInterval ());
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 10 seconds to allow task to complete\n";
+sleep (10);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file -q\n";
+
+$E =
+ new PerlACE::Process ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -q");
+$E->SpawnWaitKill ($tg_executor->ProcessStopWaitInterval ());
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.idl b/CIAO/connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.idl
new file mode 100644
index 00000000000..2eaeedd842a
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.idl
@@ -0,0 +1,18 @@
+// $Id$
+
+/**
+ * @file CSL_QoSTest_Base.idl
+ * @author Marijke Hengstmengel <mhengstmengel@remedy.nl>
+ */
+
+#ifndef CSL_QOSTEST_BASE_IDL
+#define CSL_QOSTEST_BASE_IDL
+
+
+ struct TestTopic {
+ string key; //@key
+ long x;
+ };
+typedef sequence<TestTopic> TestTopic_Seq;
+
+#endif
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.mpc b/CIAO/connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.mpc
new file mode 100644
index 00000000000..d8ea59a4431
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Base/CSL_QoSTest_Base.mpc
@@ -0,0 +1,77 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -o ../lib -u DDS -n CSL_QoSTest_Base"
+
+project(DDS_CSL_QoSTest_Base_idl_gen) : taoidldefaults, anytypecode {
+ custom_only = 1
+ idlflags -= -St -Sa
+ idlflags += -SS -Gxhst \
+ -Wb,stub_export_macro=CSL_QOSTEST_BASE_STUB_Export \
+ -Wb,stub_export_include=CSL_QoSTest_Base_stub_export.h
+
+ IDL_Files {
+ CSL_QoSTest_Base.idl
+ }
+}
+
+project(DDS_CSL_QoSTest_Base_ndds_ts_gen) : ndds_ts_defaults {
+ custom_only = 1
+ after += DDS_CSL_QoSTest_Base_idl_gen
+ ndds_ts_flags += -corba CSL_QoSTest_BaseC.h -orb ACE_TAO1.7
+
+ NDDSTypeSupport_Files {
+ CSL_QoSTest_Base.idl
+ }
+}
+
+project(DDS_CSL_QoSTest_Base_NDDS_TS) : nddslib, taolib {
+ after += DDS_CSL_QoSTest_Base_ndds_ts_gen DDS_CSL_QoSTest_Base_stub
+ libs += DDS_CSL_QoSTest_Base_stub
+ libout = ../lib
+ libpaths += ../lib
+ sharedname = DDS_CSL_QoSTest_Base_NDDS_TS
+ dynamicflags = NDDS_USER_DLL_EXPORT
+
+ verbatim(gnuace, macros) {
+ override no_hidden_visibility = 1
+ }
+
+ Source_Files {
+ CSL_QoSTest_Base.cxx
+ CSL_QoSTest_BasePlugin.cxx
+ CSL_QoSTest_BaseSupport.cxx
+ }
+
+ Header_Files {
+ CSL_QoSTest_Base.h
+ CSL_QoSTest_BasePlugin.h
+ CSL_QoSTest_BaseSupport.h
+ }
+
+ Inline_Files {
+ }
+}
+
+project(DDS_CSL_QoSTest_Base_stub) : ccm_stub {
+ after += DDS_CSL_QoSTest_Base_idl_gen
+ libout = ../lib
+ libpaths += ../lib
+ sharedname = DDS_CSL_QoSTest_Base_stub
+ dynamicflags = CSL_QOSTEST_BASE_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_BaseC.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_BaseC.h
+ CSL_QoSTest_Base_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_QoSTest_BaseC.inl
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.idl b/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.idl
new file mode 100644
index 00000000000..77273cf6131
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.idl
@@ -0,0 +1,29 @@
+// $Id$
+
+/**
+ * @file CSL_QoSTest_Connector.idl
+ * @author Marijke Hengstmengel <mhengstmengel@remedy.nl>
+ *
+ * by-hand translation of the idl3p.
+ */
+
+#ifndef CSL_QOSTEST_CONNECTOR_IDL_
+#define CSL_QOSTEST_CONNECTOR_IDL_
+
+#include <Components.idl>
+#include "Base/CSL_QoSTest_Base.idl"
+#include "connectors/dds4ccm/idl/ccm_dds.idl"
+
+TYPED_MODULE( ::TestTopic, ::TestTopic_Seq, TestTopic)
+
+module CSL_QoSTest
+{
+ connector CSL_QoSTest_Connector : ::CCM_DDS::TestTopic::DDS_Event
+ {
+ };
+
+};
+
+
+
+#endif /* CSL_QoSTest_CONNECTOR_IDL_ */
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.mpc b/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.mpc
new file mode 100644
index 00000000000..6ad60b95f7a
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector.mpc
@@ -0,0 +1,145 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p DDS_CSL_QoSTest_Base -l .. -o ../lib -u DDS CSL_QoSTest_Connector"
+
+project(DDS_CSL_QoSTest_Connector_idl_gen) : connectoridldefaults {
+ after += DDS4CCM_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=CSL_QOSTEST_CONNECTOR_STUB_Export \
+ -Wb,stub_export_include=CSL_QoSTest_Connector_stub_export.h \
+ -Wb,skel_export_macro=CSL_QOSTEST_CONNECTOR_SVNT_Export \
+ -Wb,skel_export_include=CSL_QoSTest_Connector_svnt_export.h \
+ -Wb,svnt_export_macro=CSL_QOSTEST_CONNECTOR_SVNT_Export \
+ -Wb,svnt_export_include=CSL_QoSTest_Connector_svnt_export.h \
+ -Wb,exec_export_macro=CSL_QOSTEST_CONNECTOR_EXEC_Export \
+ -Wb,exec_export_include=CSL_QoSTest_Connector_exec_export.h \
+ -I ..
+
+ IDL_Files {
+ CSL_QoSTest_Connector.idl
+ }
+}
+
+project(DDS_CSL_QoSTest_Connector_lem_gen) : ciaoidldefaults {
+ custom_only = 1
+ after += DDS_CSL_QoSTest_Connector_idl_gen
+ idlflags += -Wb,stub_export_macro=CSL_QOSTEST_CONNECTOR_LEM_STUB_Export \
+ -Wb,stub_export_include=CSL_QoSTest_Connector_lem_stub_export.h \
+ -SS -Gxhst \
+ -I .. -I $(CIAO_ROOT)/connectors -I$(CIAO_ROOT)/connectors/dds4ccm/idl
+
+ IDL_Files {
+ CSL_QoSTest_ConnectorE.idl
+ }
+}
+
+project(DDS_CSL_QoSTest_Connector_lem_stub) : ccm_svnt, dds4ccm_base {
+ after += DDS_CSL_QoSTest_Connector_lem_gen DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Base_stub DDS4CCM_lem_stub
+ libs += DDS_CSL_QoSTest_Base_stub DDS_CSL_QoSTest_Connector_stub DDS4CCM_lem_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = DDS_CSL_QoSTest_Connector_lem_stub
+ dynamicflags = CSL_QOSTEST_CONNECTOR_LEM_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_ConnectorEC.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_ConnectorEC.h
+ CSL_QoSTest_Connector_lem_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_QoSTest_ConnectorEC.inl
+ }
+}
+
+project(DDS_CSL_QoSTest_Connector_stub) : ccm_stub, dds4ccm_base {
+ after += DDS_CSL_QoSTest_Connector_idl_gen DDS_CSL_QoSTest_Base_stub
+ libs += DDS_CSL_QoSTest_Base_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = DDS_CSL_QoSTest_Connector_stub
+ dynamicflags = CSL_QOSTEST_CONNECTOR_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_ConnectorC.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_ConnectorC.h
+ CSL_QoSTest_Connector_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_QoSTest_ConnectorC.inl
+ }
+}
+
+project(DDS_CSL_QoSTest_Connector_exec) : ciao_executor, dds4ccm_skel, nddslib {
+ after += DDS_CSL_QoSTest_Connector_lem_stub DDS_CSL_QoSTest_Connector_stub DDS4CCM_lem_stub CIAO_DDS4CCM_NDDS_Impl DDS_CSL_QoSTest_Base_NDDS_TS
+ sharedname = DDS_CSL_QoSTest_Connector_exec
+ libs += DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Connector_lem_stub DDS_CSL_QoSTest_Base_stub CIAO_DDS4CCM_NDDS_Impl DDS4CCM_lem_stub DDS_CSL_QoSTest_Base_NDDS_TS
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags = CSL_QOSTEST_CONNECTOR_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_Connector_exec.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_Connector_exec.h
+ CSL_QoSTest_Connector_exec_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
+
+project(DDS_CSL_QoSTest_Connector_svnt) : ciao_servant, dds4ccm_skel, nddslib {
+ after += DDS_CSL_QoSTest_Connector_lem_stub DDS_CSL_QoSTest_Connector_exec DDS_CSL_QoSTest_Connector_stub DDS4CCM_lem_stub
+ sharedname = DDS_CSL_QoSTest_Connector_svnt
+ libs += DDS_CSL_QoSTest_Connector_stub \
+ DDS_CSL_QoSTest_Connector_lem_stub \
+ DDS_CSL_QoSTest_Base_stub \
+ DDS_CSL_QoSTest_Connector_exec \
+ DDS4CCM_lem_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags = CSL_QOSTEST_CONNECTOR_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_ConnectorS.cpp
+ CSL_QoSTest_Connector_svnt.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_ConnectorS.h
+ CSL_QoSTest_Connector_svnt.h
+ CSL_QoSTest_Connector_svnt_export.h
+ }
+
+ Inline_Files {
+ CSL_QoSTest_ConnectorS.inl
+ }
+}
+
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.cpp b/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.cpp
new file mode 100644
index 00000000000..80194fe2e55
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.cpp
@@ -0,0 +1,30 @@
+// -*- C++ -*-
+// $Id$
+
+#include "CSL_QoSTest_Connector_exec.h"
+
+namespace CIAO_CSL_QoSTest_CSL_QoSTest_Connector_Impl
+{
+ CSL_QoSTest_Connector_exec_i::CSL_QoSTest_Connector_exec_i (const char * topic_name)
+ : DDS_Event_Connector_T<TestTopic_DDS_Traits, TestTopic_Connector_Traits> ()
+ {
+ }
+
+ CSL_QoSTest_Connector_exec_i::~CSL_QoSTest_Connector_exec_i (void)
+ {
+ }
+
+ extern "C" CSL_QOSTEST_CONNECTOR_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_QoSTest_CSL_QoSTest_Connector_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ CSL_QoSTest_Connector_exec_i ("Square")); //should be set by dep. plan.
+
+ return retval;
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.h b/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.h
new file mode 100644
index 00000000000..d59b0e37ad4
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Connector/CSL_QoSTest_Connector_exec.h
@@ -0,0 +1,62 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef CSL_QOSTEST_CONNECTOR_EXEC_H_
+#define CSL_QOSTEST_CONNECTOR_EXEC_H_
+
+#include /**/ "ace/pre.h"
+
+#include "CSL_QoSTest_ConnectorEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include /**/ "CSL_QoSTest_Connector_exec_export.h"
+#include "tao/LocalObject.h"
+
+#include "dds4ccm/impl/ndds/DDS4CCM_Traits.h"
+#include "dds4ccm/impl/ndds/DDS_Event_Connector_T.h"
+
+
+#include "Base/CSL_QoSTest_BaseSupport.h"
+
+namespace CIAO_CSL_QoSTest_CSL_QoSTest_Connector_Impl
+{
+
+ // @from use of CSL_QoSTest as a parameter
+ typedef CIAO::DDS4CCM::RTI::Type_Traits <
+ TestTopic,
+ TestTopicSeq,
+ TestTopicTypeSupport,
+ TestTopicDataWriter,
+ TestTopicDataReader > TestTopic_DDS_Traits;
+
+ typedef CIAO::DDS4CCM::Connector_Traits <
+ ::CIAO_CSL_QoSTest_CSL_QoSTest_Connector_Impl::CSL_QoSTest_Connector_Exec,
+ TestTopic_Seq,
+ ::CCM_DDS::TestTopic::CCM_Writer,
+ ::CCM_DDS::TestTopic::CCM_Updater,
+ ::CCM_DDS::TestTopic::CCM_Getter,
+ ::CCM_DDS::TestTopic::CCM_Reader,
+ ::CSL_QoSTest::CCM_CSL_QoSTest_Connector_Context,
+ ::CCM_DDS::TestTopic::Listener,
+ ::CCM_DDS::TestTopic::StateListener,
+ ::CCM_DDS::ConnectorStatusListener> TestTopic_Connector_Traits;
+
+ class CSL_QOSTEST_CONNECTOR_EXEC_Export CSL_QoSTest_Connector_exec_i :
+ public DDS_Event_Connector_T <TestTopic_DDS_Traits, TestTopic_Connector_Traits>
+ {
+ public:
+ CSL_QoSTest_Connector_exec_i (const char * topic_name);
+ virtual ~CSL_QoSTest_Connector_exec_i (void);
+ };
+
+ extern "C" CSL_QOSTEST_CONNECTOR_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_QoSTest_CSL_QoSTest_Connector_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.idl b/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.idl
new file mode 100644
index 00000000000..08fa9e7516f
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.idl
@@ -0,0 +1,25 @@
+// $Id$
+
+/**
+ * @file
+ * @author Marijke Hengstmengel <mhengstmengel@remedy.nl>
+ */
+
+#ifndef RECEIVER_IDL
+#define RECEIVER_IDL
+
+#include "Connector/CSL_QoSTest_Connector.idl"
+#include "Connector/CSL_QoSTest_ConnectorE.idl"
+
+
+module CSL_QoSTest
+{
+ component Receiver
+ {
+ port CCM_DDS::TestTopic::DDS_Listen info_out;
+ provides CCM_DDS::ConnectorStatusListener info_out_connector_status;
+ };
+};
+
+
+#endif
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.mpc b/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.mpc
new file mode 100644
index 00000000000..0b224669db0
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver.mpc
@@ -0,0 +1,138 @@
+// $Id$
+
+project(DDS_CSL_QoSTest_Receiver_idl_gen) : componentidldefaults {
+ custom_only = 1
+ after += DDS_CSL_QoSTest_Connector_idl_gen
+ idlflags += -Wb,stub_export_macro=RECEIVER_STUB_Export \
+ -Wb,stub_export_include=Receiver_stub_export.h \
+ -Wb,skel_export_macro=RECEIVER_SVNT_Export \
+ -Wb,skel_export_include=Receiver_svnt_export.h \
+ -Wb,svnt_export_macro=RECEIVER_SVNT_Export \
+ -Wb,svnt_export_include=Receiver_svnt_export.h \
+ -Wb,exec_export_macro=RECEIVER_EXEC_Export \
+ -Wb,exec_export_include=Receiver_exec_export.h -I..
+
+ IDL_Files {
+ CSL_QoSTest_Receiver.idl
+ }
+}
+
+project(DDS_CSL_QoSTest_Receiver_lem_gen) : ciaoidldefaults {
+ after += DDS_CSL_QoSTest_Receiver_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=RECEIVER_LEM_STUB_Export \
+ -Wb,stub_export_include=Receiver_lem_stub_export.h \
+ -SS -Gxhst -I..
+
+ IDL_Files {
+ CSL_QoSTest_ReceiverE.idl
+ }
+}
+
+project(DDS_CSL_QoSTest_Receiver_lem_stub) : ccm_svnt, dds4ccm_base {
+ after += DDS_CSL_QoSTest_Receiver_lem_gen DDS_CSL_QoSTest_Receiver_stub DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Base_stub
+ libs += Receiver_stub DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Base_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = Receiver_lem_stub
+ dynamicflags = RECEIVER_LEM_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_ReceiverEC.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_ReceiverEC.h
+ Receiver_lem_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_QoSTest_ReceiverEC.inl
+ }
+}
+
+project(DDS_CSL_QoSTest_Receiver_stub) : ccm_stub, dds4ccm_base {
+ after += DDS_CSL_QoSTest_Receiver_idl_gen DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Base_stub DDS_CSL_QoSTest_Connector_lem_gen
+ libs += DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Base_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = Receiver_stub
+ dynamicflags = RECEIVER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_ReceiverC.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_ReceiverC.h
+ Receiver_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_QoSTest_ReceiverC.inl
+ }
+}
+
+project(DDS_CSL_QoSTest_Receiver_exec) : ciao_executor, dds4ccm_base {
+ after += DDS_CSL_QoSTest_Receiver_lem_stub DDS_CSL_QoSTest_Receiver_stub DDS_CSL_QoSTest_Base_stub DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Connector_lem_stub DDS4CCM_lem_stub
+ sharedname = Receiver_exec
+ libs += Receiver_stub Receiver_lem_stub DDS_CSL_QoSTest_Base_stub DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Connector_lem_stub DDS4CCM_lem_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags = RECEIVER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_Receiver_exec.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_Receiver_exec.h
+ Receiver_exec_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
+
+project(DDS_CSL_QoSTest_Receiver_svnt) : ciao_servant, dds4ccm_base, nddslib {
+ after += DDS_CSL_QoSTest_Receiver_lem_stub DDS_CSL_QoSTest_Base_stub DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Connector_svnt DDS_CSL_QoSTest_Receiver_exec DDS_CSL_QoSTest_Connector_lem_stub DDS4CCM_lem_stub DDS4CCM_skel
+ sharedname = Receiver_svnt
+ libs += Receiver_stub Receiver_lem_stub DDS_CSL_QoSTest_Base_stub DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Connector_svnt Receiver_exec DDS_CSL_QoSTest_Connector_lem_stub DDS4CCM_lem_stub DDS4CCM_skel
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags = RECEIVER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_ReceiverS.cpp
+ CSL_QoSTest_Receiver_svnt.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_ReceiverS.h
+ CSL_QoSTest_Receiver_svnt.h
+ Receiver_svnt_export.h
+ }
+
+ Inline_Files {
+ CSL_QoSTest_ReceiverS.inl
+ }
+}
+
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.cpp
new file mode 100644
index 00000000000..082c3cbcd59
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.cpp
@@ -0,0 +1,245 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "CSL_QoSTest_Receiver_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "tao/ORB_Core.h"
+
+namespace CIAO_CSL_QoSTest_Receiver_Impl
+{
+
+
+//============================================================
+ // Facet Executor Implementation Class: ConnectorStatusListener_exec_i
+ //============================================================
+
+ ConnectorStatusListener_exec_i::ConnectorStatusListener_exec_i (Atomic_Boolean &incompatible)
+ : incompatible_ (incompatible)
+ {
+ }
+
+ ConnectorStatusListener_exec_i::~ConnectorStatusListener_exec_i (void)
+ {
+
+ }
+
+ // Operations from ::CCM_DDS::ConnectorStatusListener
+ void ConnectorStatusListener_exec_i::on_inconsistent_topic(
+ ::DDS::Topic_ptr /*the_topic*/,
+ const DDS::InconsistentTopicStatus & /*status*/)
+ {
+ //printf("Receiver: ConnectorStatusListener_exec_i::on_incompatible_topic\n");
+ }
+ void ConnectorStatusListener_exec_i::on_requested_incompatible_qos(
+ ::DDS::DataReader_ptr the_reader,
+ const DDS::RequestedIncompatibleQosStatus & status) {
+ this->incompatible_ = true;
+ //printf("ConnectorStatusListener_exec_i::on_requested_incompatible_qos, status = %dl\n",status);
+ }
+ void ConnectorStatusListener_exec_i::on_sample_rejected(
+ ::DDS::DataReader_ptr /*the_reader*/,
+ const DDS::SampleRejectedStatus & /*status*/) {
+ //printf("ConnectorStatusListener_exec_i::on_sample_rejected\n");
+ }
+ void ConnectorStatusListener_exec_i::on_offered_deadline_missed(
+ ::DDS::DataWriter_ptr /*the_writer*/,
+ const DDS::OfferedDeadlineMissedStatus & /*status*/) {
+ //printf("ConnectorStatusListener_exec_i::on_offered_deadline_missed\n");
+ }
+ void ConnectorStatusListener_exec_i::on_offered_incompatible_qos(
+ ::DDS::DataWriter_ptr /*the_writer*/,
+ const DDS::OfferedIncompatibleQosStatus & /*status*/) {
+ // printf("Receiver: ConnectorStatusListener_exec_i::on_offered_incompatible_qos\n");
+ }
+ void ConnectorStatusListener_exec_i::on_unexpected_status(
+ ::DDS::Entity_ptr /*the_entity*/,
+ ::DDS::StatusKind /*status_kind */) {
+// CORBA::ULong kind = status_kind;
+// printf("Receiver :ConnectorStatusListener_exec_i::on_unexpected_status #### status_kind = %ld \n", kind);
+
+ }
+
+
+ //============================================================
+ // Facet Executor Implementation Class: TestTopic_RawListener_exec_i
+ //============================================================
+
+ TestTopic_RawListener_exec_i::TestTopic_RawListener_exec_i (Atomic_ULong &received)
+ : received_ (received)
+ {
+ }
+
+ TestTopic_RawListener_exec_i::~TestTopic_RawListener_exec_i (void)
+ {
+ }
+
+ // Operations from ::CCM_DDS::TestTopic_RawListener
+
+ void
+ TestTopic_RawListener_exec_i::on_one_data (
+ const TestTopic & an_instance ,
+ const ::CCM_DDS::ReadInfo & /* info */)
+ {
+ ++this->received_;
+ //printf(" receive data ============= %d\n",this->received_);
+ CIAO_DEBUG ((LM_DEBUG, ACE_TEXT ("TestTopic_RawListener: ")
+ ACE_TEXT ("received test_topic_info for <%C> at %u\n"),
+ an_instance.key.in (),
+ an_instance.x));
+ }
+
+
+ void
+ TestTopic_RawListener_exec_i::on_many_data (
+ const TestTopic_Seq & /*an_instance */,
+ const ::CCM_DDS::ReadInfoSeq & /* info */)
+ {
+ //printf(" receive data ============= %d\n",this->received_);
+ }
+ //============================================================
+ // Facet Executor Implementation Class: PortStatusListener_exec_i
+ //============================================================
+
+ PortStatusListener_exec_i::PortStatusListener_exec_i (void)
+ {
+ }
+
+ PortStatusListener_exec_i::~PortStatusListener_exec_i (void)
+ {
+ }
+
+ // Operations from ::CCM_DDS::PortStatusListener
+
+ void
+ PortStatusListener_exec_i::on_requested_deadline_missed (
+ ::DDS::DataReader_ptr /* the_reader */,
+ const ::DDS::RequestedDeadlineMissedStatus & /* status */)
+ {
+ /* Your code here. */
+ }
+
+ void
+ PortStatusListener_exec_i::on_sample_lost (
+ ::DDS::DataReader_ptr /* the_reader */,
+ const ::DDS::SampleLostStatus & /* status */)
+ {
+
+ }
+
+ //============================================================
+ // Component Executor Implementation Class: Receiver_exec_iTestTopic_RawListener_exec_i ();
+ //============================================================
+
+ Receiver_exec_i::Receiver_exec_i (void)
+ : incompatible_ (false)
+ {
+ }
+
+ Receiver_exec_i::~Receiver_exec_i (void)
+ {
+ }
+
+ // Supported operations and attributes.
+ // Component attributes.
+ // Port operations.
+ ::CCM_DDS::TestTopic::CCM_Listener_ptr
+ Receiver_exec_i::get_info_out_data_listener (void)
+ {
+ //printf ("*************** get_inf-_out_data_listener************************\n");
+ CIAO_DEBUG ((LM_DEBUG, ACE_TEXT ("new TestTopic RAW listener\n")));
+ return new TestTopic_RawListener_exec_i (this->received_);
+ }
+
+
+ ::CCM_DDS::CCM_PortStatusListener_ptr
+ Receiver_exec_i::get_info_out_status (void)
+ {
+ CIAO_DEBUG ((LM_DEBUG, ACE_TEXT ("new PortStatuslistener\n")));
+ return new PortStatusListener_exec_i ();
+ }
+
+ ::CCM_DDS::CCM_ConnectorStatusListener_ptr
+ Receiver_exec_i::get_info_out_connector_status (void)
+ {
+ //printf ("*************** out connector status Receiver************************\n");
+ return new ConnectorStatusListener_exec_i (this->incompatible_);
+ }
+
+ // Operations from Components::SessionComponent.
+ void
+ Receiver_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ this->context_ =
+ ::CSL_QoSTest::CCM_Receiver_Context::_narrow (ctx);
+ if ( ::CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ Receiver_exec_i::configuration_complete (void)
+ {
+
+ }
+
+ void
+ Receiver_exec_i::ccm_activate (void)
+ {
+ ::CCM_DDS::DataListenerControl_var lc =
+ this->context_->get_connection_info_out_data_control ();
+
+
+ if (CORBA::is_nil (lc.in ()))
+ {
+ CIAO_ERROR ((LM_INFO, ACE_TEXT ("Error: Listener control receptacle is null!\n")));
+ throw CORBA::INTERNAL ();
+ }
+ lc->mode (::CCM_DDS::ONE_BY_ONE);
+
+
+ }
+
+ void
+ Receiver_exec_i::ccm_passivate (void)
+ {
+ }
+
+ void
+ Receiver_exec_i::ccm_remove (void)
+ {
+ //printf("*************in remove Receiver********** \n");
+ if(!this->incompatible_.value ())
+ {
+
+ CIAO_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: did not receive the expected ")
+ ACE_TEXT (" error 'on_requested_incompatible_Qos' in Receiver")
+ ));
+ }
+
+ else
+ {
+ CIAO_DEBUG ((LM_DEBUG, ACE_TEXT ("Received the expected ")
+ ACE_TEXT ("'on_requested_incompatible_Qos' in Receiver\n")
+ ));
+ }
+
+
+ }
+
+ extern "C" RECEIVER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_QoSTest_Receiver_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ Receiver_exec_i);
+
+ return retval;
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.h
new file mode 100644
index 00000000000..169d1b5f4eb
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Receiver/CSL_QoSTest_Receiver_exec.h
@@ -0,0 +1,148 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef CIAO_RECEIVER_EXEC_H_
+#define CIAO_RECEIVER_EXEC_H_
+
+#include "CSL_QoSTest_ReceiverEC.h"
+
+#include /**/ "Receiver_exec_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/LocalObject.h"
+#include "ace/Task.h"
+#include "ace/Reactor.h"
+
+namespace CIAO_CSL_QoSTest_Receiver_Impl
+{
+ typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, CORBA::ULong > Atomic_ULong;
+ typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, CORBA::Boolean > Atomic_Boolean;
+
+
+ class Receiver_exec_i;
+
+ class RECEIVER_EXEC_Export TestTopic_RawListener_exec_i
+ : public virtual ::CCM_DDS::TestTopic::CCM_Listener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ TestTopic_RawListener_exec_i (Atomic_ULong &);
+ virtual ~TestTopic_RawListener_exec_i (void);
+
+
+ virtual void
+ on_one_data (
+ const TestTopic & an_instance,
+ const ::CCM_DDS::ReadInfo & info);
+
+
+ virtual void
+ on_many_data (
+ const ::TestTopic_Seq & data,
+ const ::CCM_DDS::ReadInfoSeq & info );
+
+ private:
+ Atomic_ULong &received_;
+ };
+
+
+class RECEIVER_EXEC_Export ConnectorStatusListener_exec_i
+ : public virtual ::CCM_DDS::CCM_ConnectorStatusListener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ ConnectorStatusListener_exec_i (Atomic_Boolean &);
+ virtual ~ConnectorStatusListener_exec_i (void);
+
+ virtual
+ void on_inconsistent_topic( ::DDS::Topic_ptr the_topic,
+ const DDS::InconsistentTopicStatus & status);
+ virtual
+ void on_requested_incompatible_qos( ::DDS::DataReader_ptr the_reader,
+ const DDS::RequestedIncompatibleQosStatus & status);
+ virtual
+ void on_sample_rejected( ::DDS::DataReader_ptr the_reader,
+ const DDS::SampleRejectedStatus & status);
+ virtual
+ void on_offered_deadline_missed( ::DDS::DataWriter_ptr the_writer,
+ const DDS::OfferedDeadlineMissedStatus & status);
+ virtual
+ void on_offered_incompatible_qos( ::DDS::DataWriter_ptr the_writer,
+ const DDS::OfferedIncompatibleQosStatus & status);
+ virtual
+ void on_unexpected_status( ::DDS::Entity_ptr the_entity,
+ ::DDS::StatusKind status_kind);
+ private:
+ Atomic_Boolean &incompatible_;
+
+ };
+
+class RECEIVER_EXEC_Export PortStatusListener_exec_i
+ : public virtual ::CCM_DDS::CCM_PortStatusListener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ PortStatusListener_exec_i (void);
+ virtual ~PortStatusListener_exec_i (void);
+
+ virtual void
+ on_requested_deadline_missed (
+ ::DDS::DataReader_ptr the_reader,
+ const ::DDS::RequestedDeadlineMissedStatus & status);
+
+ virtual void
+ on_sample_lost (
+ ::DDS::DataReader_ptr the_reader,
+ const ::DDS::SampleLostStatus & status);
+ };
+
+ class RECEIVER_EXEC_Export Receiver_exec_i
+ : public virtual Receiver_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ Receiver_exec_i (void);
+ virtual ~Receiver_exec_i (void);
+
+ // virtual ::CORBA::Boolean raw_listen (void);
+
+ // virtual void raw_listen (::CORBA::Boolean raw_listen);
+
+ // Port operations.
+ virtual ::CCM_DDS::TestTopic::CCM_Listener_ptr
+ get_info_out_data_listener (void);
+
+ virtual ::CCM_DDS::CCM_PortStatusListener_ptr
+ get_info_out_status (void);
+
+ virtual ::CCM_DDS::CCM_ConnectorStatusListener_ptr
+ get_info_out_connector_status (void);
+
+
+ // Operations from Components::SessionComponent.
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete (void);
+
+ virtual void ccm_activate (void);
+ virtual void ccm_passivate (void);
+ virtual void ccm_remove (void);
+
+ private:
+ ::CSL_QoSTest::CCM_Receiver_Context_var context_;
+// CORBA::Boolean raw_listen_;
+ Atomic_ULong received_;
+ Atomic_Boolean incompatible_;
+ };
+
+ extern "C" RECEIVER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_QoSTest_Receiver_Impl (void);
+}
+
+#endif /* ifndef */
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.idl b/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.idl
new file mode 100644
index 00000000000..e2f117ecb7b
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.idl
@@ -0,0 +1,26 @@
+// $Id$
+
+/**
+ * @file
+ * @author Marijke Hengstmengel <mhengstmengel@remedy.nl>
+ *
+ * by-hand idl3 translation of sender components.
+ */
+
+#ifndef DDS_CSL_QOSTEST_SENDER_IDL
+#define DDS_CSL_QOSTEST_SENDER_IDL
+
+#include "Connector/CSL_QoSTest_Connector.idl"
+#include "Connector/CSL_QoSTest_ConnectorE.idl"
+
+
+
+module CSL_QoSTest
+{
+ component Sender
+ {
+ provides CCM_DDS::ConnectorStatusListener test_topic_connector_status;
+
+ };
+};
+#endif
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.mpc b/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.mpc
new file mode 100644
index 00000000000..75c83075b72
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender.mpc
@@ -0,0 +1,140 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p DDS_CSL_QoSTest_Base -l ../lib -o ../lib -c controller -u DDS Sender"
+
+project(DDS_CSL_QoSTest_Sender_idl_gen) : componentidldefaults {
+ after += DDS_CSL_QoSTest_Connector_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SENDER_STUB_Export \
+ -Wb,stub_export_include=Sender_stub_export.h \
+ -Wb,skel_export_macro=SENDER_SVNT_Export \
+ -Wb,skel_export_include=Sender_svnt_export.h \
+ -Wb,svnt_export_macro=SENDER_SVNT_Export \
+ -Wb,svnt_export_include=Sender_svnt_export.h \
+ -Wb,exec_export_macro=SENDER_EXEC_Export \
+ -Wb,exec_export_include=Sender_exec_export.h \
+ -I ..
+
+ IDL_Files {
+ CSL_QoSTest_Sender.idl
+ }
+}
+
+project(DDS_CSL_QoSTest_Sender_lem_gen) : ciaoidldefaults {
+ after += DDS_CSL_QoSTest_Sender_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SENDER_LEM_STUB_Export \
+ -Wb,stub_export_include=Sender_lem_stub_export.h \
+ -SS -Gxhst -I $CIAO_ROOT/connectors -I ..
+
+ IDL_Files {
+ CSL_QoSTest_SenderE.idl
+ }
+}
+
+project(DDS_CSL_QoSTest_Sender_lem_stub) : ccm_svnt, dds4ccm_base {
+ after += DDS_CSL_QoSTest_Sender_lem_gen DDS_CSL_QoSTest_Sender_stub DDS_CSL_QoSTest_Base_stub
+ libs += DDS_CSL_QoSTest_Base_stub Sender_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = Sender_lem_stub
+ dynamicflags = SENDER_LEM_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_SenderEC.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_SenderEC.h
+ Sender_lem_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_QoSTest_SenderEC.inl
+ }
+}
+
+project(DDS_CSL_QoSTest_Sender_stub) : ccm_stub, dds4ccm_base {
+ after += DDS_CSL_QoSTest_Sender_idl_gen DDS_CSL_QoSTest_Base_stub DDS_CSL_QoSTest_Connector_stub
+ libs += DDS_CSL_QoSTest_Base_stub DDS_CSL_QoSTest_Connector_stub
+ includes += ..
+ libpaths += ../lib
+ libout = ../lib
+ sharedname = Sender_stub
+ dynamicflags = SENDER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_SenderC.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_SenderC.h
+ Sender_stub_export.h
+ }
+
+ Inline_Files {
+ CSL_QoSTest_SenderC.inl
+ }
+}
+
+project(DDS_CSL_QoSTest_Sender_exec) : ciao_executor, dds4ccm_base {
+ after += DDS_CSL_QoSTest_Sender_lem_stub DDS_CSL_QoSTest_Sender_stub DDS_CSL_QoSTest_Connector_lem_stub DDS_CSL_QoSTest_Connector_stub DDS4CCM_lem_stub
+ sharedname = Sender_exec
+ libs += Sender_stub Sender_lem_stub DDS_CSL_QoSTest_Base_stub DDS_CSL_QoSTest_Connector_lem_stub DDS_CSL_QoSTest_Connector_stub DDS4CCM_lem_stub
+ libpaths += ../lib
+ includes += ..
+ libout = ../lib
+ dynamicflags = SENDER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_Sender_exec.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_Sender_exec.h
+ Sender_exec_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
+
+project(DDS_CSL_QoSTest_Sender_svnt) : ciao_servant, dds4ccm_base, nddslib {
+ after += DDS_CSL_QoSTest_Base_stub DDS_CSL_QoSTest_Sender_lem_stub DDS4CCM_lem_stub DDS4CCM_skel DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Connector_svnt DDS_CSL_QoSTest_Connector_lem_stub
+ sharedname = Sender_svnt
+ libs += Sender_stub Sender_lem_stub \
+ DDS_CSL_QoSTest_Base_stub DDS4CCM_lem_stub DDS4CCM_skel DDS_CSL_QoSTest_Connector_stub DDS_CSL_QoSTest_Connector_svnt DDS_CSL_QoSTest_Connector_lem_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags = SENDER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CSL_QoSTest_SenderS.cpp
+ CSL_QoSTest_Sender_svnt.cpp
+ }
+
+ Header_Files {
+ CSL_QoSTest_SenderS.h
+ CSL_QoSTest_Sender_svnt.h
+ Sender_svnt_export.h
+ }
+
+ Inline_Files {
+ CSL_QoSTest_SenderS.inl
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.cpp
new file mode 100644
index 00000000000..c39860b99ec
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.cpp
@@ -0,0 +1,147 @@
+// -*- C++ -*-
+// $Id$
+
+#include "CSL_QoSTest_Sender_exec.h"
+#include "ace/Guard_T.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "tao/ORB_Core.h"
+#include "ace/Reactor.h"
+
+namespace CIAO_CSL_QoSTest_Sender_Impl
+{
+
+ //============================================================
+ // Facet Executor Implementation Class: ConnectorStatusListener_exec_i
+ //============================================================
+
+ ConnectorStatusListener_exec_i::ConnectorStatusListener_exec_i (Atomic_Boolean &incompatible)
+ : incompatible_ (incompatible)
+ {
+ }
+
+ ConnectorStatusListener_exec_i::~ConnectorStatusListener_exec_i (void)
+ {
+
+ }
+
+ // Operations from ::CCM_DDS::ConnectorStatusListener
+ void ConnectorStatusListener_exec_i::on_inconsistent_topic(
+ ::DDS::Topic_ptr /*the_topic*/,
+ const DDS::InconsistentTopicStatus & /*status*/)
+ {
+ //printf("Sender : ConnectorStatusListener_exec_i::on_inconsistent_topic\n");
+ }
+ void ConnectorStatusListener_exec_i::on_requested_incompatible_qos(
+ ::DDS::DataReader_ptr /*the_reader*/,
+ const DDS::RequestedIncompatibleQosStatus & /*status*/) {
+ //printf("Sender:ConnectorStatusListener_exec_i::on_requested_incompatible_qos, status = %dl\n", status);
+ }
+ void ConnectorStatusListener_exec_i::on_sample_rejected(
+ ::DDS::DataReader_ptr /*the_reader*/,
+ const DDS::SampleRejectedStatus & /*status*/) {
+ //printf("ConnectorStatusListener_exec_i::on_sample_rejected\n");
+ }
+ void ConnectorStatusListener_exec_i::on_offered_deadline_missed(
+ ::DDS::DataWriter_ptr /*the_writer*/,
+ const DDS::OfferedDeadlineMissedStatus & /*status*/) {
+ //printf("ConnectorStatusListener_exec_i::on_offered_deadline_missed\n");
+ }
+ void ConnectorStatusListener_exec_i::on_offered_incompatible_qos(
+ ::DDS::DataWriter_ptr the_writer,
+ const DDS::OfferedIncompatibleQosStatus & /*status*/) {
+// printf("Sender:ConnectorStatusListener_exec_i::on_offered_incompatible_qos status = %dl\n", status);
+ this->incompatible_ = true;
+ }
+ void ConnectorStatusListener_exec_i::on_unexpected_status(
+ ::DDS::Entity_ptr /*the_entity*/,
+ ::DDS::StatusKind /*status_kind*/) {
+ // CORBA::ULong kind = status_kind;
+ // printf("Sender :ConnectorStatusListener_exec_i::on_unexpected_status #### status_kind = %d \n", kind);
+ }
+ //============================================================
+ // Component Executor Implementation Class: Sender_exec_i
+ //============================================================
+
+ Sender_exec_i::Sender_exec_i (void)
+ : incompatible_ (false)
+ {
+ }
+
+ Sender_exec_i::~Sender_exec_i (void)
+ {
+ }
+
+ ::CCM_DDS::CCM_ConnectorStatusListener_ptr
+ Sender_exec_i::get_test_topic_connector_status (void)
+ {
+ // printf ("*************** out connector status sender ************************\n");
+ return new ConnectorStatusListener_exec_i (this->incompatible_);
+ }
+
+ // Supported operations and attributes.
+
+ void
+ Sender_exec_i::set_session_context (::Components::SessionContext_ptr ctx)
+ {
+ this->context_ =
+ ::CSL_QoSTest::CCM_Sender_Context::_narrow (ctx);
+
+ if ( ::CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ Sender_exec_i::configuration_complete (void)
+ {
+ //printf("-------------configuration_complete ----------------\n");
+ }
+
+ void
+ Sender_exec_i::ccm_activate (void)
+ {
+ }
+
+ void
+ Sender_exec_i::ccm_passivate (void)
+ {
+ }
+
+ void
+ Sender_exec_i::ccm_remove (void)
+ {
+ //printf("*************in remove Sender********** \n");
+
+ CORBA::Boolean _expected = true;
+ if(!this->incompatible_.value ())
+ {
+
+ CIAO_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: did not receive the expected ")
+ ACE_TEXT (" error 'on_offered_incompatible_Qos' in Sender")
+ ));
+ }
+
+ else
+ {
+ CIAO_DEBUG ((LM_DEBUG, ACE_TEXT ("Received the expected ")
+ ACE_TEXT ("'on_offered_incompatible_qos' in Sender\n")
+ ));
+ }
+
+ }
+
+ extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_QoSTest_Sender_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ Sender_exec_i);
+
+ return retval;
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.h
new file mode 100644
index 00000000000..a78ed1ce41e
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/Sender/CSL_QoSTest_Sender_exec.h
@@ -0,0 +1,87 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef CIAO_SENDER_EXEC_H_
+#define CIAO_SENDER_EXEC_H_
+
+
+#include "CSL_QoSTest_SenderEC.h"
+
+#include /**/ "Sender_exec_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/LocalObject.h"
+
+#include <map>
+
+namespace CIAO_CSL_QoSTest_Sender_Impl
+{
+ typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, CORBA::Boolean > Atomic_Boolean;
+
+ class Sender_exec_i;
+
+class SENDER_EXEC_Export ConnectorStatusListener_exec_i
+ : public virtual ::CCM_DDS::CCM_ConnectorStatusListener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ ConnectorStatusListener_exec_i (Atomic_Boolean &);
+ virtual ~ConnectorStatusListener_exec_i (void);
+
+ virtual
+ void on_inconsistent_topic( ::DDS::Topic_ptr the_topic,
+ const DDS::InconsistentTopicStatus & status);
+ virtual
+ void on_requested_incompatible_qos( ::DDS::DataReader_ptr the_reader,
+ const DDS::RequestedIncompatibleQosStatus & status);
+ virtual
+ void on_sample_rejected( ::DDS::DataReader_ptr the_reader,
+ const DDS::SampleRejectedStatus & status);
+ virtual
+ void on_offered_deadline_missed( ::DDS::DataWriter_ptr the_writer,
+ const DDS::OfferedDeadlineMissedStatus & status);
+ virtual
+ void on_offered_incompatible_qos( ::DDS::DataWriter_ptr the_writer,
+ const DDS::OfferedIncompatibleQosStatus & status);
+ virtual
+ void on_unexpected_status( ::DDS::Entity_ptr the_entity,
+ ::DDS::StatusKind status_kind);
+ private:
+ Atomic_Boolean &incompatible_;
+
+ };
+
+ class Sender_exec_i
+ : public virtual Sender_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ Sender_exec_i (void);
+ virtual ~Sender_exec_i (void);
+
+ virtual void set_session_context (::Components::SessionContext_ptr ctx);
+ virtual void configuration_complete (void);
+ virtual void ccm_activate (void);
+ virtual void ccm_passivate (void);
+ virtual void ccm_remove (void);
+ // Port operations.
+ virtual ::CCM_DDS::CCM_ConnectorStatusListener_ptr
+ get_test_topic_connector_status(void);
+
+ private:
+ ::CSL_QoSTest::CCM_Sender_Context_var context_;
+ Atomic_Boolean incompatible_;
+ };
+
+ extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_CSL_QoSTest_Sender_Impl (void);
+
+
+
+}
+
+#endif /* ifndef */
+
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/Plan.cdp b/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/Plan.cdp
new file mode 100644
index 00000000000..0b9194e3b37
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/Plan.cdp
@@ -0,0 +1,372 @@
+<Deployment:DeploymentPlan
+ xmlns:Deployment="http://www.omg.org/Deployment"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
+ <label>CSL_QoSTest_Depl_1</label>
+ <UUID>CSL_QoSTest_Depl_1</UUID>
+
+ <implementation xmi:id="ReceiverComponentImplementation">
+ <name>ReceiverComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Receiver_ExecArtifact" />
+ <artifact xmi:idref="Receiver_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_QoSTest_Receiver_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_QoSTest_Receiver_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Receiver_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Receiver_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="CSL_QoSTest_ConnectorComponentImplementation">
+ <name>CSL_QoSTest_ConnectorComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="CSL_QoSTest_Connector_ExecArtifact" />
+ <artifact xmi:idref="CSL_QoSTest_Connector_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_QoSTest_CSL_QoSTest_Connector_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_QoSTest_CSL_QoSTest_Connector_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>CSL_QoSTest_Connector_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>CSL_QoSTest_Connector_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+
+ <implementation xmi:id="SenderComponentImplementation">
+ <name>SenderComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Sender_ExecArtifact" />
+ <artifact xmi:idref="Sender_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_QoSTest_Sender_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CSL_QoSTest_Sender_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Sender_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Sender_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+ <instance xmi:id="ReceiverComponentInstance">
+ <name>ReceiverComponent</name>
+ <node>ReceiverNode</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ReceiverComponentImplementation" />
+ </instance>
+
+ <instance xmi:id="CSL_QoSTest_ConnectorComponentInstance">
+ <name>CSL_QoSTest_ConnectorComponent</name>
+ <node>SenderNode</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="CSL_QoSTest_ConnectorComponentImplementation" />
+ <configProperty>
+ <name>topic_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestQoS</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>qos_profile</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>HelloTest_Library#Hello_Profile</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+ <instance xmi:id="CSL_QoSTest_ConnectorComponentInstance2">
+ <name>CSL_QoSTest_ConnectorComponent2</name>
+ <node>ReceiverNode</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="CSL_QoSTest_ConnectorComponentImplementation" />
+ <configProperty>
+ <name>topic_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestQoS</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>qos_profile</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>HelloTest_Library#Hello_Profile</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+ <instance xmi:id="SenderComponentInstance">
+ <name>SenderComponent</name>
+ <node>SenderNode</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SenderComponentImplementation" />
+ </instance>
+
+ <connection>
+ <name>_listenercontrol</name>
+ <internalEndpoint>
+ <portName>info_out_data_control</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="ReceiverComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>push_consumer_data_control</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="CSL_QoSTest_ConnectorComponentInstance2" />
+ </internalEndpoint>
+ </connection>
+ <connection>
+ <name>_portstatuslistener</name>
+ <internalEndpoint>
+ <portName>info_out_status</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="ReceiverComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>push_consumer_status</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="CSL_QoSTest_ConnectorComponentInstance2" />
+ </internalEndpoint>
+ </connection>
+ <connection>
+ <name>_rawlistner</name>
+ <internalEndpoint>
+ <portName>info_out_data_listener</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="ReceiverComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>push_consumer_data_listener</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="CSL_QoSTest_ConnectorComponentInstance2" />
+ </internalEndpoint>
+ </connection>
+ <connection>
+ <name>info_out_connector_status_receiver</name>
+ <internalEndpoint>
+ <portName>info_out_connector_status</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="ReceiverComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>error_listener</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="CSL_QoSTest_ConnectorComponentInstance2" />
+ </internalEndpoint>
+ </connection>
+ <connection>
+ <name>test_topic_connector_status_sender</name>
+ <internalEndpoint>
+ <portName>test_topic_connector_status</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SenderComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>error_listener</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="CSL_QoSTest_ConnectorComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+
+ <artifact xmi:id="Sender_ExecArtifact">
+ <name>Sender_exec</name>
+ <source/>
+ <node/>
+ <location>Sender_exec</location>
+ </artifact>
+ <artifact xmi:id="Sender_SvntArtifact">
+ <name>Sender_svnt</name>
+ <source/>
+ <node/>
+ <location>Sender_svnt</location>
+ </artifact>
+ <artifact xmi:id="Sender_StubArtifact">
+ <name>Sender_stub</name>
+ <source/>
+ <node/>
+ <location>Sender_stub</location>
+ </artifact>
+ <artifact xmi:id="CSL_QoSTest_Connector_ExecArtifact">
+ <name>CSL_QoSTest_Connector_exec</name>
+ <source/>
+ <node/>
+ <location>DDS_CSL_QoSTest_Connector_exec</location>
+ </artifact>
+ <artifact xmi:id="CSL_QoSTest_Connector_SvntArtifact">
+ <name>CSL_QoSTest_Connector_svnt</name>
+ <source/>
+ <node/>
+ <location>DDS_CSL_QoSTest_Connector_svnt</location>
+ </artifact>
+ <artifact xmi:id="CSL_QoSTest_Connector_StubArtifact">
+ <name>CSL_QoSTest_Connector_stub</name>
+ <source/>
+ <node/>
+ <location>DDS_CSL_QoSTest_Connector_stub</location>
+ </artifact>
+
+
+ <artifact xmi:id="Receiver_ExecArtifact">
+ <name>Receiver_exec</name>
+ <source/>
+ <node/>
+ <location>Receiver_exec</location>
+ </artifact>
+ <artifact xmi:id="Receiver_SvntArtifact">
+ <name>Receiver_svnt</name>
+ <source/>
+ <node/>
+ <location>Receiver_svnt</location>
+ </artifact>
+ <artifact xmi:id="Receiver_StubArtifact">
+ <name>Receiver_stub</name>
+ <source/>
+ <node/>
+ <location>Receiver_stub</location>
+ </artifact>
+</Deployment:DeploymentPlan>
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/USER_QOS_PROFILES.xml b/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/USER_QOS_PROFILES.xml
new file mode 100644
index 00000000000..46125fa0b73
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/USER_QOS_PROFILES.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Description
+XML QoS Profile
+
+The QoS configuration of the DDS entities in the generated example is
+loaded from this file.
+
+This file is used only when it is in the current working directory
+or when the enviroment variable
+NDDS_QOS_PROFILES is defined and points to this file.
+
+For more information about XML QoS Profiles see Chapter 15 in the
+RTI Data Distribution Service user manual.
+-->
+<dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="c:/ndds/ndds.4.4d/scripts/../resource/rtiddsgen/../qos_profiles_4.4d/schema/rti_dds_qos_profiles.xsd" version="4.4d">
+ <!-- QoS Library containing the QoS profile used in the generated example.
+
+ A QoS library is a named set of QoS profiles.
+ -->
+ <qos_library name="HelloTest_Library">
+ <!-- QoS profile used to configure reliable communication between the DataWriter
+ and DataReader created in the example code.
+
+ A QoS profile groups a set of related QoS.
+ -->
+ <qos_profile name="Hello_Profile" is_default_qos="true">
+ <!-- QoS used to configure the data writer created in the example code -->
+ <datawriter_qos>
+ <reliability>
+ <kind>BEST_EFFORT_RELIABILITY_QOS</kind>
+ <max_blocking_time>
+ <sec>2</sec>
+ <nanosec>0</nanosec>
+ </max_blocking_time>
+ </reliability>
+ <durability>
+ <kind>TRANSIENT_DURABILITY_QOS</kind>
+ </durability>
+ <history>
+ <kind>KEEP_LAST_HISTORY_QOS</kind>
+ <depth>20</depth>
+ </history>
+ <protocol>
+ <rtps_reliable_writer>
+ <max_heartbeat_retries>10</max_heartbeat_retries>
+ </rtps_reliable_writer>
+ </protocol>
+ </datawriter_qos>
+ <!-- QoS used to configure the data reader created in the example code -->
+ <datareader_qos>
+ <reliability>
+ <kind>RELIABLE_RELIABILITY_QOS</kind>
+ </reliability>
+ <history>
+ <kind>KEEP_LAST_HISTORY_QOS</kind>
+ <depth>20</depth>
+ </history>
+ <durability>
+ <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
+ </durability>
+ </datareader_qos>
+
+ </qos_profile>
+ </qos_library>
+</dds> \ No newline at end of file
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl
new file mode 100755
index 00000000000..5ec04ef96f8
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl
@@ -0,0 +1,225 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 2;
+@ports = ( 60001, 60002 );
+@iorbases = ( "NodeApp1.ior", "NodeApp2.ior" );
+@iorfiles = 0;
+@nodenames = ( "SenderNode", "ReceiverNode" );
+
+# ior files other than daemon
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "Plan.cdp";
+
+PerlACE::add_lib_path ('../lib');
+$ENV{"DANCE_TRACE_ENABLE"} = 0;
+$ENV{"CIAO_TRACE_ENABLE"} = 0;
+
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for deamon $i failed\n";
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $result = $DEAMONS[$i]->Spawn ();
+ push(@processes, $DEAMONS[$i]);
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/Naming_Service", "-m 1 -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+$NS->Spawn ();
+
+print STDERR "Starting Naming Service with -m 1 -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1)
+{
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$EM->Spawn ();
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+$E->SpawnWaitKill (2*$tg_executor->ProcessStartWaitInterval ());
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 10 seconds to allow task to complete\n";
+sleep (10);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file -q\n";
+
+$E =
+ new PerlACE::Process ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -q");
+$E->SpawnWaitKill ($tg_executor->ProcessStopWaitInterval ());
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;