summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Mesnier <mesnier_p@ociweb.com>2013-05-13 15:53:10 +0000
committerPhil Mesnier <mesnier_p@ociweb.com>2013-05-13 15:53:10 +0000
commit742f5c4b5f4e4042c8b5dfce15184920aa8f116f (patch)
treea97f4a162961a05fa076f81424d3dcf8ae35d6ab
parent6fcf40edb16ecfabc7df7c5df7232fe9586e08d4 (diff)
downloadATCD-742f5c4b5f4e4042c8b5dfce15184920aa8f116f.tar.gz
merge from trunk
-rw-r--r--CIAO/CIAO_DAnCE.mwc5
-rw-r--r--CIAO/ChangeLog128
-rw-r--r--CIAO/NEWS8
-rw-r--r--CIAO/PROBLEM-REPORT-FORM6
-rw-r--r--CIAO/VERSION2
-rw-r--r--CIAO/bin/ciao_tests.lst1
-rw-r--r--CIAO/ciao/Logger/Log_Macros.cpp1
-rw-r--r--CIAO/ciao/Logger/Log_Macros.h13
-rw-r--r--CIAO/ciao/Version.h4
-rw-r--r--CIAO/connectors/dds4ccm/DDS4CCM-INSTALL.html66
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.pl10
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.pl10
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.pl10
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.pl10
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.pl10
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.pl10
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.pl10
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.pl10
-rw-r--r--CIAO/connectors/dds4ccm/impl/CCM_DataReader.h3
-rw-r--r--CIAO/connectors/dds4ccm/impl/ContentFilterSetting.cpp12
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp18
-rw-r--r--CIAO/connectors/dds4ccm/impl/DDS_Listen_T.h2
-rw-r--r--CIAO/connectors/dds4ccm/impl/logger/Log_Macros.cpp2
-rw-r--r--CIAO/connectors/dds4ccm/impl/logger/Log_Macros.h12
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeDerived/Base/Hello_Base.idl25
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeDerived/Base/Hello_Base.mpc26
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeDerived/Connector1/Hello_Connector.idl26
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeDerived/Connector1/Hello_Connector.mpc151
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeDerived/Connector2/Hello_Connector2.idl26
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeDerived/Connector2/Hello_Connector2.mpc151
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.idl56
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.mpc147
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender_exec.cpp725
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender_exec.h367
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeDerived/descriptors/DeploymentPlan.cdp753
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/HomeDerived/descriptors/run_test.pl251
-rw-r--r--CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/06_compilation.html2
37 files changed, 3006 insertions, 63 deletions
diff --git a/CIAO/CIAO_DAnCE.mwc b/CIAO/CIAO_DAnCE.mwc
index be8ad1b4393..a1d24e76292 100644
--- a/CIAO/CIAO_DAnCE.mwc
+++ b/CIAO/CIAO_DAnCE.mwc
@@ -3,6 +3,11 @@
workspace {
ccm
ciao
+ tools
+ connectors/ami4ccm/ami4ccm
+ connectors/dds4ccm/idl
+ connectors/dds4ccm/impl
+
$(DANCE_ROOT)
exclude {
$(DANCE_ROOT)/tests
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index cef064d4583..cc8ea86e84d 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,131 @@
+Mon May 13 07:14:04 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * NEWS:
+ Make 1.1.9 public and prepare for the next minor release
+
+Mon May 13 08:52:11 CEST 2013 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * CIAO version 1.1.9 released.
+
+Tue Apr 23 7:34:41 UTC 2013 Marijke Hengstmengel <mhengstmengel@remedy.nl>
+
+ * connectors/dds4ccm/tests/HomeDerived/descriptors/run_test.pl:
+ Changed nr of deamons.
+
+Fri Apr 19 10:22:41 UTC 2013 Marijke Hengstmengel <mhengstmengel@remedy.nl>
+
+ * connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.mpc:
+ Added lib Connector2_stub to svnt
+
+Thu Apr 18 18:37:16 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * connectors/dds4ccm/impl/CCM_DataReader.h:
+ Layout change
+
+ * connectors/dds4ccm/impl/ContentFilterSetting.cpp:
+ Log name of CFT
+
+Thu Apr 18 14:37:41 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.mpc:
+ Make project names unique
+
+Thu Apr 18 13:04:48 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * connectors/dds4ccm/tests/HomeDerived/descriptors/DeploymentPlan.cdp:
+ Don't use qos_profile, not needed for this test
+
+ * connectors/dds4ccm/tests/HomeDerived/descriptors/USER_QOS_PROFILES.xml:
+ Removed this file.
+
+Thu Apr 18 12:42:46 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp:
+ Check if transport config exists before trying to create it,
+ fixes ResetTopic tests
+
+Thu Apr 18 10:25:57 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * connectors/dds4ccm/tutorials/Shapes/Tutorial/06_compilation.html:
+ html fix
+
+Thu Apr 18 09:44:00 UTC 2013 Marijke Hengstmengel <mhengstmengel@remedy.nl>
+
+ * connectors/dds4ccm/tests/HomeDerived/Connector2/Hello_Connector2.idl:
+ Fuzz error
+
+Thu Apr 18 08:50:34 UTC 2013 Marijke Hengstmengel <mhengstmengel@remedy.nl>
+
+ * bin/ciao_tests.lst:
+ * connectors/dds4ccm/tests/HomeDerived:
+ * connectors/dds4ccm/tests/HomeDerived/Base:
+ * connectors/dds4ccm/tests/HomeDerived/Base/Hello_Base.idl:
+ * connectors/dds4ccm/tests/HomeDerived/Base/Hello_Base.mpc:
+ * connectors/dds4ccm/tests/HomeDerived/Connector1:
+ * connectors/dds4ccm/tests/HomeDerived/Connector1/Hello_Connector.idl:
+ * connectors/dds4ccm/tests/HomeDerived/Connector1/Hello_Connector.mpc:
+ * connectors/dds4ccm/tests/HomeDerived/Connector2:
+ * connectors/dds4ccm/tests/HomeDerived/Connector2/Hello_Connector2.idl:
+ * connectors/dds4ccm/tests/HomeDerived/Connector2/Hello_Connector2.mpc:
+ * connectors/dds4ccm/tests/HomeDerived/Sender:
+ * connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.idl:
+ * connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.mpc:
+ * connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender_exec.h:
+ * connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender_exec.cpp:
+ * connectors/dds4ccm/tests/HomeDerived/descriptors:
+ * connectors/dds4ccm/tests/HomeDerived/descriptors/DeploymentPlan.cdp:
+ * connectors/dds4ccm/tests/HomeDerived/descriptors/USER_QOS_PROFILES.xml:
+ * connectors/dds4ccm/tests/HomeDerived/descriptors/run_test.pl:
+ Test with derived homes and derived home components .
+
+Tue Apr 16 17:54:56 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * connectors/dds4ccm/DDS4CCM-INSTALL.html:
+ Several fixes
+
+Tue Apr 16 17:30:31 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * connectors/dds4ccm/DDS4CCM-INSTALL.html:
+ Detailed step by step instructions for DDS4CCM with RTI DDS on Linux
+
+Mon Apr 15 18:18:18 UTC 2013 Adam Mitz <mitza@ociweb.com>
+
+ * CIAO_DAnCE.mwc:
+
+ Added ami4ccm and dds4ccm connectors to this workspace.
+
+Mon Apr 15 08:59:47 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * connectors/dds4ccm/DDS4CCM-INSTALL.html:
+ Added exact instructions how to compile DDS4CCM with OpenDDS
+ on linux. These can be copied to the console and will compile
+ everything
+
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.pl:
+ Make these running on trunk, only run_8.pl needs some more work
+
+Fri Apr 12 20:40:54 UTC 2013 Adam Mitz <mitza@ociweb.com>
+
+ * ciao/Logger/Log_Macros.h:
+ * ciao/Logger/Log_Macros.cpp:
+ * connectors/dds4ccm/impl/logger/Log_Macros.h:
+ * connectors/dds4ccm/impl/logger/Log_Macros.cpp:
+
+ Use distinct ACE Log Categories for both CIAO and DDS4CCM.
+
+Thu Apr 11 06:49:15 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * connectors/dds4ccm/impl/DDS_Listen_T.h:
+ Added missing includes in case an user includes this template
+ stand alone in his own custom connector
+
Wed Apr 10 14:08:25 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
* connectors/dds4ccm/DDS4CCM-INSTALL.html:
diff --git a/CIAO/NEWS b/CIAO/NEWS
index d48fabf88c3..c64f0036d24 100644
--- a/CIAO/NEWS
+++ b/CIAO/NEWS
@@ -1,6 +1,12 @@
-USER VISIBLE CHANGES BETWEEN CIAO-1.1.8 and CIAO-1.2.0
+USER VISIBLE CHANGES BETWEEN CIAO-1.1.9 and CIAO-1.2.0
=======================================================
+USER VISIBLE CHANGES BETWEEN CIAO-1.1.8 and CIAO-1.1.9
+=======================================================
+
+. Improved support of DDS4CCM with OpenDDS as underlying
+ DDS implementation
+
USER VISIBLE CHANGES BETWEEN CIAO-1.1.7 and CIAO-1.1.8
=======================================================
diff --git a/CIAO/PROBLEM-REPORT-FORM b/CIAO/PROBLEM-REPORT-FORM
index 5c269cc0fa3..c5fa123ac34 100644
--- a/CIAO/PROBLEM-REPORT-FORM
+++ b/CIAO/PROBLEM-REPORT-FORM
@@ -41,9 +41,9 @@
To: ciao-users@list.isis.vanderbilt.edu
Subject: [area]: [synopsis]
- CIAO VERSION: 1.1.8
- TAO VERSION : 2.1.8
- ACE VERSION : 6.1.8
+ CIAO VERSION: 1.1.9
+ TAO VERSION : 2.1.9
+ ACE VERSION : 6.1.9
HOST MACHINE and OPERATING SYSTEM:
If on Windows based OS's, which version of WINSOCK do you
diff --git a/CIAO/VERSION b/CIAO/VERSION
index 6a88518017f..5e72e0b48b7 100644
--- a/CIAO/VERSION
+++ b/CIAO/VERSION
@@ -1,4 +1,4 @@
-This is CIAO version 1.1.8, released Thu Mar 14 09:04:46 CET 2013
+This is CIAO version 1.1.9, released Mon May 13 08:52:11 CEST 2013
If you have any problems with or questions about CIAO, please send
e-mail to the CIAO mailing list (ciao-users@list.isis.vanderbilt.edu),
diff --git a/CIAO/bin/ciao_tests.lst b/CIAO/bin/ciao_tests.lst
index 588d5ae77e9..a4263bfd675 100644
--- a/CIAO/bin/ciao_tests.lst
+++ b/CIAO/bin/ciao_tests.lst
@@ -86,6 +86,7 @@ TAO/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/ReadGet/descriptors/run_t
TAO/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/Deployments/run_test.pl: DDS4CCM
TAO/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/Exception/descriptors/run_test.pl: DDS4CCM
TAO/CIAO/connectors/dds4ccm/tests/KeyedSamples/descriptors/run_test.pl: DDS4CCM
+TAO/CIAO/connectors/dds4ccm/tests/HomeDerived/descriptors/run_test.pl: DDS4CCM
TAO/CIAO/connectors/dds4ccm/tests/UnkeyedSamples/descriptors/run_test.pl: DDS4CCM
TAO/CIAO/connectors/dds4ccm/tests/Event_Connection_Test/descriptors/run_test.pl: DDS4CCM
TAO/CIAO/connectors/dds4ccm/tests/State_Connection_Test/descriptors/run_test.pl: DDS4CCM
diff --git a/CIAO/ciao/Logger/Log_Macros.cpp b/CIAO/ciao/Logger/Log_Macros.cpp
index 6b7dd6aeac9..b5151595b15 100644
--- a/CIAO/ciao/Logger/Log_Macros.cpp
+++ b/CIAO/ciao/Logger/Log_Macros.cpp
@@ -4,3 +4,4 @@
CIAO_Logger_Export unsigned int CIAO_debug_level = 0;
+CIAO_Logger_Export ACE_Log_Category CIAO_log_category ("CIAO");
diff --git a/CIAO/ciao/Logger/Log_Macros.h b/CIAO/ciao/Logger/Log_Macros.h
index 33c4d33ab95..5092e14cd6d 100644
--- a/CIAO/ciao/Logger/Log_Macros.h
+++ b/CIAO/ciao/Logger/Log_Macros.h
@@ -9,6 +9,8 @@
#ifndef CIAO_LOG_MACROS_H_
#define CIAO_LOG_MACROS_H_
+#include "ace/Log_Category.h"
+
// default information printed with CIAO logging messages.
#include "CIAO_Logger_Export.h"
@@ -19,6 +21,8 @@
extern CIAO_Logger_Export unsigned int CIAO_debug_level;
+extern CIAO_Logger_Export ACE_Log_Category CIAO_log_category;
+
// By default tracing is turned off.
#if !defined (CIAO_NTRACE)
# define CIAO_NTRACE 1
@@ -62,7 +66,8 @@ extern CIAO_Logger_Export unsigned int CIAO_debug_level;
if (CIAO_debug_level >= L) \
{ \
int const __ace_error = ACE_Log_Msg::last_error_adapter (); \
- ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
+ ACE_Log_Category_TSS *ace___ = CIAO_log_category.per_thr_obj (); \
+ if (ace___ == 0) break; \
ace___->conditional_set (__FILE__, __LINE__, -1, __ace_error); \
ace___->log X; \
} \
@@ -74,7 +79,8 @@ extern CIAO_Logger_Export unsigned int CIAO_debug_level;
if (CIAO_debug_level >= L) \
{ \
int const __ace_error = ACE_Log_Msg::last_error_adapter (); \
- ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
+ ACE_Log_Category_TSS *ace___ = CIAO_log_category.per_thr_obj (); \
+ if (ace___ == 0) break; \
ace___->conditional_set (__FILE__, __LINE__, 0, __ace_error); \
ace___->log X; \
} \
@@ -86,7 +92,8 @@ extern CIAO_Logger_Export unsigned int CIAO_debug_level;
if (CIAO_debug_level >= L) \
{ \
int const __ace_error = ACE_Log_Msg::last_error_adapter (); \
- ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
+ ACE_Log_Category_TSS *ace___ = CIAO_log_category.per_thr_obj (); \
+ if (ace___ == 0) break; \
ace___->conditional_set (__FILE__, __LINE__, Y, __ace_error); \
ace___->log X; \
} \
diff --git a/CIAO/ciao/Version.h b/CIAO/ciao/Version.h
index b764bdeecc1..724f64d50d7 100644
--- a/CIAO/ciao/Version.h
+++ b/CIAO/ciao/Version.h
@@ -5,5 +5,5 @@
#define CIAO_MAJOR_VERSION 1
#define CIAO_MINOR_VERSION 1
-#define CIAO_BETA_VERSION 8
-#define CIAO_VERSION "1.1.8"
+#define CIAO_BETA_VERSION 9
+#define CIAO_VERSION "1.1.9"
diff --git a/CIAO/connectors/dds4ccm/DDS4CCM-INSTALL.html b/CIAO/connectors/dds4ccm/DDS4CCM-INSTALL.html
index a68ce38f6b1..581d9879d10 100644
--- a/CIAO/connectors/dds4ccm/DDS4CCM-INSTALL.html
+++ b/CIAO/connectors/dds4ccm/DDS4CCM-INSTALL.html
@@ -60,7 +60,73 @@ For compiling and installing CIAO see <a href="../../CIAO-INSTALL.html">CIAO-INS
because we are using several of the OpenDDS libraries and the OpenDDS IDL compiler.
</p>
<hr>
+ <h3>Building and Installing DDS4CCM with OpenDDS on Linux</h3>
+
+Building DDS4CCM with OpenDDS integration takes a few manual steps to get the job done. Besides downloading ACE+TAO+CIAO+DAnCE and OpenDDS
+the build has to be configured. For this integration we need 3 configuration files. For controlling the MPC makefile generation
+we need to create $ACE_ROOT/bin/MakeProjectCreator/config/default.features. This is needed because each DDS vendor has its own IDL compiler
+which has to be triggered during the build step. Secondly we need to create $ACE_ROOT/include/makeinclude/platform_macros.GNU to define
+the settings for GNU make, and as last we create $ACE_ROOT/ace/config.h to control the compiler settings. After initial compilation you can
+tweak more settings in these 3 files, but we do recommend to do a full rebuild when changing any of these files.
+</p><p>
+The steps below download ATCD and OpenDDS, create all needed environment variables and configuration
+files and compiles all core code and the DDS4CCM shapes example. As last step it deploys this
+example which dumps shapes information to the console.
+<pre>
+wget http://download.dre.vanderbilt.edu/ACE+TAO-distribution/ACE+TAO+CIAO-src.tar.bz2
+wget http://download.ociweb.com/OpenDDS/OpenDDS-3.4.1.tar.gz
+tar xvf ACE+TAO+CIAO-src.tar.bz2
+tar xvf OpenDDS-3.4.1.tar.gz
+export DOC_ROOT=`pwd`
+export ACE_ROOT=$DOC_ROOT/ACE_wrappers
+export TAO_ROOT=$ACE_ROOT/TAO
+export CIAO_ROOT=$TAO_ROOT/CIAO
+export DANCE_ROOT=$TAO_ROOT/DAnCE
+export DDS_ROOT=$DOC_ROOT/DDS
+export LD_LIBRARY_PATH=$ACE_ROOT/lib:$DDS_ROOT/lib:$LD_LIBRARY_PATH
+echo -e '#include "ace/config-linux.h"' > $ACE_ROOT/ace/config.h
+echo -e 'dds4ccm_opendds=1\nxerces3=1\ninclude $(ACE_ROOT)/include/makeinclude/platform_linux.GNU' > $ACE_ROOT/include/makeinclude/platform_macros.GNU
+echo -e 'dds4ccm_opendds=1\ndds_suppress_anys=0\nxerces3=1\n' > $ACE_ROOT/bin/MakeProjectCreator/config/default.features
+cd $CIAO_ROOT && $ACE_ROOT/bin/mwc.pl -type gnuace -workers 4 CIAO_TAO_DAnCE_OpenDDS.mwc
+cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes && $ACE_ROOT/bin/mwc.pl -type gnuace -workers 4
+cd $CIAO_ROOT && make
+cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes && make
+cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes/descriptors && perl run_test.pl
+</pre>
+ <h3>Building and Installing DDS4CCM with RTI DDS on Linux</h3>
+
+Building DDS4CCM with RTI DDS integration takes a few manual steps to get the job done. Besides downloading ACE+TAO+CIAO+DAnCE and RTI DDS
+the build has to be configured. For this integration we need 3 configuration files. For controlling the MPC makefile generation
+we need to create $ACE_ROOT/bin/MakeProjectCreator/config/default.features. This is needed because each DDS vendor has its own IDL compiler
+which has to be triggered during the build step. Secondly we need to create $ACE_ROOT/include/makeinclude/platform_macros.GNU to define
+the settings for GNU make, and as last we create $ACE_ROOT/ace/config.h to control the compiler settings. After initial compilation you can
+tweak more settings in these 3 files, but we do recommend to do a full rebuild when changing any of these files.
+</p><p>
+The steps below assume that RTI DDS has been obtained from RTI including their CORBA Compatibility Kit (CCK). The environment
+variables NDDSHOME and NDDSARCHITECTURE must be defined accordingly the RTI documentation.
+</p><p>
+The steps below download ATCD, create all needed ATCD environment variables and configuration
+files and compiles all core code and the DDS4CCM shapes example. As last step it deploys this
+example which dumps shapes information to the console.
+<pre>
+wget http://download.dre.vanderbilt.edu/ACE+TAO-distribution/ACE+TAO+CIAO-src.tar.bz2
+tar xvf ACE+TAO+CIAO-src.tar.bz2
+export DOC_ROOT=`pwd`
+export ACE_ROOT=$DOC_ROOT/ACE_wrappers
+export TAO_ROOT=$ACE_ROOT/TAO
+export CIAO_ROOT=$TAO_ROOT/CIAO
+export DANCE_ROOT=$TAO_ROOT/DAnCE
+export LD_LIBRARY_PATH=$ACE_ROOT/lib:$LD_LIBRARY_PATH
+echo -e '#include "ace/config-linux.h"' > $ACE_ROOT/ace/config.h
+echo -e 'dds4ccm_ndds=1\nndds=1\nxerces3=1\ninclude $(ACE_ROOT)/include/makeinclude/platform_linux.GNU' > $ACE_ROOT/include/makeinclude/platform_macros.GNU
+echo -e 'dds4ccm_ndds=1\nndds=1\nxerces3=1\n' > $ACE_ROOT/bin/MakeProjectCreator/config/default.features
+cd $CIAO_ROOT && $ACE_ROOT/bin/mwc.pl -type gnuace -workers 4 CIAO_TAO_DAnCE.mwc
+cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes && $ACE_ROOT/bin/mwc.pl -type gnuace -workers 4
+cd $CIAO_ROOT && make
+cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes && make
+cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes/descriptors && perl run_test.pl
+</pre>
<h3>Supported Platforms for DDS4CCM</h3>
<p>DDS4CCM is daily compiled and tested on Linux with RTI DDS and OpenDDS. It does compile on Windows with Microsoft Visual Studio 10 but
we have not validated all tests.
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.pl
index 80183c57650..fe1b082385b 100755
--- a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.pl
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.pl
@@ -47,18 +47,18 @@ $cdp_file = "run_1.cdp";
sub create_targets {
# naming service
$tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
- $tg_naming->AddLibPath ('../lib');
+ $tg_naming->AddLibPath ('../../lib');
# daemon
for ($i = 0; $i < $nr_daemon; ++$i) {
$tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('../lib');
+ $tg_daemons[$i]->AddLibPath ('../../lib');
}
# execution manager
$tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- $tg_exe_man->AddLibPath ('../lib');
+ $tg_exe_man->AddLibPath ('../../lib');
# executor (plan_launcher)
$tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- $tg_executor->AddLibPath ('../lib');
+ $tg_executor->AddLibPath ('../../lib');
}
sub init_ior_files {
@@ -139,7 +139,7 @@ init_ior_files ();
# Invoke naming service
-$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
$ns_status = $NS->Spawn ();
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.pl
index ef1b8aae488..3e4a18cb1d7 100755
--- a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.pl
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.pl
@@ -47,18 +47,18 @@ $cdp_file = "run_2.cdp";
sub create_targets {
# naming service
$tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
- $tg_naming->AddLibPath ('../lib');
+ $tg_naming->AddLibPath ('../../lib');
# daemon
for ($i = 0; $i < $nr_daemon; ++$i) {
$tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('../lib');
+ $tg_daemons[$i]->AddLibPath ('../../lib');
}
# execution manager
$tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- $tg_exe_man->AddLibPath ('../lib');
+ $tg_exe_man->AddLibPath ('../../lib');
# executor (plan_launcher)
$tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- $tg_executor->AddLibPath ('../lib');
+ $tg_executor->AddLibPath ('../../lib');
}
sub init_ior_files {
@@ -139,7 +139,7 @@ init_ior_files ();
# Invoke naming service
-$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
$ns_status = $NS->Spawn ();
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.pl
index 1ecb11d259a..ac5a1df9fef 100755
--- a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.pl
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.pl
@@ -47,18 +47,18 @@ $cdp_file = "run_3.cdp";
sub create_targets {
# naming service
$tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
- $tg_naming->AddLibPath ('../lib');
+ $tg_naming->AddLibPath ('../../lib');
# daemon
for ($i = 0; $i < $nr_daemon; ++$i) {
$tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('../lib');
+ $tg_daemons[$i]->AddLibPath ('../../lib');
}
# execution manager
$tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- $tg_exe_man->AddLibPath ('../lib');
+ $tg_exe_man->AddLibPath ('../../lib');
# executor (plan_launcher)
$tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- $tg_executor->AddLibPath ('../lib');
+ $tg_executor->AddLibPath ('../../lib');
}
sub init_ior_files {
@@ -139,7 +139,7 @@ init_ior_files ();
# Invoke naming service
-$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
$ns_status = $NS->Spawn ();
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.pl
index 0596f51235c..8d99d865ddf 100755
--- a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.pl
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.pl
@@ -47,18 +47,18 @@ $cdp_file = "run_4.cdp";
sub create_targets {
# naming service
$tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
- $tg_naming->AddLibPath ('../lib');
+ $tg_naming->AddLibPath ('../../lib');
# daemon
for ($i = 0; $i < $nr_daemon; ++$i) {
$tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('../lib');
+ $tg_daemons[$i]->AddLibPath ('../../lib');
}
# execution manager
$tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- $tg_exe_man->AddLibPath ('../lib');
+ $tg_exe_man->AddLibPath ('../../lib');
# executor (plan_launcher)
$tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- $tg_executor->AddLibPath ('../lib');
+ $tg_executor->AddLibPath ('../../lib');
}
sub init_ior_files {
@@ -139,7 +139,7 @@ init_ior_files ();
# Invoke naming service
-$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
$ns_status = $NS->Spawn ();
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.pl
index 89d4d9ce552..ec84ee2c3c9 100755
--- a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.pl
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.pl
@@ -47,18 +47,18 @@ $cdp_file = "run_6.cdp";
sub create_targets {
# naming service
$tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
- $tg_naming->AddLibPath ('../lib');
+ $tg_naming->AddLibPath ('../../lib');
# daemon
for ($i = 0; $i < $nr_daemon; ++$i) {
$tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('../lib');
+ $tg_daemons[$i]->AddLibPath ('../../lib');
}
# execution manager
$tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- $tg_exe_man->AddLibPath ('../lib');
+ $tg_exe_man->AddLibPath ('../../lib');
# executor (plan_launcher)
$tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- $tg_executor->AddLibPath ('../lib');
+ $tg_executor->AddLibPath ('../../lib');
}
sub init_ior_files {
@@ -139,7 +139,7 @@ init_ior_files ();
# Invoke naming service
-$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
$ns_status = $NS->Spawn ();
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.pl
index 8f8185790c4..a1bb099545c 100755
--- a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.pl
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.pl
@@ -47,18 +47,18 @@ $cdp_file = "run_7.cdp";
sub create_targets {
# naming service
$tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
- $tg_naming->AddLibPath ('../lib');
+ $tg_naming->AddLibPath ('../../lib');
# daemon
for ($i = 0; $i < $nr_daemon; ++$i) {
$tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('../lib');
+ $tg_daemons[$i]->AddLibPath ('../../lib');
}
# execution manager
$tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- $tg_exe_man->AddLibPath ('../lib');
+ $tg_exe_man->AddLibPath ('../../lib');
# executor (plan_launcher)
$tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- $tg_executor->AddLibPath ('../lib');
+ $tg_executor->AddLibPath ('../../lib');
}
sub init_ior_files {
@@ -139,7 +139,7 @@ init_ior_files ();
# Invoke naming service
-$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
$ns_status = $NS->Spawn ();
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.pl
index 0a567fce817..d3ea84e5e12 100755
--- a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.pl
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.pl
@@ -47,18 +47,18 @@ $cdp_file = "run_8.cdp";
sub create_targets {
# naming service
$tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
- $tg_naming->AddLibPath ('../lib');
+ $tg_naming->AddLibPath ('../../lib');
# daemon
for ($i = 0; $i < $nr_daemon; ++$i) {
$tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('../lib');
+ $tg_daemons[$i]->AddLibPath ('../../lib');
}
# execution manager
$tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- $tg_exe_man->AddLibPath ('../lib');
+ $tg_exe_man->AddLibPath ('../../lib');
# executor (plan_launcher)
$tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- $tg_executor->AddLibPath ('../lib');
+ $tg_executor->AddLibPath ('../../lib');
}
sub init_ior_files {
@@ -139,7 +139,7 @@ init_ior_files ();
# Invoke naming service
-$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
$ns_status = $NS->Spawn ();
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.pl
index 9ad5a188578..094fdea1230 100755
--- a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.pl
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.pl
@@ -47,18 +47,18 @@ $cdp_file = "run_9.cdp";
sub create_targets {
# naming service
$tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
- $tg_naming->AddLibPath ('../lib');
+ $tg_naming->AddLibPath ('../../lib');
# daemon
for ($i = 0; $i < $nr_daemon; ++$i) {
$tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('../lib');
+ $tg_daemons[$i]->AddLibPath ('../../lib');
}
# execution manager
$tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- $tg_exe_man->AddLibPath ('../lib');
+ $tg_exe_man->AddLibPath ('../../lib');
# executor (plan_launcher)
$tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- $tg_executor->AddLibPath ('../lib');
+ $tg_executor->AddLibPath ('../../lib');
}
sub init_ior_files {
@@ -139,7 +139,7 @@ init_ior_files ();
# Invoke naming service
-$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
$ns_status = $NS->Spawn ();
diff --git a/CIAO/connectors/dds4ccm/impl/CCM_DataReader.h b/CIAO/connectors/dds4ccm/impl/CCM_DataReader.h
index 97f16565307..c473a2106e0 100644
--- a/CIAO/connectors/dds4ccm/impl/CCM_DataReader.h
+++ b/CIAO/connectors/dds4ccm/impl/CCM_DataReader.h
@@ -106,8 +106,7 @@ namespace CIAO
void set_dds_entity (::DDS::DataReader_ptr dr);
- ::DDS::DataReader_ptr
- get_dds_entity (void);
+ ::DDS::DataReader_ptr get_dds_entity (void);
private:
::DDS::DataReader_var dds_entity_;
diff --git a/CIAO/connectors/dds4ccm/impl/ContentFilterSetting.cpp b/CIAO/connectors/dds4ccm/impl/ContentFilterSetting.cpp
index e2fb2e5ba1d..4ff36edbf8b 100644
--- a/CIAO/connectors/dds4ccm/impl/ContentFilterSetting.cpp
+++ b/CIAO/connectors/dds4ccm/impl/ContentFilterSetting.cpp
@@ -90,7 +90,8 @@ namespace CIAO
{
DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO
"CCM_DDS_ContentFilterSetting_i::create_contentfilteredtopic: "
- "Error creating ContentfilteredTopic.\n"));
+ "Error creating ContentFilteredTopic <%C>.\n",
+ name.get ()));
throw ::CORBA::INTERNAL ();
}
DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO
@@ -112,6 +113,7 @@ namespace CIAO
::DDS::ContentFilteredTopic_var cft = this->cft_._retn ();
if (! ::CORBA::is_nil (dp.in ()) && (! ::CORBA::is_nil (cft.in ())))
{
+ ::CORBA::String_var name = cft->get_name ();
::DDS::ReturnCode_t const retcode =
dp->delete_contentfilteredtopic (cft.in ());
@@ -119,13 +121,15 @@ namespace CIAO
{
DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO
"CCM_DDS_ContentFilterSetting_i::delete_contentfilteredtopic: "
- "successfully deleted ContentfilteredTopic\n"));
+ "successfully deleted ContentFilteredTopic <%C>\n",
+ name.in ()));
}
else
{
DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO
"CCM_DDS_ContentFilterSetting_i::delete_contentfilteredtopic: "
- "Error deleting contentfilteredtopic: <%C>\n",
+ "Error deleting ContentFilteredTopic <%C>: <%C>\n",
+ name.in (),
translate_retcode (retcode)));
throw ::CCM_DDS::InternalError (retcode, 0);
}
@@ -153,7 +157,7 @@ namespace CIAO
{
DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO
"CCM_DDS_ContentFilterSetting_i::set_filter_parameters: "
- "successfully set parameters on ContentfilteredTopic\n"));
+ "successfully set parameters on ContentFilteredTopic\n"));
this->filter_.parameters = parameters;
}
else
diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp
index f3c7012c760..9937b89c4bf 100644
--- a/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp
+++ b/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp
@@ -330,11 +330,23 @@ DDS_Base_Connector_T<CCM_TYPE>::init_domain (
config_name.c_str(), rtps_transport_name.c_str ()));
OpenDDS::DCPS::TransportInst_rch inst =
- OpenDDS::DCPS::TransportRegistry::instance()->create_inst(rtps_transport_name,
- "rtps_udp");
+ OpenDDS::DCPS::TransportRegistry::instance()->get_inst(rtps_transport_name);
+
+ if (inst.is_nil())
+ {
+ inst =
+ OpenDDS::DCPS::TransportRegistry::instance()->create_inst(rtps_transport_name,
+ "rtps_udp");
+ }
OpenDDS::DCPS::TransportConfig_rch config =
- OpenDDS::DCPS::TransportRegistry::instance()->create_config(config_name);
+ OpenDDS::DCPS::TransportRegistry::instance()->get_config(config_name);
+
+ if (config.is_nil ())
+ {
+ config =
+ OpenDDS::DCPS::TransportRegistry::instance()->create_config(config_name);
+ }
config->instances_.push_back (inst);
TheTransportRegistry->bind_config(config, participant);
diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.h
index b1d1ff61d26..970678ed91c 100644
--- a/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.h
+++ b/CIAO/connectors/dds4ccm/impl/DDS_Listen_T.h
@@ -9,6 +9,8 @@
#define DDS_LISTEN_T_H_
#include "dds4ccm/impl/DDS_Subscriber_Base_T.h"
+#include "dds4ccm/impl/DataReaderListener_T.h"
+#include "dds4ccm/impl/DataListenerControl_T.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
class ACE_Reactor;
diff --git a/CIAO/connectors/dds4ccm/impl/logger/Log_Macros.cpp b/CIAO/connectors/dds4ccm/impl/logger/Log_Macros.cpp
index 23cd7a7146e..9a053f4ca5c 100644
--- a/CIAO/connectors/dds4ccm/impl/logger/Log_Macros.cpp
+++ b/CIAO/connectors/dds4ccm/impl/logger/Log_Macros.cpp
@@ -3,3 +3,5 @@
#include "Log_Macros.h"
DDS4CCM_Logger_Export unsigned int DDS4CCM_debug_level = 0;
+
+DDS4CCM_Logger_Export ACE_Log_Category DDS4CCM_log_category ("DDS4CCM");
diff --git a/CIAO/connectors/dds4ccm/impl/logger/Log_Macros.h b/CIAO/connectors/dds4ccm/impl/logger/Log_Macros.h
index 3d4f6da0fbc..0f3ef95d096 100644
--- a/CIAO/connectors/dds4ccm/impl/logger/Log_Macros.h
+++ b/CIAO/connectors/dds4ccm/impl/logger/Log_Macros.h
@@ -12,6 +12,7 @@
// default information printed with CIAO logging messages.
#include "DDS4CCM_Logger_Export.h"
#include "ace/Log_Msg.h"
+#include "ace/Log_Category.h"
#if !defined (DDS4CCM_INFO)
# define DDS4CCM_INFO "(%P|%t) [%M] - %T - "
@@ -31,6 +32,8 @@
extern DDS4CCM_Logger_Export unsigned int DDS4CCM_debug_level;
+extern DDS4CCM_Logger_Export ACE_Log_Category DDS4CCM_log_category;
+
// By default tracing is turned off.
#if !defined (DDS4CCM_NTRACE)
# define DDS4CCM_NTRACE 1
@@ -77,7 +80,8 @@ extern DDS4CCM_Logger_Export unsigned int DDS4CCM_debug_level;
if (DDS4CCM_debug_level >= L) \
{ \
int const __ace_error = ACE_Log_Msg::last_error_adapter (); \
- ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
+ ACE_Log_Category_TSS *ace___ = DDS4CCM_log_category.per_thr_obj (); \
+ if (ace___ == 0) break; \
ace___->conditional_set (__FILE__, __LINE__, -1, __ace_error); \
ace___->log X; \
} \
@@ -90,7 +94,8 @@ extern DDS4CCM_Logger_Export unsigned int DDS4CCM_debug_level;
if (DDS4CCM_debug_level >= L) \
{ \
int const __ace_error = ACE_Log_Msg::last_error_adapter (); \
- ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
+ ACE_Log_Category_TSS *ace___ = DDS4CCM_log_category.per_thr_obj (); \
+ if (ace___ == 0) break; \
ace___->conditional_set (__FILE__, __LINE__, 0, __ace_error); \
ace___->log X; \
} \
@@ -140,7 +145,8 @@ extern DDS4CCM_Logger_Export unsigned int DDS4CCM_debug_level;
if (DDS4CCM_debug_level >= L) \
{ \
int const __ace_error = ACE_Log_Msg::last_error_adapter (); \
- ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
+ ACE_Log_Category_TSS *ace___ = DDS4CCM_log_category.per_thr_obj (); \
+ if (ace___ == 0) break; \
ace___->conditional_set (__FILE__, __LINE__, Y, __ace_error); \
ace___->log X; \
} \
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/Base/Hello_Base.idl b/CIAO/connectors/dds4ccm/tests/HomeDerived/Base/Hello_Base.idl
new file mode 100644
index 00000000000..52e2616135b
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/Base/Hello_Base.idl
@@ -0,0 +1,25 @@
+// $Id$
+
+/**
+ * @file Hello_Base.idl
+ * @author Marijke Hengstmengel (mhengstmengel@remedy.nl)
+ */
+
+#ifndef HELLO_BASE_IDL
+#define HELLO_BASE_IDL
+
+#pragma ndds typesupport "Base/Hello_BaseSupport.h"
+#pragma opendds typesupport "Base/Hello_BaseTypeSupportImpl.h"
+
+#pragma DCPS_DATA_TYPE "DDSHello"
+
+struct DDSHello {
+ string hello;
+ short iterator;
+};
+
+#if defined DDS4CCM_NEEDS_SEQUENCES_DEFINED
+typedef sequence<DDSHello> DDSHelloSeq;
+#endif
+
+#endif
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/Base/Hello_Base.mpc b/CIAO/connectors/dds4ccm/tests/HomeDerived/Base/Hello_Base.mpc
new file mode 100644
index 00000000000..450d2e2d5c9
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/Base/Hello_Base.mpc
@@ -0,0 +1,26 @@
+// $Id$
+
+project (Home_Hello_Base_stub) : taoidldefaults, dds4ccm_ts_default {
+ sharedname = Home_Hello_Base_stub
+ dynamicflags += HELLO_BASE_STUB_BUILD_DLL
+ libout = ../lib
+
+ idlflags += -SS -Sci \
+ -Wb,stub_export_macro=HELLO_BASE_STUB_Export \
+ -Wb,stub_export_include=Hello_Base_stub_export.h
+
+ IDL_Files {
+ idlflags += -Gxhst
+ Hello_Base.idl
+ }
+
+ opendds_ts_flags += --export=HELLO_BASE_STUB_Export
+
+ DDSGenerator_Files {
+ Hello_Base.idl
+ }
+
+ Source_Files {
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector1/Hello_Connector.idl b/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector1/Hello_Connector.idl
new file mode 100644
index 00000000000..11c3fc64caa
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector1/Hello_Connector.idl
@@ -0,0 +1,26 @@
+// $Id$
+
+/**
+ * @file Hello_Connector.idl
+ * @author Marcel Smit (msmit@remedy.nl)
+ */
+
+#ifndef HELLO_CONNECTOR_IDL_
+#define HELLO_CONNECTOR_IDL_
+
+#include <Components.idl>
+#include <ccm_dds.idl>
+
+#include "Base/Hello_Base.idl"
+
+#pragma ciao lem "Connector1/Hello_ConnectorE.idl"
+
+#if (CIAO_DDS4CCM_OPENDDS==1)
+# include "Base/Hello_BaseTypeSupport.idl"
+#endif
+
+module ::CCM_DDS::Typed < ::DDSHello, ::DDSHelloSeq> Foo_conn;
+
+#endif /* HELLO_CONNECTOR_IDL_ */
+
+
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector1/Hello_Connector.mpc b/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector1/Hello_Connector.mpc
new file mode 100644
index 00000000000..b00bfd42628
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector1/Hello_Connector.mpc
@@ -0,0 +1,151 @@
+// $Id$
+
+project(Home_Hello_Connector_idl_gen) : connectoridldefaults, dds4ccm {
+ after += DDS4CCM_idl_gen Home_Hello_Base_stub
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=HELLO_CONNECTOR_STUB_Export \
+ -Wb,stub_export_include=Hello_Connector_stub_export.h \
+ -Wb,skel_export_macro=HELLO_CONNECTOR_SVNT_Export \
+ -Wb,skel_export_include=Hello_Connector_svnt_export.h \
+ -Wb,svnt_export_macro=HELLO_CONNECTOR_SVNT_Export \
+ -Wb,svnt_export_include=Hello_Connector_svnt_export.h \
+ -Wb,conn_export_macro=HELLO_CONNECTOR_CONN_Export \
+ -Wb,conn_export_include=Hello_Connector_conn_export.h \
+ -I ..
+
+ IDL_Files {
+ Hello_Connector.idl
+ }
+}
+
+project(Home_Hello_Connector_lem_gen) : ciaoidldefaults, dds4ccm {
+ custom_only = 1
+ after += Home_Hello_Connector_idl_gen
+ idlflags += -Wb,stub_export_macro=HELLO_CONNECTOR_LEM_STUB_Export \
+ -Wb,stub_export_include=Hello_Connector_lem_stub_export.h \
+ -SS -Gxhst \
+ -I ..
+
+ IDL_Files {
+ Hello_ConnectorE.idl
+ }
+}
+
+project(Home_Hello_Connector_lem_stub) : ccm_svnt, dds4ccm_lem_stub {
+ after += Home_Hello_Connector_lem_gen \
+ Home_Hello_Connector_stub \
+ Home_Hello_Base_stub
+ libs += Home_Hello_Base_stub \
+ Home_Hello_Connector_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = Home_Hello_Connector_lem_stub
+ dynamicflags += HELLO_CONNECTOR_LEM_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_ConnectorEC.cpp
+ }
+
+ Header_Files {
+ Hello_ConnectorEC.h
+ Hello_Connector_lem_stub_export.h
+ }
+
+ Inline_Files {
+ Hello_ConnectorEC.inl
+ }
+}
+
+project(Home_Hello_Connector_stub) : ccm_stub, dds4ccm_base {
+ after += Home_Hello_Connector_idl_gen Home_Hello_Base_stub
+ libs += Home_Hello_Base_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = Home_Hello_Connector_stub
+ dynamicflags += HELLO_CONNECTOR_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_ConnectorC.cpp
+ }
+
+ Header_Files {
+ Hello_ConnectorC.h
+ Hello_Connector_stub_export.h
+ }
+
+ Inline_Files {
+ Hello_ConnectorC.inl
+ }
+}
+
+project(Home_Hello_Connector_exec) : ciao_executor, dds4ccm_impl {
+ after += Home_Hello_Connector_lem_stub \
+ Home_Hello_Connector_stub \
+ Home_Hello_Base_stub
+ sharedname = Home_Hello_Connector_exec
+ libs += Home_Hello_Connector_stub \
+ Home_Hello_Connector_lem_stub \
+ Home_Hello_Base_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags += HELLO_CONNECTOR_CONN_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_Connector_conn.cpp
+ }
+
+ Header_Files {
+ Hello_Connector_conn.h
+ Hello_Connector_conn_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
+
+project(Home_Hello_Connector_svnt) : ciao_servant, dds4ccm_impl {
+ after += Home_Hello_Connector_lem_stub \
+ Home_Hello_Connector_exec \
+ Home_Hello_Connector_stub
+ sharedname = Home_Hello_Connector_svnt
+ libs += Home_Hello_Connector_stub \
+ Home_Hello_Connector_lem_stub \
+ Home_Hello_Base_stub \
+ Home_Hello_Connector_exec
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags += HELLO_CONNECTOR_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_ConnectorS.cpp
+ Hello_Connector_svnt.cpp
+ }
+
+ Header_Files {
+ Hello_ConnectorS.h
+ Hello_Connector_svnt.h
+ Hello_Connector_svnt_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
+
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector2/Hello_Connector2.idl b/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector2/Hello_Connector2.idl
new file mode 100644
index 00000000000..d51f3912c25
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector2/Hello_Connector2.idl
@@ -0,0 +1,26 @@
+// $Id$
+
+/**
+ * @file Hello_Connector2.idl
+ * @author Marijke Hengstmengel (mhengstmengel@remedy.nl)
+ */
+
+#ifndef HELLO_CONNECTOR2_IDL_
+#define HELLO_CONNECTOR2_IDL_
+
+#include <Components.idl>
+#include <ccm_dds.idl>
+
+#include "Base/Hello_Base.idl"
+
+#pragma ciao lem "Connector2/Hello_Connector2E.idl"
+
+#if (CIAO_DDS4CCM_OPENDDS==1)
+# include "Base/Hello_BaseTypeSupport.idl"
+#endif
+
+module ::CCM_DDS::Typed < ::DDSHello, ::DDSHelloSeq> Bar_conn;
+
+#endif /* HELLO_CONNECTOR_IDL_ */
+
+
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector2/Hello_Connector2.mpc b/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector2/Hello_Connector2.mpc
new file mode 100644
index 00000000000..d07ff4e51f2
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/Connector2/Hello_Connector2.mpc
@@ -0,0 +1,151 @@
+// $Id$
+
+project(Home_Hello_Connector2_idl_gen) : connectoridldefaults, dds4ccm {
+ after += DDS4CCM_idl_gen Home_Hello_Base_stub
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=HELLO_CONNECTOR2_STUB_Export \
+ -Wb,stub_export_include=Hello_Connector2_stub_export.h \
+ -Wb,skel_export_macro=HELLO_CONNECTOR2_SVNT_Export \
+ -Wb,skel_export_include=Hello_Connector2_svnt_export.h \
+ -Wb,svnt_export_macro=HELLO_CONNECTOR2_SVNT_Export \
+ -Wb,svnt_export_include=Hello_Connector2_svnt_export.h \
+ -Wb,conn_export_macro=HELLO_CONNECTOR2_CONN_Export \
+ -Wb,conn_export_include=Hello_Connector2_conn_export.h \
+ -I ..
+
+ IDL_Files {
+ Hello_Connector2.idl
+ }
+}
+
+project(Home_Hello_Connector2_lem_gen) : ciaoidldefaults, dds4ccm {
+ custom_only = 1
+ after += Home_Hello_Connector2_idl_gen
+ idlflags += -Wb,stub_export_macro=HELLO_CONNECTOR2_LEM_STUB_Export \
+ -Wb,stub_export_include=Hello_Connector2_lem_stub_export.h \
+ -SS -Gxhst \
+ -I ..
+
+ IDL_Files {
+ Hello_Connector2E.idl
+ }
+}
+
+project(Home_Hello_Connector2_lem_stub) : ccm_svnt, dds4ccm_lem_stub {
+ after += Home_Hello_Connector2_lem_gen \
+ Home_Hello_Connector2_stub \
+ Home_Hello_Base_stub
+ libs += Home_Hello_Base_stub \
+ Home_Hello_Connector2_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = Home_Hello_Connector2_lem_stub
+ dynamicflags += HELLO_CONNECTOR2_LEM_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_Connector2EC.cpp
+ }
+
+ Header_Files {
+ Hello_Connector2EC.h
+ Hello_Connector2_lem_stub_export.h
+ }
+
+ Inline_Files {
+ Hello_Connector2EC.inl
+ }
+}
+
+project(Home_Hello_Connector2_stub) : ccm_stub, dds4ccm_base {
+ after += Home_Hello_Connector2_idl_gen Home_Hello_Base_stub
+ libs += Home_Hello_Base_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = Home_Hello_Connector2_stub
+ dynamicflags += HELLO_CONNECTOR2_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_Connector2C.cpp
+ }
+
+ Header_Files {
+ Hello_Connector2C.h
+ Hello_Connector2_stub_export.h
+ }
+
+ Inline_Files {
+ Hello_Connector2C.inl
+ }
+}
+
+project(Home_Hello_Connector2_exec) : ciao_executor, dds4ccm_impl {
+ after += Home_Hello_Connector2_lem_stub \
+ Home_Hello_Connector2_stub \
+ Home_Hello_Base_stub
+ sharedname = Home_Hello_Connector2_exec
+ libs += Home_Hello_Connector2_stub \
+ Home_Hello_Connector2_lem_stub \
+ Home_Hello_Base_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags += HELLO_CONNECTOR2_CONN_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_Connector2_conn.cpp
+ }
+
+ Header_Files {
+ Hello_Connector2_conn.h
+ Hello_Connector2_conn_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
+
+project(Home_Hello_Connector2_svnt) : ciao_servant, dds4ccm_impl {
+ after += Home_Hello_Connector2_lem_stub \
+ Home_Hello_Connector2_exec \
+ Home_Hello_Connector2_stub
+ sharedname = Home_Hello_Connector2_svnt
+ libs += Home_Hello_Connector2_stub \
+ Home_Hello_Connector2_lem_stub \
+ Home_Hello_Base_stub \
+ Home_Hello_Connector2_exec
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags += HELLO_CONNECTOR2_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_Connector2S.cpp
+ Hello_Connector2_svnt.cpp
+ }
+
+ Header_Files {
+ Hello_Connector2S.h
+ Hello_Connector2_svnt.h
+ Hello_Connector2_svnt_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
+
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.idl b/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.idl
new file mode 100644
index 00000000000..64be57d8ad9
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.idl
@@ -0,0 +1,56 @@
+// $Id$
+
+/**
+ * @author Marijke Hengstmengel (mhengstmengel@remedy.nl)
+ */
+
+#ifndef DDS_SENDER_IDL
+#define DDS_SENDER_IDL
+
+#include "Connector1/Hello_Connector.idl"
+#include "Connector2/Hello_Connector2.idl"
+
+module Hello
+{
+ interface Base_obj
+ {
+ };
+
+ interface Derived_obj : Base_obj
+ {
+ };
+
+ component Base_comp
+ {
+ provides Base_obj baseFacet;
+ uses Base_obj baseRecept;
+ port Foo_conn::DDS_Write fooPub;
+ port Foo_conn::DDS_Listen fooSub;
+ attribute short baseAttr;
+ };
+
+ home Base_compHome manages Base_comp {
+ };
+
+ component Derived_comp : Base_comp
+ {
+ provides Derived_obj derivedFacet;
+ uses Derived_obj derivedRecept;
+ attribute long long derivedAttr;
+ port Bar_conn::DDS_Write barPub;
+ port Bar_conn::DDS_Listen barSub;
+
+ };
+
+ home Derived_compHome : Base_compHome manages Derived_comp {
+ };
+
+ component DerivedEmpty_comp : Base_comp {
+ };
+
+
+
+
+};
+
+#endif
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.mpc b/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.mpc
new file mode 100644
index 00000000000..0a052b9bce5
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender.mpc
@@ -0,0 +1,147 @@
+// $Id$
+
+project(Home_Hello_Sender_idl_gen) : componentidldefaults, dds4ccm {
+ avoids += ace_for_tao
+ after += Home_Hello_Connector_idl_gen Home_Hello_Connector2_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=HELLO_SENDER_STUB_Export \
+ -Wb,stub_export_include=Sender_stub_export.h \
+ -Wb,skel_export_macro=HELLO_SENDER_SVNT_Export \
+ -Wb,skel_export_include=Sender_svnt_export.h \
+ -Wb,svnt_export_macro=HELLO_SENDER_SVNT_Export \
+ -Wb,svnt_export_include=Sender_svnt_export.h \
+ -Wb,exec_export_macro=HELLO_SENDER_EXEC_Export \
+ -Wb,exec_export_include=Sender_exec_export.h \
+ -I ..
+
+ IDL_Files {
+ Hello_Sender.idl
+ }
+}
+
+project(Home_Hello_Sender_lem_gen) : ciaoidldefaults, dds4ccm {
+ avoids += ace_for_tao
+ after += Home_Hello_Sender_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=HELLO_SENDER_LEM_STUB_Export \
+ -Wb,stub_export_include=Sender_lem_stub_export.h \
+ -SS -Gxhst -I $CIAO_ROOT/connectors -I ..
+
+ IDL_Files {
+ Hello_SenderE.idl
+ }
+}
+
+project(Home_Hello_Sender_lem_stub) : ccm_svnt, dds4ccm_base {
+ avoids += ace_for_tao
+ after += Home_Hello_Sender_lem_gen Home_Hello_Sender_stub Home_Hello_Base_stub
+ libs += Home_Hello_Base_stub Sender_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ sharedname = Sender_lem_stub
+ dynamicflags += HELLO_SENDER_LEM_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_SenderEC.cpp
+ }
+
+ Header_Files {
+ Hello_SenderEC.h
+ Sender_lem_stub_export.h
+ }
+
+ Inline_Files {
+ Hello_SenderEC.inl
+ }
+}
+
+project(Home_Hello_Sender_stub) : ccm_stub, dds4ccm_base {
+ avoids += ace_for_tao
+ after += Home_Hello_Sender_idl_gen Home_Hello_Base_stub Home_Hello_Connector_stub Home_Hello_Connector2_stub
+ libs += Home_Hello_Base_stub Home_Hello_Connector_stub Home_Hello_Connector2_stub
+ includes += ..
+ libpaths += ../lib
+ libout = ../lib
+ sharedname = Sender_stub
+ dynamicflags += HELLO_SENDER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_SenderC.cpp
+ }
+
+ Header_Files {
+ Hello_SenderC.h
+ Sender_stub_export.h
+ }
+
+ Inline_Files {
+ Hello_SenderC.inl
+ }
+}
+
+project(Home_Hello_Sender_exec) : ciao_executor, dds4ccm_lem_stub {
+ after += Home_Hello_Sender_lem_stub Home_Hello_Sender_stub Home_Hello_Connector_lem_stub Home_Hello_Connector_stub \
+ Home_Hello_Connector2_lem_stub Home_Hello_Connector2_stub
+ sharedname = Sender_exec
+ libs += Sender_stub Sender_lem_stub Home_Hello_Base_stub Home_Hello_Connector_lem_stub Home_Hello_Connector_stub \
+ Home_Hello_Connector2_lem_stub Home_Hello_Connector2_stub
+ libpaths += ../lib
+ includes += ..
+ libout = ../lib
+ dynamicflags += HELLO_SENDER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_Sender_exec.cpp
+ }
+
+ Header_Files {
+ Hello_Sender_exec.h
+ Sender_exec_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
+
+project(Home_Hello_Sender_svnt) : ciao_servant, dds4ccm_lem_stub, dds4ccm_skel {
+ avoids += ace_for_tao
+ after += Home_Hello_Base_stub Home_Hello_Sender_lem_stub Home_Hello_Connector_stub Home_Hello_Connector_svnt Home_Hello_Connector_lem_stub \
+ Home_Hello_Connector2_stub Home_Hello_Connector2_svnt Home_Hello_Connector2_lem_stub
+ sharedname = Sender_svnt
+ libs += Sender_stub Sender_lem_stub \
+ Home_Hello_Base_stub Home_Hello_Connector_stub Home_Hello_Connector_svnt Home_Hello_Connector_lem_stub \
+ Home_Hello_Connector2_stub Home_Hello_Connector2_svnt Home_Hello_Connector2_lem_stub
+ libpaths += ../lib
+ libout = ../lib
+ includes += ..
+ dynamicflags += HELLO_SENDER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Hello_SenderS.cpp
+ Hello_Sender_svnt.cpp
+ }
+
+ Header_Files {
+ Hello_SenderS.h
+ Hello_Sender_svnt.h
+ Sender_svnt_export.h
+ }
+
+ Inline_Files {
+ }
+}
+
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender_exec.cpp
new file mode 100644
index 00000000000..7fdafcc78c4
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender_exec.cpp
@@ -0,0 +1,725 @@
+// -*- C++ -*-
+// $Id$
+
+#include "Hello_Sender_exec.h"
+#include "ace/Guard_T.h"
+#include "ace/Log_Msg.h"
+#include "tao/ORB_Core.h"
+#include "ace/Date_Time.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/Reactor.h"
+
+namespace CIAO_Hello_Base_comp_Impl
+{
+
+ fooSub_data_listener_exec_i::fooSub_data_listener_exec_i (
+ ::Hello::CCM_Base_comp_Context_ptr ctx)
+ : ciao_context_ (
+ ::Hello::CCM_Base_comp_Context::_duplicate (ctx))
+ {
+ }
+
+ fooSub_data_listener_exec_i::~fooSub_data_listener_exec_i (void)
+ {
+ }
+
+ // Operations from Listener
+ void
+ fooSub_data_listener_exec_i::on_one_data (
+ const ::DDSHello & /* datum */,
+ const ::CCM_DDS::ReadInfo & /* info */)
+ {
+ }
+
+ void
+ fooSub_data_listener_exec_i::on_many_data (
+ const ::DDSHelloSeq & /* data */,
+ const ::CCM_DDS::ReadInfoSeq & /* infos */)
+ {
+ /* Your code here. */
+ }
+
+ fooSub_status_exec_i::fooSub_status_exec_i (
+ ::Hello::CCM_Base_comp_Context_ptr ctx)
+ : ciao_context_ (
+ ::Hello::CCM_Base_comp_Context::_duplicate (ctx))
+ {
+ }
+
+ fooSub_status_exec_i::~fooSub_status_exec_i (void)
+ {
+ //ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("~fooSub_status_exec_i\n")));
+ }
+
+ void
+ fooSub_status_exec_i::on_requested_deadline_missed (
+ ::DDS::DataReader_ptr /* the_reader */,
+ const ::DDS::RequestedDeadlineMissedStatus & /* status */)
+ {
+ /* Your code here. */
+ }
+
+ void
+ fooSub_status_exec_i::on_sample_lost (
+ ::DDS::DataReader_ptr /* the_reader */,
+ const ::DDS::SampleLostStatus & /* status */)
+ {
+ //ACE_DEBUG ((LM_ERROR, ACE_TEXT("port status listener::on_sample_lost\n")));
+ }
+
+ //============================================================
+ // Component Executor Implementation Class: Base_comp_exec_i
+ //============================================================
+
+ Base_comp_exec_i::Base_comp_exec_i (void)
+ : baseAttr_ (1)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Base_comp: -2- Base_comp_exec_i::"
+ "Base_comp_exec_i \n"));
+ }
+
+ Base_comp_exec_i::~Base_comp_exec_i (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Base_comp: -10- Base_comp_exec_i::"
+ "~Base_comp_exec_i \n"));
+ }
+
+ // Supported operations and attributes.
+
+ // Component attributes and port operations.
+
+ ::CORBA::Short
+ Base_comp_exec_i::baseAttr (void)
+ {
+ return this->baseAttr_;
+ }
+
+ void
+ Base_comp_exec_i::baseAttr (
+ ::CORBA::Short baseAttr)
+ {
+ this->baseAttr_ = baseAttr;
+ }
+
+ ::Foo_conn::CCM_Listener_ptr
+ Base_comp_exec_i::get_fooSub_data_listener (void)
+ {
+ if ( ::CORBA::is_nil (this->ciao_fooSub_data_listener_.in ()))
+ {
+ fooSub_data_listener_exec_i *tmp = 0;
+ ACE_NEW_RETURN (
+ tmp,
+ fooSub_data_listener_exec_i (
+ this->ciao_context_.in ()),
+ ::Foo_conn::CCM_Listener::_nil ());
+
+ this->ciao_fooSub_data_listener_ = tmp;
+ }
+
+ return
+ ::Foo_conn::CCM_Listener::_duplicate (
+ this->ciao_fooSub_data_listener_.in ());
+ }
+
+
+
+ ::CCM_DDS::CCM_PortStatusListener_ptr
+ Base_comp_exec_i::get_fooSub_status (void)
+ {
+ if ( ::CORBA::is_nil (this->ciao_fooSub_status_.in ()))
+ {
+ fooSub_status_exec_i *tmp = 0;
+ ACE_NEW_RETURN (
+ tmp,
+ fooSub_status_exec_i (
+ this->ciao_context_.in ()),
+ ::CCM_DDS::CCM_PortStatusListener::_nil ());
+
+ this->ciao_fooSub_status_ = tmp;
+ }
+
+ return
+ ::CCM_DDS::CCM_PortStatusListener::_duplicate (
+ this->ciao_fooSub_status_.in ());
+ }
+
+ ::Hello::CCM_Base_obj_ptr
+ Base_comp_exec_i::get_baseFacet (void)
+ {
+ return 0;
+ }
+
+ // Operations from Components::SessionComponent.
+ void
+ Base_comp_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ this->ciao_context_ =
+ ::Hello::CCM_Base_comp_Context::_narrow (ctx);
+
+ if ( ::CORBA::is_nil (this->ciao_context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ Base_comp_exec_i::configuration_complete (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Base_comp: -3- Base_comp_exec_i::"
+ "configuration_complete \n"));
+ }
+
+ void
+ Base_comp_exec_i::ccm_activate (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Base_comp: -4- Base_comp_exec_i::"
+ "ccm_activate \n"));
+ }
+
+ void
+ Base_comp_exec_i::ccm_passivate (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Base_comp: -8- Base_comp_exec_i::"
+ "ccm_passivate \n"));
+ }
+
+ void
+ Base_comp_exec_i::ccm_remove (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Base_comp: -9- Base_comp_exec_i::"
+ "ccm_remove \n"));
+ }
+
+
+ extern "C" HELLO_SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_Hello_Base_comp_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ Base_comp_exec_i);
+
+ return retval;
+ }
+
+}
+namespace CIAO_Hello_Base_comp_Impl
+{
+ //============================================================
+ // Home Executor Implementation Class: SenderHome_exec_i
+ //============================================================
+
+ Base_compHome_exec_i::Base_compHome_exec_i ()
+ {
+ ACE_DEBUG ((LM_DEBUG, " Base_compHome: -2- Base_compHome_exec_i::"
+ "Base_compHome_exec_i \n"));
+ }
+
+ Base_compHome_exec_i::~Base_compHome_exec_i (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, " Base_compHome: -11- Base_compHome_exec_i::"
+ "~Base_compHome_exec_i \n"));
+ }
+
+ // All operations and attributes.
+
+ // Factory operations.
+
+ // Finder operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ Base_compHome_exec_i::create (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, " Base_compHome: -3- Base_compHome_exec_i::create\n"));
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) creating Base_compHome\n"));
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+
+ ACE_NEW_THROW_EX (
+ retval,
+ CIAO_Hello_Base_comp_Impl::Base_comp_exec_i (),
+ ::CORBA::NO_MEMORY ());
+ return retval;
+ }
+
+ extern "C" HELLO_SENDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Hello_SenderHome_Impl (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, " Base_compHome: -1- create_Hello_Base_compHome_Impl \n"));
+
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ Base_compHome_exec_i ());
+
+ return retval;
+ }
+}
+
+//============================================================
+ // Component Executor Implementation Class: Derived_comp_exec_i
+ //============================================================
+namespace CIAO_Hello_Derived_comp_Impl
+{
+ barSub_data_listener_exec_i::barSub_data_listener_exec_i (
+ ::Hello::CCM_Derived_comp_Context_ptr ctx)
+ : ciao_context_ (
+ ::Hello::CCM_Derived_comp_Context::_duplicate (ctx))
+ {
+ }
+
+ barSub_data_listener_exec_i::~barSub_data_listener_exec_i (void)
+ {
+ }
+
+ // Operations from Listener
+ void
+ barSub_data_listener_exec_i::on_one_data (
+ const ::DDSHello & /* datum */,
+ const ::CCM_DDS::ReadInfo & /* info */)
+ {
+ }
+
+ void
+ barSub_data_listener_exec_i::on_many_data (
+ const ::DDSHelloSeq & /* data */,
+ const ::CCM_DDS::ReadInfoSeq & /* infos */)
+ {
+ /* Your code here. */
+ }
+
+
+ barSub_status_exec_i::barSub_status_exec_i (
+ ::Hello::CCM_Base_comp_Context_ptr ctx)
+ : ciao_context_ (
+ ::Hello::CCM_Base_comp_Context::_duplicate (ctx))
+ {
+ }
+
+ barSub_status_exec_i::~barSub_status_exec_i (void)
+ {
+ }
+
+ // Operations from ::CCM_DDS::PortStatusListener
+
+ void
+ barSub_status_exec_i::on_requested_deadline_missed (
+ ::DDS::DataReader_ptr /* the_reader */,
+ const ::DDS::RequestedDeadlineMissedStatus & /* status */)
+ {
+ /* Your code here. */
+ }
+
+ void
+ barSub_status_exec_i::on_sample_lost (
+ ::DDS::DataReader_ptr /* the_reader */,
+ const ::DDS::SampleLostStatus & /* status */)
+ {
+ }
+
+ Derived_comp_exec_i::Derived_comp_exec_i (void)
+ : baseAttr_ (10),
+ derivedAttr_ (100)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Derived_comp: -2- Derived_comp_exec_i::"
+ "Derived_comp_exec_i \n"));
+ }
+
+ Derived_comp_exec_i::~Derived_comp_exec_i (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Derived_comp: -10- Derived_comp_exec_i::"
+ "~Derived_comp_exec_i \n"));
+ }
+
+ // Supported operations and attributes.
+ ::CORBA::LongLong
+ Derived_comp_exec_i::derivedAttr (void)
+ {
+ return this->derivedAttr_;
+ }
+
+ void
+ Derived_comp_exec_i::derivedAttr (
+ ::CORBA::LongLong derivedAttr)
+ {
+ this->derivedAttr_ = derivedAttr;
+ }
+
+
+ ::CORBA::Short
+ Derived_comp_exec_i::baseAttr (void)
+ {
+ return this->baseAttr_;
+ }
+
+ void
+ Derived_comp_exec_i::baseAttr (
+ ::CORBA::Short baseAttr)
+ {
+ this->baseAttr_ = baseAttr;
+ }
+
+ // Component attributes and port operations.
+
+ ::Foo_conn::CCM_Listener_ptr
+ Derived_comp_exec_i::get_fooSub_data_listener (void)
+ {
+ if ( ::CORBA::is_nil (this->ciao_fooSub_data_listener_.in ()))
+ {
+ CIAO_Hello_Base_comp_Impl::fooSub_data_listener_exec_i *tmp = 0;
+ ACE_NEW_RETURN (
+ tmp,
+ CIAO_Hello_Base_comp_Impl::fooSub_data_listener_exec_i (
+ this->ciao_context_.in ()),
+ ::Foo_conn::CCM_Listener::_nil ());
+
+ this->ciao_fooSub_data_listener_ = tmp;
+ }
+
+ return
+ ::Foo_conn::CCM_Listener::_duplicate (
+ this->ciao_fooSub_data_listener_.in ());
+ }
+
+ ::CCM_DDS::CCM_PortStatusListener_ptr
+ Derived_comp_exec_i::get_fooSub_status (void)
+ {
+ if ( ::CORBA::is_nil (this->ciao_fooSub_status_.in ()))
+ {
+ CIAO_Hello_Base_comp_Impl::fooSub_status_exec_i *tmp = 0;
+ ACE_NEW_RETURN (
+ tmp,
+ CIAO_Hello_Base_comp_Impl::fooSub_status_exec_i (
+ this->ciao_context_.in ()),
+ ::CCM_DDS::CCM_PortStatusListener::_nil ());
+
+ this->ciao_fooSub_status_ = tmp;
+ }
+
+ return
+ ::CCM_DDS::CCM_PortStatusListener::_duplicate (
+ this->ciao_fooSub_status_.in ());
+ }
+
+ ::Bar_conn::CCM_Listener_ptr
+ Derived_comp_exec_i::get_barSub_data_listener (void)
+ {
+ if ( ::CORBA::is_nil (this->ciao_barSub_data_listener_.in ()))
+ {
+ barSub_data_listener_exec_i *tmp = 0;
+ ACE_NEW_RETURN (
+ tmp,
+ barSub_data_listener_exec_i (
+ this->ciao_context_.in ()),
+ ::Bar_conn::CCM_Listener::_nil ());
+
+ this->ciao_barSub_data_listener_ = tmp;
+ }
+
+ return
+ ::Bar_conn::CCM_Listener::_duplicate (
+ this->ciao_barSub_data_listener_.in ());
+ }
+
+ ::CCM_DDS::CCM_PortStatusListener_ptr
+ Derived_comp_exec_i::get_barSub_status (void)
+ {
+ if ( ::CORBA::is_nil (this->ciao_barSub_status_.in ()))
+ {
+ barSub_status_exec_i *tmp = 0;
+ ACE_NEW_RETURN (
+ tmp,
+ barSub_status_exec_i (
+ this->ciao_context_.in ()),
+ ::CCM_DDS::CCM_PortStatusListener::_nil ());
+
+ this->ciao_barSub_status_ = tmp;
+ }
+
+ return
+ ::CCM_DDS::CCM_PortStatusListener::_duplicate (
+ this->ciao_barSub_status_.in ());
+ }
+
+ ::Hello::CCM_Base_obj_ptr
+ Derived_comp_exec_i::get_baseFacet (void)
+ {
+ return 0;
+ }
+
+ ::Hello::CCM_Derived_obj_ptr
+ Derived_comp_exec_i::get_derivedFacet (void)
+ {
+ return 0;
+ }
+
+ // Operations from Components::SessionComponent.
+ void
+ Derived_comp_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Derived_comp: -3- Derived_comp_exec_i::"
+ ":set_session_contexti \n"));
+ this->ciao_context_ =
+ ::Hello::CCM_Derived_comp_Context::_narrow (ctx);
+
+ if ( ::CORBA::is_nil (this->ciao_context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ Derived_comp_exec_i::configuration_complete (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Derived_comp: -4- Derived_comp_exec_i::"
+ "configuration_complete \n"));
+ }
+
+ void
+ Derived_comp_exec_i::ccm_activate (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Derived_comp: -5- Derived_comp_exec_i::"
+ "ccm_activate \n"));
+ }
+
+ void
+ Derived_comp_exec_i::ccm_passivate (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Derived_comp: -8- Derived_comp_exec_i::"
+ "ccm_passivate \n"));
+ }
+
+ void
+ Derived_comp_exec_i::ccm_remove (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Derived_comp: -9- Derived_comp_exec_i::"
+ "ccm_remove \n"));
+ }
+
+
+ extern "C" HELLO_SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_Hello_Derived_comp_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ Derived_comp_exec_i);
+
+ return retval;
+ }
+
+}
+namespace CIAO_Hello_Derived_comp_Impl
+{
+ //============================================================
+ // Home Executor Implementation Class: Derived_compHome_exec_i
+ //============================================================
+
+ Derived_compHome_exec_i::Derived_compHome_exec_i ()
+ {
+ ACE_DEBUG ((LM_DEBUG, "Derived_compHome: -2- Derived_compHome_exec_i::"
+ "Derived_compHome_exec_i \n"));
+
+ //compare current and original thread
+ }
+
+ Derived_compHome_exec_i::~Derived_compHome_exec_i (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Derived_compHome: -11- Derived_compHome_exec_i::"
+ "~Derived_compHome_exec_i \n"));
+ }
+
+ // All operations and attributes.
+
+ // Factory operations.
+
+ // Finder operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ Derived_compHome_exec_i::create (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Derived_compHome: -3- Derived_compHome_exec_i::create\n"));
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) creating Derived_compHome\n"));
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+
+ ACE_NEW_THROW_EX (
+ retval,
+ CIAO_Hello_Derived_comp_Impl::Derived_comp_exec_i (),
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" HELLO_SENDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Hello_Derived_compHome_Impl (void)
+ {
+
+ ACE_DEBUG ((LM_DEBUG, "Derived_compHome: -1- create_Hello_Derived_compHome_Impl \n"));
+
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+
+ ACE_NEW_NORETURN (
+ retval,
+ Derived_compHome_exec_i ());
+
+ return retval;
+ }
+}
+//============================================================
+ // Component Executor Implementation Class: DerivedEmpty_comp_exec_i
+ //============================================================
+namespace CIAO_Hello_DerivedEmpty_comp_Impl
+{
+ DerivedEmpty_comp_exec_i::DerivedEmpty_comp_exec_i (void)
+ : baseAttr_ (1)
+ {
+ ACE_DEBUG ((LM_DEBUG, "DerivedEmpty_comp: -2- DerivedEmpty_comp_exec_i::"
+ "DerivedEmpty_comp_exec_i \n"));
+ }
+
+ DerivedEmpty_comp_exec_i::~DerivedEmpty_comp_exec_i (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "DerivedEmpty_comp: -10- DerivedEmpty_comp_exec_i::"
+ "~DerivedEmpty_comp_exec_i \n"));
+ }
+
+ // Supported operations and attributes.
+
+ ::CORBA::Short
+ DerivedEmpty_comp_exec_i::baseAttr (void)
+ {
+ return this->baseAttr_;
+ }
+
+ void
+ DerivedEmpty_comp_exec_i::baseAttr (
+ ::CORBA::Short baseAttr)
+ {
+ this->baseAttr_ = baseAttr;
+ }
+
+ // Component attributes and port operations.
+
+
+ ::Foo_conn::CCM_Listener_ptr
+ DerivedEmpty_comp_exec_i::get_fooSub_data_listener (void)
+ {
+ if ( ::CORBA::is_nil (this->ciao_fooSub_data_listener_.in ()))
+ {
+ CIAO_Hello_Base_comp_Impl::fooSub_data_listener_exec_i *tmp = 0;
+ ACE_NEW_RETURN (
+ tmp,
+ CIAO_Hello_Base_comp_Impl::fooSub_data_listener_exec_i (
+ this->ciao_context_.in ()),
+ ::Foo_conn::CCM_Listener::_nil ());
+
+ this->ciao_fooSub_data_listener_ = tmp;
+ }
+
+ return
+ ::Foo_conn::CCM_Listener::_duplicate (
+ this->ciao_fooSub_data_listener_.in ());
+ }
+
+ ::CCM_DDS::CCM_PortStatusListener_ptr
+ DerivedEmpty_comp_exec_i::get_fooSub_status (void)
+ {
+ if ( ::CORBA::is_nil (this->ciao_fooSub_status_.in ()))
+ {
+ CIAO_Hello_Base_comp_Impl::fooSub_status_exec_i *tmp = 0;
+ ACE_NEW_RETURN (
+ tmp,
+ CIAO_Hello_Base_comp_Impl::fooSub_status_exec_i (
+ this->ciao_context_.in ()),
+ ::CCM_DDS::CCM_PortStatusListener::_nil ());
+
+ this->ciao_fooSub_status_ = tmp;
+ }
+
+ return
+ ::CCM_DDS::CCM_PortStatusListener::_duplicate (
+ this->ciao_fooSub_status_.in ());
+ }
+
+
+ ::Hello::CCM_Base_obj_ptr
+ DerivedEmpty_comp_exec_i::get_baseFacet (void)
+ {
+ return 0;
+ }
+ // Operations from Components::SessionComponent.
+
+ void
+ DerivedEmpty_comp_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ this->ciao_context_ =
+ ::Hello::CCM_DerivedEmpty_comp_Context::_narrow (ctx);
+
+ if ( ::CORBA::is_nil (this->ciao_context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ DerivedEmpty_comp_exec_i::configuration_complete (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "DerivedEmpty_comp: -3- DerivedEmpty_comp_exec_i::"
+ "configuration_completei \n"));
+ /* Your code here. */
+ }
+
+ void
+ DerivedEmpty_comp_exec_i::ccm_activate (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "DerivedEmpty_comp: -4- DerivedEmpty_comp_exec_i::"
+ "ccm_activate \n"));
+ }
+
+ void
+ DerivedEmpty_comp_exec_i::ccm_passivate (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "DerivedEmpty_comp: -8- DerivedEmpty_comp_exec_i::"
+ "ccm_passivate \n"));
+ }
+
+ void
+ DerivedEmpty_comp_exec_i::ccm_remove (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, "DerivedEmpty_comp: -9- DerivedEmpty_comp_exec_i::"
+ "ccm_remove \n"));
+ }
+
+
+ extern "C" HELLO_SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_Hello_DerivedEmpty_comp_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ DerivedEmpty_comp_exec_i);
+
+ return retval;
+ }
+
+}
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender_exec.h
new file mode 100644
index 00000000000..50e8140ed79
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/Sender/Hello_Sender_exec.h
@@ -0,0 +1,367 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef CIAO_HELLO_SENDER_EXEC_YPB9XX_H_
+#define CIAO_HELLO_SENDER_EXEC_YPB9XX_H_
+
+#include /**/ "ace/pre.h"
+
+#include "Hello_SenderEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include /**/ "Sender_exec_export.h"
+#include "tao/LocalObject.h"
+#include <map>
+
+namespace CIAO_Hello_Base_comp_Impl
+{
+
+ class HELLO_SENDER_EXEC_Export fooSub_data_listener_exec_i
+ : public virtual ::Foo_conn::CCM_Listener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ fooSub_data_listener_exec_i (
+ ::Hello::CCM_Base_comp_Context_ptr ctx);
+
+ virtual ~fooSub_data_listener_exec_i (void);
+
+ // Operations and attributes from Hello::Listener
+
+ virtual
+ void on_one_data (
+ const ::DDSHello & datum,
+ const ::CCM_DDS::ReadInfo & info);
+
+ virtual
+ void on_many_data (
+ const ::DDSHelloSeq & data,
+ const ::CCM_DDS::ReadInfoSeq & infos);
+
+ private:
+ ::Hello::CCM_Base_comp_Context_var ciao_context_;
+ };
+
+ class HELLO_SENDER_EXEC_Export fooSub_status_exec_i
+ : public virtual ::CCM_DDS::CCM_PortStatusListener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ fooSub_status_exec_i (
+ ::Hello::CCM_Base_comp_Context_ptr ctx);
+ virtual ~fooSub_status_exec_i (void);
+
+ // Operations and attributes from CCM_DDS::PortStatusListener
+
+ 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);
+
+ private:
+ ::Hello::CCM_Base_comp_Context_var ciao_context_;
+ };
+
+
+ class Base_comp_exec_i;
+
+ class HELLO_SENDER_EXEC_Export Base_comp_exec_i
+ : public virtual Base_comp_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ Base_comp_exec_i (void);
+ virtual ~Base_comp_exec_i (void);
+
+ //@{
+ /** Supported operations and attributes. */
+ //@}
+
+ //@{
+ /** Component attributes and port operations. */
+ virtual ::CORBA::Short
+ baseAttr (void);
+
+ virtual void
+ baseAttr (::CORBA::Short baseAttr);
+
+ virtual ::Foo_conn::CCM_Listener_ptr
+ get_fooSub_data_listener (void);
+
+ virtual ::CCM_DDS::CCM_PortStatusListener_ptr
+ get_fooSub_status (void);
+
+ virtual ::Hello::CCM_Base_obj_ptr
+ get_baseFacet (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:
+ ::Hello::CCM_Base_comp_Context_var ciao_context_;
+ ::CCM_DDS::CCM_ConnectorStatusListener_var ciao_connector_status_;
+ ::Foo_conn::CCM_Listener_var ciao_fooSub_data_listener_;
+ ::CCM_DDS::CCM_PortStatusListener_var ciao_fooSub_status_;
+ CORBA::Short baseAttr_;
+ };
+
+ extern "C" HELLO_SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_Hello_Base_comp_Impl (void);
+}
+namespace CIAO_Hello_Base_comp_Impl
+{
+ class HELLO_SENDER_EXEC_Export Base_compHome_exec_i
+ : public virtual Base_compHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ Base_compHome_exec_i (void);
+
+ virtual ~Base_compHome_exec_i (void);
+
+ // All operations and attributes.
+
+ // Factory operations.
+
+ // Finder operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (void);
+ private:
+
+ };
+
+ extern "C" HELLO_SENDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Hello_Base_compHome_Impl (void);
+}
+
+namespace CIAO_Hello_Derived_comp_Impl
+{
+
+ class HELLO_SENDER_EXEC_Export barSub_data_listener_exec_i
+ : public virtual ::Bar_conn::CCM_Listener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ barSub_data_listener_exec_i (
+ ::Hello::CCM_Derived_comp_Context_ptr ctx);
+
+ virtual ~barSub_data_listener_exec_i (void);
+
+ // Operations and attributes from Hello::Listener
+
+ virtual
+ void on_one_data (
+ const ::DDSHello & datum,
+ const ::CCM_DDS::ReadInfo & info);
+
+ virtual
+ void on_many_data (
+ const ::DDSHelloSeq & data,
+ const ::CCM_DDS::ReadInfoSeq & infos);
+
+ private:
+ ::Hello::CCM_Derived_comp_Context_var ciao_context_;
+ };
+
+ class HELLO_SENDER_EXEC_Export barSub_status_exec_i
+ : public virtual ::CCM_DDS::CCM_PortStatusListener,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ barSub_status_exec_i (
+ ::Hello::CCM_Base_comp_Context_ptr ctx);
+ virtual ~barSub_status_exec_i (void);
+
+ // Operations and attributes from CCM_DDS::PortStatusListener
+
+ 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);
+
+ private:
+ ::Hello::CCM_Base_comp_Context_var ciao_context_;
+ };
+
+ class HELLO_SENDER_EXEC_Export Derived_comp_exec_i
+ : public virtual Derived_comp_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ Derived_comp_exec_i (void);
+ virtual ~Derived_comp_exec_i (void);
+
+ //@{
+ /** Component attributes and port operations. */
+ virtual ::CORBA::LongLong
+ derivedAttr (void);
+
+ virtual void
+ derivedAttr (::CORBA::LongLong);
+
+ virtual ::CORBA::Short
+ baseAttr (void);
+
+ virtual void
+ baseAttr (::CORBA::Short baseAttr);
+
+ virtual ::Foo_conn::CCM_Listener_ptr
+ get_fooSub_data_listener (void);
+
+ virtual ::CCM_DDS::CCM_PortStatusListener_ptr
+ get_fooSub_status (void);
+
+ virtual ::Bar_conn::CCM_Listener_ptr
+ get_barSub_data_listener (void);
+
+ virtual ::CCM_DDS::CCM_PortStatusListener_ptr
+ get_barSub_status (void);
+
+ virtual ::Hello::CCM_Base_obj_ptr
+ get_baseFacet (void);
+
+ virtual ::Hello::CCM_Derived_obj_ptr
+ get_derivedFacet (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:
+ ::Hello::CCM_Derived_comp_Context_var ciao_context_;
+ ::Foo_conn::CCM_Listener_var ciao_fooSub_data_listener_;
+ ::CCM_DDS::CCM_PortStatusListener_var ciao_fooSub_status_;
+ ::Bar_conn::CCM_Listener_var ciao_barSub_data_listener_;
+ ::CCM_DDS::CCM_PortStatusListener_var ciao_barSub_status_;
+
+ CORBA::Short baseAttr_;
+ CORBA::ULongLong derivedAttr_;
+ // Atomic_Boolean ready_to_start_;
+ };
+
+ extern "C" HELLO_SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_Hello_Derived_comp_Impl (void);
+}
+
+
+namespace CIAO_Hello_Derived_comp_Impl
+{
+ class HELLO_SENDER_EXEC_Export Derived_compHome_exec_i
+ : public virtual Derived_compHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ Derived_compHome_exec_i (void);
+
+ virtual ~Derived_compHome_exec_i (void);
+
+ // All operations and attributes.
+
+ // Factory operations.
+ // Finder operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (void);
+ private:
+
+ };
+
+ extern "C" HELLO_SENDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Hello_Derived_compHome_Impl (void);
+}
+
+namespace CIAO_Hello_DerivedEmpty_comp_Impl
+{
+ class HELLO_SENDER_EXEC_Export DerivedEmpty_comp_exec_i
+ : public virtual DerivedEmpty_comp_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ DerivedEmpty_comp_exec_i (void);
+ virtual ~DerivedEmpty_comp_exec_i (void);
+
+ //@{
+ /** Component attributes and port operations. */
+ virtual ::CORBA::Short
+ baseAttr (void);
+
+ virtual void
+ baseAttr (::CORBA::Short baseAttr);
+
+ virtual ::Foo_conn::CCM_Listener_ptr
+ get_fooSub_data_listener (void);
+
+ virtual ::CCM_DDS::CCM_PortStatusListener_ptr
+ get_fooSub_status (void);
+
+ virtual ::Hello::CCM_Base_obj_ptr
+ get_baseFacet (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:
+ ::Hello::CCM_DerivedEmpty_comp_Context_var ciao_context_;
+ ::Foo_conn::CCM_Listener_var ciao_fooSub_data_listener_;
+ ::CCM_DDS::CCM_PortStatusListener_var ciao_fooSub_status_;
+ CORBA::Short baseAttr_;
+ CORBA::ULongLong derivedAttr_;
+ };
+
+ extern "C" HELLO_SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_Hello_DerivedEmpty_comp_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/descriptors/DeploymentPlan.cdp b/CIAO/connectors/dds4ccm/tests/HomeDerived/descriptors/DeploymentPlan.cdp
new file mode 100644
index 00000000000..a7b0d6fe147
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/descriptors/DeploymentPlan.cdp
@@ -0,0 +1,753 @@
+<!-- $Id$ -->
+<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>Hello_Depl_1</label>
+ <UUID>Hello_Depl_1</UUID>
+
+ <implementation xmi:id="DerivedEmpty_compComponentImplementation">
+ <name>DerivedEmpty_compComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="DerivedEmpty_comp_ExecArtifact" />
+ <artifact xmi:idref="DerivedEmpty_comp_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Hello_DerivedEmpty_comp_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Hello_DerivedEmpty_comp_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>DerivedEmpty_comp_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>DerivedEmpty_comp_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="Foo_ConnectorComponentImplementation">
+ <name>Foo_ConnectorComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Foo_Connector_ExecArtifact" />
+ <artifact xmi:idref="Foo_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_Foo_conn_DDS_Event_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Foo_conn_DDS_Event_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Foo_Connector_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Foo_Connector_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="Bar_ConnectorComponentImplementation">
+ <name>Bar_ConnectorComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Bar_Connector_ExecArtifact" />
+ <artifact xmi:idref="Bar_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_Bar_conn_DDS_Event_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Bar_conn_DDS_Event_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Bar_Connector_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Bar_Connector_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+
+ <implementation xmi:id="Base_compHomeComponentImplementation">
+ <name>Base_compHomeComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Base_compHome_ExecArtifact" />
+ <artifact xmi:idref="Base_compHome_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Hello_Base_compHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Hello_Base_compHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Base_compHome_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Base_compHome_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="Base_compComponentImplementation">
+ <name>Base_compComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Base_compHome_ExecArtifact" />
+ <artifact xmi:idref="Base_compHome_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="Derived_compHomeComponentImplementation">
+ <name>Derived_compHomeComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Derived_compHome_ExecArtifact" />
+ <artifact xmi:idref="Derived_compHome_SvntArtifact" />
+ <execParameter>
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Hello_Derived_compHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Hello_Derived_compHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Derived_compHome_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Derived_compHome_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="Derived_compComponentImplementation">
+ <name>Derived_compComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Derived_compHome_ExecArtifact" />
+ <artifact xmi:idref="Derived_compHome_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+
+ <instance xmi:id="Foo_Connector_1_ComponentInstance">
+ <name>Foo_Connector_1_Component</name>
+ <node>Node1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Foo_ConnectorComponentImplementation" />
+ <configProperty>
+ <name>domain_id</name>
+ <value>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ <value>
+ <long>9</long>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>topic_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Hello</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Foo_Connector_2_ComponentInstance">
+ <name>Foo_Connector_2_Component</name>
+ <node>Node1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Foo_ConnectorComponentImplementation" />
+ <configProperty>
+ <name>domain_id</name>
+ <value>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ <value>
+ <long>9</long>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>topic_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Hello</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Bar_Connector_1_ComponentInstance">
+ <name>Bar_Connector_1_Component</name>
+ <node>Node1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Bar_ConnectorComponentImplementation" />
+ <configProperty>
+ <name>domain_id</name>
+ <value>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ <value>
+ <long>99</long>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>topic_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Hello</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Bar_Connector_2_ComponentInstance">
+ <name>Bar_Connector_2_Component</name>
+ <node>Node1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Bar_ConnectorComponentImplementation" />
+ <configProperty>
+ <name>domain_id</name>
+ <value>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ <value>
+ <long>99</long>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>topic_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Hello</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Derived_comp_1_ComponentInstance">
+ <name>Derived_comp_1_Component</name>
+ <node>Node1</node>
+ <source/>
+ <implementation xmi:idref="Derived_compComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Derived_compHome_1_Component</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Derived_comp_2_ComponentInstance">
+ <name>Derived_comp_2_Component</name>
+ <node>Node1</node>
+ <source/>
+ <implementation xmi:idref="Derived_compComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Derived_compHome_2_Component</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Derived_compHome_1_ComponentInstance">
+ <name>Derived_compHome_1_Component</name>
+ <node>Node1</node>
+ <source/>
+ <implementation xmi:idref="Derived_compHomeComponentImplementation" />
+ </instance>
+
+ <instance xmi:id="Derived_compHome_2_ComponentInstance">
+ <name>Derived_compHome_2_Component</name>
+ <node>Node1</node>
+ <source/>
+ <implementation xmi:idref="Derived_compHomeComponentImplementation" />
+ </instance>
+
+ <instance xmi:id="DerivedEmpty_compComponentInstance">
+ <name>DerivedEmpty_compComponent</name>
+ <node>Node1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="DerivedEmpty_compComponentImplementation" />
+ </instance>
+
+
+ <connection>
+ <name>writer_1_foo_connection</name>
+ <deployRequirement>
+ <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name>
+ <resourceType>Local_Interface</resourceType>
+ </deployRequirement>
+ <internalEndpoint>
+ <portName>fooPub_data</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Derived_comp_1_ComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supplier_data</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Foo_Connector_1_ComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>writer_2_foo_connection</name>
+ <deployRequirement>
+ <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name>
+ <resourceType>Local_Interface</resourceType>
+ </deployRequirement>
+ <internalEndpoint>
+ <portName>fooPub_data</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Derived_comp_2_ComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supplier_data</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Foo_Connector_2_ComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>writer_1_bar_connection</name>
+ <deployRequirement>
+ <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name>
+ <resourceType>Local_Interface</resourceType>
+ </deployRequirement>
+ <internalEndpoint>
+ <portName>barPub_data</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Derived_comp_1_ComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supplier_data</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Bar_Connector_1_ComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>writer_2_bar_connection</name>
+ <deployRequirement>
+ <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name>
+ <resourceType>Local_Interface</resourceType>
+ </deployRequirement>
+ <internalEndpoint>
+ <portName>barPub_data</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Derived_comp_2_ComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supplier_data</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Bar_Connector_2_ComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>MessageConnection1</name>
+ <internalEndpoint>
+ <portName>baseRecept</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Derived_comp_1_ComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>baseFacet</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Derived_comp_2_ComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>MessageConnection2</name>
+ <internalEndpoint>
+ <portName>baseRecept</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Derived_comp_2_ComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>baseFacet</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Derived_comp_1_ComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>MessageConnectionDerived1</name>
+ <internalEndpoint>
+ <portName>derivedRecept</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Derived_comp_1_ComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>derivedFacet</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Derived_comp_2_ComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>MessageConnectionDerived2</name>
+ <internalEndpoint>
+ <portName>derivedRecept</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Derived_comp_2_ComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>derivedFacet</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Derived_comp_1_ComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+
+ <artifact xmi:id="Base_compHome_ExecArtifact">
+ <name>Base_compHome_exec</name>
+ <source/>
+ <node/>
+ <location>Sender_exec</location>
+ </artifact>
+ <artifact xmi:id="Base_compHome_SvntArtifact">
+ <name>Base_compHome_svnt</name>
+ <source/>
+ <node/>
+ <location>Sender_svnt</location>
+ </artifact>
+ <artifact xmi:id="Base_compHome_StubArtifact">
+ <name>Base_compHome_stub</name>
+ <source/>
+ <node/>
+ <location>Sender_stub</location>
+ </artifact>
+
+
+ <artifact xmi:id="Derived_compHome_ExecArtifact">
+ <name>Derived_compHome_exec</name>
+ <source/>
+ <node/>
+ <location>Sender_exec</location>
+ </artifact>
+ <artifact xmi:id="Derived_compHome_SvntArtifact">
+ <name>Derived_compHome_svnt</name>
+ <source/>
+ <node/>
+ <location>Sender_svnt</location>
+ </artifact>
+ <artifact xmi:id="Derived_compHome_StubArtifact">
+ <name>Derived_compHome_stub</name>
+ <source/>
+ <node/>
+ <location>Sender_stub</location>
+ </artifact>
+
+
+
+ <artifact xmi:id="Foo_Connector_ExecArtifact">
+ <name>Foo_Connector_exec</name>
+ <source/>
+ <node/>
+ <location>Home_Hello_Connector_exec</location>
+ </artifact>
+ <artifact xmi:id="Foo_Connector_SvntArtifact">
+ <name>Foo_Connector_svnt</name>
+ <source/>
+ <node/>
+ <location>Home_Hello_Connector_svnt</location>
+ </artifact>
+ <artifact xmi:id="Foo_Connector_StubArtifact">
+ <name>Foo_Connector_stub</name>
+ <source/>
+ <node/>
+ <location>Home_Hello_Connector_stub</location>
+ </artifact>
+
+ <artifact xmi:id="Bar_Connector_ExecArtifact">
+ <name>Bar_Connector_exec</name>
+ <source/>
+ <node/>
+ <location>Home_Hello_Connector2_exec</location>
+ </artifact>
+ <artifact xmi:id="Bar_Connector_SvntArtifact">
+ <name>Bar_Connector_svnt</name>
+ <source/>
+ <node/>
+ <location>Home_Hello_Connector2_svnt</location>
+ </artifact>
+ <artifact xmi:id="Bar_Connector_StubArtifact">
+ <name>Bar_Connector_stub</name>
+ <source/>
+ <node/>
+ <location>Home_Hello_Connector2_stub</location>
+ </artifact>
+
+
+
+ <artifact xmi:id="DerivedEmpty_comp_ExecArtifact">
+ <name>DerivedEmpty_comp_exec</name>
+ <source/>
+ <node/>
+ <location>Sender_exec</location>
+ </artifact>
+ <artifact xmi:id="DerivedEmpty_comp_SvntArtifact">
+ <name>DerivedEmpty_comp_svnt</name>
+ <source/>
+ <node/>
+ <location>Sender_svnt</location>
+ </artifact>
+ <artifact xmi:id="DerivedEmpty_comp_StubArtifact">
+ <name>DerivedEmpty_comp_stub</name>
+ <source/>
+ <node/>
+ <location>Sender_stub</location>
+ </artifact>
+
+ <localityConstraint>
+ <constraint>DifferentProcess</constraint>
+ <constrainedInstance xmi:idref="Derived_comp_1_ComponentInstance" />
+ <constrainedInstance xmi:idref="Derived_comp_2_ComponentInstance" />
+ </localityConstraint>
+
+ <localityConstraint>
+ <constraint>SameProcess</constraint>
+ <constrainedInstance xmi:idref="Derived_comp_1_ComponentInstance" />
+ <constrainedInstance xmi:idref="Foo_Connector_1_ComponentInstance" />
+ <constrainedInstance xmi:idref="Bar_Connector_1_ComponentInstance" />
+ <constrainedInstance xmi:idref="Derived_compHome_1_ComponentInstance" />
+ </localityConstraint>
+
+ <localityConstraint>
+ <constraint>SameProcess</constraint>
+ <constrainedInstance xmi:idref="Derived_comp_2_ComponentInstance" />
+ <constrainedInstance xmi:idref="Foo_Connector_2_ComponentInstance" />
+ <constrainedInstance xmi:idref="Bar_Connector_2_ComponentInstance" />
+ <constrainedInstance xmi:idref="Derived_compHome_2_ComponentInstance" />
+ </localityConstraint>
+
+</Deployment:DeploymentPlan>
diff --git a/CIAO/connectors/dds4ccm/tests/HomeDerived/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/HomeDerived/descriptors/run_test.pl
new file mode 100755
index 00000000000..c90b643b886
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeDerived/descriptors/run_test.pl
@@ -0,0 +1,251 @@
+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'}";
+$DDS4CCM_TRACE_ENABLE = "$ENV{'DDS4CCM_TRACE_ENABLE'}";
+
+#$ENV{'DANCE_LOG_LEVEL'}=10;
+#$ENV{'CIAO_LOG_LEVEL'}=10;
+#$ENV{'DANCE_TRACE_ENABLE'}=1;
+#$ENV{'CIAO_TRACE_ENABLE'}=1;
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 2;
+@ports = ( 60001, 60002 );
+@iorbases = ( "Node1.ior", "Node2.ior" );
+@iorfiles = 0;
+@nodenames = ( "Node1", "Node2" );
+
+# 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 = "DeploymentPlan.cdp";
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+ $tg_naming->AddLibPath ('../lib');
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
+ $tg_daemons[$i]->AddLibPath ('../lib');
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ $tg_exe_man->AddLibPath ('../lib');
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+ $tg_executor->AddLibPath ('../lib');
+}
+
+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);
+ }
+ # in case shutdown did not perform as expected
+ $tg_executor->KillAll ('dance_locality_manager');
+}
+
+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 = $tg_daemons[$i]->GetArchDir("$DANCE_ROOT/bin/") . "dance_locality_manager";
+
+ $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);
+ $DEAMONS[$i]->Spawn ();
+
+ 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/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+$ns_status = $NS->Spawn ();
+
+if ($ns_status != 0) {
+ print STDERR "ERROR: Unable to execute the naming service\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print STDERR "Starting Naming Service with -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_status = $EM->Spawn ();
+
+if ($em_status != 0) {
+ print STDERR "ERROR: dance_execution_manager returned $em_status";
+ exit 1;
+}
+
+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");
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+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\n";
+
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -s");
+
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+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/tutorials/Shapes/Tutorial/06_compilation.html b/CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/06_compilation.html
index ccd61189c8b..54aec137363 100644
--- a/CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/06_compilation.html
+++ b/CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/06_compilation.html
@@ -224,7 +224,7 @@
for each sample.<br/>
It's also possible to use ::CCM_DDS::MANY_BY_MANY. This will make sure that
on_many_data on the listeners callback gets invoked by the DDS4CCM connector.<br/>
- To turn off listening, just call <code>lc->mode (::CCM_DDS::NOT_ENABLED);
+ To turn off listening, just call <code>lc->mode (::CCM_DDS::NOT_ENABLED);</code>
<br/>
</p>