summaryrefslogtreecommitdiff
path: root/TAO/CIAO
diff options
context:
space:
mode:
authorlut <lut@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-28 21:46:18 +0000
committerlut <lut@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-28 21:46:18 +0000
commitbfcdb8650c7f7006c77afe8b6e73ce384f83f6b5 (patch)
treeef7eb07e7d358a879f1e9d8b0dbbcc57a5802483 /TAO/CIAO
parent56309b0cafe3f9dae7910369237efd6f53c8a5a6 (diff)
downloadATCD-bfcdb8650c7f7006c77afe8b6e73ce384f83f6b5.tar.gz
ChangeLogTag: Fri Nov 28 14:09:56 2003 Tao Lu <lu@dre.vanderbilt.edu>
Diffstat (limited to 'TAO/CIAO')
-rw-r--r--TAO/CIAO/ChangeLog54
-rw-r--r--TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.idl28
-rw-r--r--TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.mpc30
-rw-r--r--TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_stub_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_svnt_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Hello_Base/Makefile59
-rw-r--r--TAO/CIAO/examples/Hello/Hello_Base/Makefile.Hello_Base_stub151
-rw-r--r--TAO/CIAO/examples/Hello/Hello_Base/Makefile.Hello_Base_svnt151
-rw-r--r--TAO/CIAO/examples/Hello/Makefile123
-rw-r--r--TAO/CIAO/examples/Hello/README5
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Makefile65
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_exec152
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_stub151
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_svnt165
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver.cidl22
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver.idl26
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver.mpc60
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/ReceiverEI.idl25
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver_exec.cpp108
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver_exec.h102
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver_exec_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver_stub_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver_svnt.h548
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver_svnt_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Makefile65
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_exec152
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_stub151
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_svnt165
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender.cidl22
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender.idl36
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender.mpc59
-rw-r--r--TAO/CIAO/examples/Hello/Sender/SenderEI.idl24
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp116
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_exec.h115
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_exec_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_stub_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_svnt.h546
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_svnt_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/CIAO_Installation_Data.ini5
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/Receiver.csd44
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/Receiver.ssd41
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/Sender.csd42
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/Sender.ssd40
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/default.cad64
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/test.cad33
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/test.dat2
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/test1.cad32
47 files changed, 4211 insertions, 0 deletions
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog
index e2b1a6fc63b..0948602baa0 100644
--- a/TAO/CIAO/ChangeLog
+++ b/TAO/CIAO/ChangeLog
@@ -1,3 +1,57 @@
+Fri Nov 28 14:09:56 2003 Tao Lu <lu@dre.vanderbilt.edu>
+
+ * examples/Hello/README:
+ * examples/Hello/Makefile:
+ * examples/Hello/Hello_Base/Hello_Base_stub_export.h:
+ * examples/Hello/Hello_Base/Makefile.Hello_Base_stub:
+ * examples/Hello/Hello_Base/Hello_Base.idl:
+ * examples/Hello/Hello_Base/Hello_Base_svnt_export.h:
+ * examples/Hello/Hello_Base/Makefile.Hello_Base_svnt:
+ * examples/Hello/Hello_Base/Hello_Base.mpc:
+ * examples/Hello/Hello_Base/Makefile:
+ * examples/Hello/Sender/Sender.cidl:
+ * examples/Hello/Sender/Sender_exec.h:
+ * examples/Hello/Sender/Makefile:
+ * examples/Hello/Sender/Sender.idl:
+ * examples/Hello/Sender/Sender_exec_export.h:
+ * examples/Hello/Sender/Makefile.Hello_Base_Sender_exec:
+ * examples/Hello/Sender/Sender.mpc:
+ * examples/Hello/Sender/Sender_stub_export.h:
+ * examples/Hello/Sender/Makefile.Hello_Base_Sender_stub
+ * examples/Hello/Sender/SenderEI.idl:
+ * examples/Hello/Sender/Sender_svnt.h:
+ * examples/Hello/Sender/Makefile.Hello_Base_Sender_svnt:
+ * examples/Hello/Sender/Sender_exec.cpp:
+ * examples/Hello/Sender/Sender_svnt_export.h:
+ * examples/Hello/Receiver/ReceiverEI.idl:
+ * examples/Hello/Receiver/Makefile:
+ * examples/Hello/Receiver/Receiver_Impl.ccd:
+ * examples/Hello/Receiver/Makefile.Hello_Base_Receiver_exec:
+ * examples/Hello/Receiver/Receiver_exec.cpp:
+ * examples/Hello/Receiver/Makefile.Hello_Base_Receiver_stub:
+ * examples/Hello/Receiver/Receiver_exec.h:
+ * examples/Hello/Receiver/Makefile.Hello_Base_Receiver_svnt:
+ * examples/Hello/Receiver/Receiver_exec_export.h:
+ * examples/Hello/Receiver/Receiver.cidl:
+ * examples/Hello/Receiver/Receiver_stub_export.h:
+ * examples/Hello/Receiver/Receiver.idl:
+ * examples/Hello/Receiver/Receiver_svnt.h:
+ * examples/Hello/Receiver/Receiver.mpc:
+ * examples/Hello/Receiver/Receiver_svnt_export.h:
+ * examples/Hello/starter/Makefile:
+ * examples/Hello/starter/Makefile.Hello_Starter:
+ * examples/Hello/starter/starter.cpp:
+ * examples/Hello/starter/starter.mpc:
+ * examples/Hello/descriptors/CIAO_Installation_Data.ini:
+ * examples/Hello/descriptors/Receiver.ssd:
+ * examples/Hello/descriptors/default.cad:
+ * examples/Hello/descriptors/test.dat:
+ * examples/Hello/descriptors/Sender.csd:
+ * examples/Hello/descriptors/Receiver.csd:
+ * examples/Hello/descriptors/Sender.ssd:
+
+ Added the files for Hello example.
+
Fri Nov 28 13:58:58 2003 Tao Lu <lu@dre.vanderbilt.edu>
* examples/Hello:
diff --git a/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.idl b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.idl
new file mode 100644
index 00000000000..39b8c0b19b0
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.idl
@@ -0,0 +1,28 @@
+$Id$:
+/**
+ * @file Hello.idl
+ * Definition of common interfaces used by the Hello example
+ *
+ * @auther Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef HELLO_IDL
+#define HELLO_IDL
+
+#include <Components.idl>
+
+
+module Hello
+{
+ interface message
+ {
+ string get_message();
+ };
+
+ eventtype timeout
+ {
+ };
+
+};
+
+#endif /* HELLO_IDL */
diff --git a/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.mpc b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.mpc
new file mode 100644
index 00000000000..9f2327a0d5c
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.mpc
@@ -0,0 +1,30 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Hello_Base"
+
+project(Hello_Base_stub): ciao_client {
+
+ sharedname = Hello_Base_stub
+ idlflags += -Wb,stub_export_macro=HELLO_BASE_STUB_Export -Wb,stub_export_include=Hello_Base_stub_export.h -Wb,skel_export_macro=HELLO_BASE_SVNT_Export -Wb,skel_export_include=Hello_Base_svnt_export.h
+ dynamicflags = HELLO_BASE_STUB_BUILD_DLL
+
+ IDL_Files {
+ Hello_Base.idl
+ }
+
+ Source_Files {
+ Hello_BaseC.cpp
+ }
+}
+
+project(Hello_Base_svnt) : ciao_server {
+ after += Hello_Base_stub
+ sharedname = Hello_Base_svnt
+ libs += Hello_Base_stub
+
+ idlflags += -Wb,export_macro=HELLO_BASE_SVNT_Export -Wb,export_include=Hello_Base_svnt_export.h
+ dynamicflags = HELLO_BASE_SVNT_BUILD_DLL
+
+ Source_Files {
+ Hello_BaseS.cpp
+ }
+}
diff --git a/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_stub_export.h b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_stub_export.h
new file mode 100644
index 00000000000..224fe95a845
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HELLO_BASE_STUB
+// ------------------------------
+#ifndef HELLO_BASE_STUB_EXPORT_H
+#define HELLO_BASE_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (HELLO_BASE_STUB_HAS_DLL)
+# define HELLO_BASE_STUB_HAS_DLL 1
+#endif /* ! HELLO_BASE_STUB_HAS_DLL */
+
+#if defined (HELLO_BASE_STUB_HAS_DLL) && (HELLO_BASE_STUB_HAS_DLL == 1)
+# if defined (HELLO_BASE_STUB_BUILD_DLL)
+# define HELLO_BASE_STUB_Export ACE_Proper_Export_Flag
+# define HELLO_BASE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HELLO_BASE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HELLO_BASE_STUB_BUILD_DLL */
+# define HELLO_BASE_STUB_Export ACE_Proper_Import_Flag
+# define HELLO_BASE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HELLO_BASE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HELLO_BASE_STUB_BUILD_DLL */
+#else /* HELLO_BASE_STUB_HAS_DLL == 1 */
+# define HELLO_BASE_STUB_Export
+# define HELLO_BASE_STUB_SINGLETON_DECLARATION(T)
+# define HELLO_BASE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HELLO_BASE_STUB_HAS_DLL == 1 */
+
+// Set HELLO_BASE_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HELLO_BASE_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HELLO_BASE_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HELLO_BASE_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HELLO_BASE_STUB_NTRACE */
+
+#if (HELLO_BASE_STUB_NTRACE == 1)
+# define HELLO_BASE_STUB_TRACE(X)
+#else /* (HELLO_BASE_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define HELLO_BASE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (HELLO_BASE_STUB_NTRACE == 1) */
+
+#endif /* HELLO_BASE_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_svnt_export.h b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_svnt_export.h
new file mode 100644
index 00000000000..57625da60c6
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HELLO_BASE_SVNT
+// ------------------------------
+#ifndef HELLO_BASE_SVNT_EXPORT_H
+#define HELLO_BASE_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (HELLO_BASE_SVNT_HAS_DLL)
+# define HELLO_BASE_SVNT_HAS_DLL 1
+#endif /* ! HELLO_BASE_SVNT_HAS_DLL */
+
+#if defined (HELLO_BASE_SVNT_HAS_DLL) && (HELLO_BASE_SVNT_HAS_DLL == 1)
+# if defined (HELLO_BASE_SVNT_BUILD_DLL)
+# define HELLO_BASE_SVNT_Export ACE_Proper_Export_Flag
+# define HELLO_BASE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HELLO_BASE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HELLO_BASE_SVNT_BUILD_DLL */
+# define HELLO_BASE_SVNT_Export ACE_Proper_Import_Flag
+# define HELLO_BASE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HELLO_BASE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HELLO_BASE_SVNT_BUILD_DLL */
+#else /* HELLO_BASE_SVNT_HAS_DLL == 1 */
+# define HELLO_BASE_SVNT_Export
+# define HELLO_BASE_SVNT_SINGLETON_DECLARATION(T)
+# define HELLO_BASE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HELLO_BASE_SVNT_HAS_DLL == 1 */
+
+// Set HELLO_BASE_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HELLO_BASE_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HELLO_BASE_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HELLO_BASE_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HELLO_BASE_SVNT_NTRACE */
+
+#if (HELLO_BASE_SVNT_NTRACE == 1)
+# define HELLO_BASE_SVNT_TRACE(X)
+#else /* (HELLO_BASE_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define HELLO_BASE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (HELLO_BASE_SVNT_NTRACE == 1) */
+
+#endif /* HELLO_BASE_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Hello_Base/Makefile b/TAO/CIAO/examples/Hello/Hello_Base/Makefile
new file mode 100644
index 00000000000..15f37cb4f71
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Hello_Base/Makefile
@@ -0,0 +1,59 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+%.tgt0:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_stub -C . $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_stub -C . $(*);
+endif
+%.tgt1: %.tgt0
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_svnt -C . $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_svnt -C . $(*);
+endif
+
+
+all: all.tgt0 all.tgt1
+
+debug: debug.tgt0 debug.tgt1
+
+profile: profile.tgt0 profile.tgt1
+
+optimize: optimize.tgt0 optimize.tgt1
+
+install: install.tgt0 install.tgt1
+
+deinstall: deinstall.tgt0 deinstall.tgt1
+
+clean: clean.tgt0 clean.tgt1
+
+realclean: realclean.tgt0 realclean.tgt1
+
+clobber: clobber.tgt0 clobber.tgt1
+
+depend: depend.tgt0 depend.tgt1
+
+rcs_info: rcs_info.tgt0 rcs_info.tgt1
+
+idl_stubs: idl_stubs.tgt0 idl_stubs.tgt1
+
+reverseclean: realclean.tgt1 realclean.tgt0
diff --git a/TAO/CIAO/examples/Hello/Hello_Base/Makefile.Hello_Base_stub b/TAO/CIAO/examples/Hello/Hello_Base/Makefile.Hello_Base_stub
new file mode 100644
index 00000000000..768cf55f405
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Hello_Base/Makefile.Hello_Base_stub
@@ -0,0 +1,151 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Hello_Base_stub
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Hello_Base_stub
+DEPENDENCY_FILE = .depend.Makefile.Hello_Base_stub
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libHello_Base_stub.a
+LIB = $(LIB_UNCHECKED)
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libHello_Base_stub.$(SOEXT)
+SHLIB = $(SHLIB_UNCHECKED)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = $(ACE_ROOT)/bin/tao_idl
+IDL_FILES = Hello_Base
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ Hello_BaseC
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Hello_Base_stub
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+else
+ LIB =
+ SHLIB =
+ all: comp_warning
+endif
+
+ifeq (,$(TAO_ORBSVCS))
+else
+ ifeq (Security, $(findstring Security, $(TAO_ORBSVCS)))
+ else
+ LIB =
+ SHLIB =
+ endif
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+ifneq ($(SHLIB),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+Hello_BaseC.cpp: idl_stubs
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DHELLO_BASE_STUB_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -Wb,stub_export_macro=HELLO_BASE_STUB_Export -Wb,stub_export_include=Hello_Base_stub_export.h -Wb,skel_export_macro=HELLO_BASE_SVNT_Export -Wb,skel_export_include=Hello_Base_svnt_export.h -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ADDITIONAL_IDL_TARGETS =
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/CIAO/examples/Hello/Hello_Base/Makefile.Hello_Base_svnt b/TAO/CIAO/examples/Hello/Hello_Base/Makefile.Hello_Base_svnt
new file mode 100644
index 00000000000..0196f8ef193
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Hello_Base/Makefile.Hello_Base_svnt
@@ -0,0 +1,151 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Hello_Base_svnt
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Hello_Base_svnt
+DEPENDENCY_FILE = .depend.Makefile.Hello_Base_svnt
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libHello_Base_svnt.a
+LIB = $(LIB_UNCHECKED)
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libHello_Base_svnt.$(SOEXT)
+SHLIB = $(SHLIB_UNCHECKED)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = $(ACE_ROOT)/bin/tao_idl
+IDL_FILES = Hello_Base
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ Hello_BaseS
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lHello_Base_stub -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Hello_Base_svnt
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+else
+ LIB =
+ SHLIB =
+ all: comp_warning
+endif
+
+ifeq (,$(TAO_ORBSVCS))
+else
+ ifeq (Security, $(findstring Security, $(TAO_ORBSVCS)))
+ else
+ LIB =
+ SHLIB =
+ endif
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+ifneq ($(SHLIB),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+Hello_BaseS.cpp: idl_stubs
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DHELLO_BASE_SVNT_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -Wb,export_macro=HELLO_BASE_SVNT_Export -Wb,export_include=Hello_Base_svnt_export.h -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ADDITIONAL_IDL_TARGETS =
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/CIAO/examples/Hello/Makefile b/TAO/CIAO/examples/Hello/Makefile
new file mode 100644
index 00000000000..20adc5ad239
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Makefile
@@ -0,0 +1,123 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+%.tgt0:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Starter -C starter $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Starter -C starter $(*);
+endif
+%.tgt1:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_stub -C Hello_Base $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_stub -C Hello_Base $(*);
+endif
+%.tgt2: %.tgt1
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Receiver_stub -C Receiver $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Receiver_stub -C Receiver $(*);
+endif
+%.tgt3: %.tgt1
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_svnt -C Hello_Base $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_svnt -C Hello_Base $(*);
+endif
+%.tgt4: %.tgt2 %.tgt3
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Receiver_svnt -C Receiver $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Receiver_svnt -C Receiver $(*);
+endif
+%.tgt5: %.tgt4
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Receiver_exec -C Receiver $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Receiver_exec -C Receiver $(*);
+endif
+%.tgt6: %.tgt1
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Sender_stub -C Sender $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Sender_stub -C Sender $(*);
+endif
+%.tgt7: %.tgt3 %.tgt6
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Sender_svnt -C Sender $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Sender_svnt -C Sender $(*);
+endif
+%.tgt8: %.tgt7
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Sender_exec -C Sender $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Sender_exec -C Sender $(*);
+endif
+
+
+all: all.tgt0 all.tgt1 all.tgt2 all.tgt3 all.tgt4 all.tgt5 \
+ all.tgt6 all.tgt7 all.tgt8
+
+debug: debug.tgt0 debug.tgt1 debug.tgt2 debug.tgt3 debug.tgt4 \
+ debug.tgt5 debug.tgt6 debug.tgt7 debug.tgt8
+
+profile: profile.tgt0 profile.tgt1 profile.tgt2 profile.tgt3 \
+ profile.tgt4 profile.tgt5 profile.tgt6 profile.tgt7 \
+ profile.tgt8
+
+optimize: optimize.tgt0 optimize.tgt1 optimize.tgt2 optimize.tgt3 \
+ optimize.tgt4 optimize.tgt5 optimize.tgt6 optimize.tgt7 \
+ optimize.tgt8
+
+install: install.tgt0 install.tgt1 install.tgt2 install.tgt3 \
+ install.tgt4 install.tgt5 install.tgt6 install.tgt7 \
+ install.tgt8
+
+deinstall: deinstall.tgt0 deinstall.tgt1 deinstall.tgt2 deinstall.tgt3 \
+ deinstall.tgt4 deinstall.tgt5 deinstall.tgt6 deinstall.tgt7 \
+ deinstall.tgt8
+
+clean: clean.tgt0 clean.tgt1 clean.tgt2 clean.tgt3 clean.tgt4 \
+ clean.tgt5 clean.tgt6 clean.tgt7 clean.tgt8
+
+realclean: realclean.tgt0 realclean.tgt1 realclean.tgt2 realclean.tgt3 \
+ realclean.tgt4 realclean.tgt5 realclean.tgt6 realclean.tgt7 \
+ realclean.tgt8
+
+clobber: clobber.tgt0 clobber.tgt1 clobber.tgt2 clobber.tgt3 \
+ clobber.tgt4 clobber.tgt5 clobber.tgt6 clobber.tgt7 \
+ clobber.tgt8
+
+depend: depend.tgt0 depend.tgt1 depend.tgt2 depend.tgt3 depend.tgt4 \
+ depend.tgt5 depend.tgt6 depend.tgt7 depend.tgt8
+
+rcs_info: rcs_info.tgt0 rcs_info.tgt1 rcs_info.tgt2 rcs_info.tgt3 \
+ rcs_info.tgt4 rcs_info.tgt5 rcs_info.tgt6 rcs_info.tgt7 \
+ rcs_info.tgt8
+
+idl_stubs: idl_stubs.tgt0 idl_stubs.tgt1 idl_stubs.tgt2 idl_stubs.tgt3 \
+ idl_stubs.tgt4 idl_stubs.tgt5 idl_stubs.tgt6 idl_stubs.tgt7 \
+ idl_stubs.tgt8
+
+reverseclean: realclean.tgt8 realclean.tgt7 realclean.tgt6 realclean.tgt5 \
+ realclean.tgt4 realclean.tgt3 realclean.tgt2 realclean.tgt1 \
+ realclean.tgt0
diff --git a/TAO/CIAO/examples/Hello/README b/TAO/CIAO/examples/Hello/README
new file mode 100644
index 00000000000..953e245e924
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/README
@@ -0,0 +1,5 @@
+This Hello example is meant to be a step-by-step example of building
+A CIAO based application.
+The step-by-step tes\xt is at (www.dre.vanderbilt.edu/~lu/ciao).
+
+For more information about CIAO please refer to http://www.dre.vanderbilt.edu/CIAO
diff --git a/TAO/CIAO/examples/Hello/Receiver/Makefile b/TAO/CIAO/examples/Hello/Receiver/Makefile
new file mode 100644
index 00000000000..0dcd77fda30
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Makefile
@@ -0,0 +1,65 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+%.tgt0:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Receiver_stub -C . $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Receiver_stub -C . $(*);
+endif
+%.tgt1: %.tgt0
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Receiver_svnt -C . $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Receiver_svnt -C . $(*);
+endif
+%.tgt2: %.tgt1
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Receiver_exec -C . $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Receiver_exec -C . $(*);
+endif
+
+
+all: all.tgt0 all.tgt1 all.tgt2
+
+debug: debug.tgt0 debug.tgt1 debug.tgt2
+
+profile: profile.tgt0 profile.tgt1 profile.tgt2
+
+optimize: optimize.tgt0 optimize.tgt1 optimize.tgt2
+
+install: install.tgt0 install.tgt1 install.tgt2
+
+deinstall: deinstall.tgt0 deinstall.tgt1 deinstall.tgt2
+
+clean: clean.tgt0 clean.tgt1 clean.tgt2
+
+realclean: realclean.tgt0 realclean.tgt1 realclean.tgt2
+
+clobber: clobber.tgt0 clobber.tgt1 clobber.tgt2
+
+depend: depend.tgt0 depend.tgt1 depend.tgt2
+
+rcs_info: rcs_info.tgt0 rcs_info.tgt1 rcs_info.tgt2
+
+idl_stubs: idl_stubs.tgt0 idl_stubs.tgt1 idl_stubs.tgt2
+
+reverseclean: realclean.tgt2 realclean.tgt1 realclean.tgt0
diff --git a/TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_exec b/TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_exec
new file mode 100644
index 00000000000..72199f86417
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_exec
@@ -0,0 +1,152 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Hello_Base_Receiver_exec
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Hello_Base_Receiver_exec
+DEPENDENCY_FILE = .depend.Makefile.Hello_Base_Receiver_exec
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libReceiver_exec.a
+LIB = $(LIB_UNCHECKED)
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libReceiver_exec.$(SOEXT)
+SHLIB = $(SHLIB_UNCHECKED)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = $(ACE_ROOT)/bin/tao_idl
+IDL_FILES = ReceiverEI
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ ReceiverEIC \
+ Receiver_exec
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lReceiver_stub -lReceiver_svnt -lHello_Base_stub -lHello_Base_svnt -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Hello_Base_Receiver_exec
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+else
+ LIB =
+ SHLIB =
+ all: comp_warning
+endif
+
+ifeq (,$(TAO_ORBSVCS))
+else
+ ifeq (Security, $(findstring Security, $(TAO_ORBSVCS)))
+ else
+ LIB =
+ SHLIB =
+ endif
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+ifneq ($(SHLIB),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+ReceiverEIC.cpp Receiver_exec.cpp: idl_stubs
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DRECEIVER_EXEC_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -Wb,export_macro=RECEIVER_EXEC_Export -Wb,export_include=Receiver_exec_export.h -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ADDITIONAL_IDL_TARGETS =
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_stub b/TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_stub
new file mode 100644
index 00000000000..2fecb32c7d4
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_stub
@@ -0,0 +1,151 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Hello_Base_Receiver_stub
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Hello_Base_Receiver_stub
+DEPENDENCY_FILE = .depend.Makefile.Hello_Base_Receiver_stub
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libReceiver_stub.a
+LIB = $(LIB_UNCHECKED)
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libReceiver_stub.$(SOEXT)
+SHLIB = $(SHLIB_UNCHECKED)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = $(ACE_ROOT)/bin/tao_idl
+IDL_FILES = Receiver
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ ReceiverC
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lHello_Base_stub -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Hello_Base_Receiver_stub
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+else
+ LIB =
+ SHLIB =
+ all: comp_warning
+endif
+
+ifeq (,$(TAO_ORBSVCS))
+else
+ ifeq (Security, $(findstring Security, $(TAO_ORBSVCS)))
+ else
+ LIB =
+ SHLIB =
+ endif
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+ifneq ($(SHLIB),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+ReceiverC.cpp: idl_stubs
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DRECEIVER_STUB_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -Wb,stub_export_macro=RECEIVER_STUB_Export -Wb,stub_export_include=Receiver_stub_export.h -Wb,skel_export_macro=RECEIVER_SVNT_Export -Wb,skel_export_include=Receiver_svnt_export.h -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ADDITIONAL_IDL_TARGETS =
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_svnt b/TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_svnt
new file mode 100644
index 00000000000..26a540e1c93
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Makefile.Hello_Base_Receiver_svnt
@@ -0,0 +1,165 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Hello_Base_Receiver_svnt
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Hello_Base_Receiver_svnt
+DEPENDENCY_FILE = .depend.Makefile.Hello_Base_Receiver_svnt
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libReceiver_svnt.a
+LIB = $(LIB_UNCHECKED)
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libReceiver_svnt.$(SOEXT)
+SHLIB = $(SHLIB_UNCHECKED)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = $(ACE_ROOT)/bin/tao_idl
+IDL_FILES = ReceiverE
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ ReceiverEC \
+ ReceiverS \
+ Receiver_svnt
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lReceiver_stub -lHello_Base_stub -lHello_Base_svnt -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Hello_Base_Receiver_svnt
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+else
+ LIB =
+ SHLIB =
+ all: comp_warning
+endif
+
+ifeq (,$(TAO_ORBSVCS))
+else
+ ifeq (Security, $(findstring Security, $(TAO_ORBSVCS)))
+ else
+ LIB =
+ SHLIB =
+ endif
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+ifneq ($(SHLIB),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+ReceiverEC.cpp ReceiverS.cpp Receiver_svnt.cpp: idl_stubs
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DRECEIVER_SVNT_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -Wb,export_macro=RECEIVER_SVNT_Export -Wb,export_include=Receiver_svnt_export.h -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+GENERATED_DIRTY += Receiver_svnt.cpp ReceiverE.idl
+Receiver_svnt.cpp: Receiver.cidl
+ $(CIAO_ROOT)/bin/cidlc --lem-file-suffix E.idl -- Receiver.cidl
+
+ReceiverE.idl: Receiver.cidl
+ $(CIAO_ROOT)/bin/cidlc --lem-file-suffix E.idl -- Receiver.cidl
+
+ifneq ($(GENERATED_DIRTY),)
+.PRECIOUS: $(GENERATED_DIRTY)
+all: $(GENERATED_DIRTY)
+endif
+
+
+ADDITIONAL_IDL_TARGETS =
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver.cidl b/TAO/CIAO/examples/Hello/Receiver/Receiver.cidl
new file mode 100644
index 00000000000..c91a09b5393
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver.cidl
@@ -0,0 +1,22 @@
+$Id$:
+/**
+ * @file Reciever.cild
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef SENDER_CIDL
+#define SENDER_CIDL
+
+#include "Receiver.idl"
+
+composition session Receiver_Impl
+{
+ home executor ReceiverHome_Exec
+ {
+ implements Hello::ReceiverHome;
+ manages Receiver_Exec;
+ };
+};
+
+#endif /* SENDER_CIDL */
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver.idl b/TAO/CIAO/examples/Hello/Receiver/Receiver.idl
new file mode 100644
index 00000000000..ba5999636d4
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver.idl
@@ -0,0 +1,26 @@
+$Id$:
+/**
+ * @file Receiver.idl
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef RECEIVER_IDL
+#define RECEIVER_IDL
+
+#include "../Hello_Base/Hello_Base.idl"
+
+module Hello
+{
+ component Receiver
+ {
+ uses message read_message;
+ consumes timeout click_in;
+ };
+
+ home ReceiverHome manages Receiver
+ {
+ };
+
+};
+#endif /*RECEIVER_IDL*/
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver.mpc b/TAO/CIAO/examples/Hello/Receiver/Receiver.mpc
new file mode 100644
index 00000000000..4db2bd7f999
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver.mpc
@@ -0,0 +1,60 @@
+// $Id$
+// This file is generated with "generate_component_mpc_extra.pl -p Hello_Base Receiver"
+
+project(Hello_Base_Receiver_stub): ciao_client {
+ after += Hello_Base_stub
+ sharedname = Receiver_stub
+ idlflags += -Wb,stub_export_macro=RECEIVER_STUB_Export -Wb,stub_export_include=Receiver_stub_export.h -Wb,skel_export_macro=RECEIVER_SVNT_Export -Wb,skel_export_include=Receiver_svnt_export.h
+ dynamicflags = RECEIVER_STUB_BUILD_DLL
+ libs += Hello_Base_stub
+
+ IDL_Files {
+ Receiver.idl
+ }
+
+ Source_Files {
+ ReceiverC.cpp
+ }
+}
+
+project(Hello_Base_Receiver_svnt) : ciao_servant {
+ after += Hello_Base_svnt Hello_Base_Receiver_stub
+ sharedname = Receiver_svnt
+ libs += Receiver_stub Hello_Base_stub Hello_Base_svnt
+
+ idlflags += -Wb,export_macro=RECEIVER_SVNT_Export -Wb,export_include=Receiver_svnt_export.h
+ dynamicflags = RECEIVER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ Receiver.cidl
+ }
+
+ IDL_Files {
+ ReceiverE.idl
+ }
+
+ Source_Files {
+ ReceiverEC.cpp
+ ReceiverS.cpp
+ Receiver_svnt.cpp
+ }
+}
+
+
+project(Hello_Base_Receiver_exec) : ciao_component {
+ after += Hello_Base_Receiver_svnt
+ sharedname = Receiver_exec
+ libs += Receiver_stub Receiver_svnt Hello_Base_stub Hello_Base_svnt
+
+ idlflags += -Wb,export_macro=RECEIVER_EXEC_Export -Wb,export_include=Receiver_exec_export.h
+ dynamicflags = RECEIVER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ ReceiverEI.idl
+ }
+
+ Source_Files {
+ ReceiverEIC.cpp
+ Receiver_exec.cpp
+ }
+}
diff --git a/TAO/CIAO/examples/Hello/Receiver/ReceiverEI.idl b/TAO/CIAO/examples/Hello/Receiver/ReceiverEI.idl
new file mode 100644
index 00000000000..2b25ebbd942
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/ReceiverEI.idl
@@ -0,0 +1,25 @@
+$Id$:
+/**
+ * @file ReceiverEI.idl
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef RECEIVEREI_IDL
+#define RECEIVERET_IDL
+
+
+#include "ReceiverE.idl"
+
+module Hello
+{
+ //Note since the Receiver only uses the message interface, there won't
+ //be any inheritance from CCM_message.
+ local interface Receiver_Exec :
+ CCM_Receiver,
+ Components::SessionComponent
+ {
+ };
+
+};
+#endif /*RECEIVEREI_IDL*/
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.cpp b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.cpp
new file mode 100644
index 00000000000..f1f62bb5d30
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.cpp
@@ -0,0 +1,108 @@
+$Id$:
+/*
+ * @file Receiver_exec.cpp
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#include "Receiver_exec.h"
+
+MyImpl::Receiver_exec_i::Receiver_exec_i ()
+{
+}
+
+MyImpl::Receiver_exec_i::~Receiver_exec_i ()
+{
+}
+
+void
+MyImpl::Receiver_exec_i::push_click_in (Hello::timeout *
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ //Get the message from the Sender first.
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver - Informed by the Sender \n"));
+
+ Hello::message_var rev
+ = this->context_->get_connection_read_message (ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (rev.in ()))
+ ACE_THROW (CORBA::BAD_INV_ORDER ());
+
+ CORBA::String_var str =
+ rev->get_message (ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver - Got message from the server [%s] \n",
+ str.in () ));
+}
+
+// Operations from Components::SessionComponen
+void
+MyImpl::Receiver_exec_i::set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Receiver_exec_i::set_session_context\n"));
+
+ this->context_ =
+ Hello::CCM_Receiver_Context::_narrow (ctx
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (this->context_.in ()))
+ ACE_THROW (CORBA::INTERNAL ());
+ // Urm, we actually discard exceptions thown from this operation.
+}
+
+void
+MyImpl::Receiver_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Receiver_exec_i::ccm_activate\n"));
+}
+
+void
+MyImpl::Receiver_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Receiver_exec_i::ccm_passivate\n"));
+}
+
+void
+MyImpl::Receiver_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Receiver_exec_i::ccm_remove\n"));
+}
+
+
+MyImpl::ReceiverHome_exec_i::ReceiverHome_exec_i ()
+{
+}
+
+MyImpl::ReceiverHome_exec_i::~ReceiverHome_exec_i ()
+{
+}
+
+::Components::EnterpriseComponent_ptr
+MyImpl::ReceiverHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ return new MyImpl::Receiver_exec_i;
+}
+
+
+extern "C" RECEIVER_EXEC_Export ::Components::HomeExecutorBase_ptr
+createReceiverHome_Impl (void)
+{
+ return new MyImpl::ReceiverHome_exec_i ();
+}
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.h b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.h
new file mode 100644
index 00000000000..f0510661177
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.h
@@ -0,0 +1,102 @@
+$Id$:
+//============================================================
+/**
+ * @file Receiver_exec.h
+ *
+ * Header file for the Executor implementation.
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+//============================================================
+
+#ifndef RECEIVER_EXEC_H
+#define RECEIVER_EXEC_H
+
+#include "ReceiverEIC.h"
+#include "tao/LocalObject.h"
+
+#ifdef linux
+//#define RECEIVER_EXEC_Export
+#endif
+
+namespace MyImpl
+{
+
+ /**
+ * @class Receiver_exec_i
+ *
+ * Receiver executor implementation class.
+ */
+
+ class RECEIVER_EXEC_Export Receiver_exec_i :
+ public virtual Hello::Receiver_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+
+ public:
+ /// Default constructor.
+ Receiver_exec_i ();
+
+ /// Default destructor.
+ ~Receiver_exec_i ();
+
+ // Operation which will be called upon receiving the timeout event.
+ virtual void
+ push_click_in (Hello::timeout *ev
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+ virtual void set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ protected:
+ /// Copmponent specific context
+ Hello::CCM_Receiver_Context_var context_;
+ private:
+ CORBA::String_var message_;
+ };
+
+ /**
+ * @class ReceiverHome_exec_i
+ *
+ * Receiver home executor implementation class.
+ */
+ class RECEIVER_EXEC_Export ReceiverHome_exec_i :
+ public virtual Hello::CCM_ReceiverHome,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default ctor.
+ ReceiverHome_exec_i ();
+
+ /// Default dtor.
+ ~ReceiverHome_exec_i ();
+
+ // Implicit home operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+ };
+
+}
+
+extern "C" RECEIVER_EXEC_Export ::Components::HomeExecutorBase_ptr
+createReceiverHome_Impl (void);
+
+#endif /* RECEIVER_EXEC_H */
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver_exec_export.h b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec_export.h
new file mode 100644
index 00000000000..8ad3640d130
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl RECEIVER_EXEC
+// ------------------------------
+#ifndef RECEIVER_EXEC_EXPORT_H
+#define RECEIVER_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (RECEIVER_EXEC_HAS_DLL)
+# define RECEIVER_EXEC_HAS_DLL 1
+#endif /* ! RECEIVER_EXEC_HAS_DLL */
+
+#if defined (RECEIVER_EXEC_HAS_DLL) && (RECEIVER_EXEC_HAS_DLL == 1)
+# if defined (RECEIVER_EXEC_BUILD_DLL)
+# define RECEIVER_EXEC_Export ACE_Proper_Export_Flag
+# define RECEIVER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* RECEIVER_EXEC_BUILD_DLL */
+# define RECEIVER_EXEC_Export ACE_Proper_Import_Flag
+# define RECEIVER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* RECEIVER_EXEC_BUILD_DLL */
+#else /* RECEIVER_EXEC_HAS_DLL == 1 */
+# define RECEIVER_EXEC_Export
+# define RECEIVER_EXEC_SINGLETON_DECLARATION(T)
+# define RECEIVER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* RECEIVER_EXEC_HAS_DLL == 1 */
+
+// Set RECEIVER_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (RECEIVER_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define RECEIVER_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define RECEIVER_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !RECEIVER_EXEC_NTRACE */
+
+#if (RECEIVER_EXEC_NTRACE == 1)
+# define RECEIVER_EXEC_TRACE(X)
+#else /* (RECEIVER_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define RECEIVER_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (RECEIVER_EXEC_NTRACE == 1) */
+
+#endif /* RECEIVER_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver_stub_export.h b/TAO/CIAO/examples/Hello/Receiver/Receiver_stub_export.h
new file mode 100644
index 00000000000..c457802854f
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl RECEIVER_STUB
+// ------------------------------
+#ifndef RECEIVER_STUB_EXPORT_H
+#define RECEIVER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (RECEIVER_STUB_HAS_DLL)
+# define RECEIVER_STUB_HAS_DLL 1
+#endif /* ! RECEIVER_STUB_HAS_DLL */
+
+#if defined (RECEIVER_STUB_HAS_DLL) && (RECEIVER_STUB_HAS_DLL == 1)
+# if defined (RECEIVER_STUB_BUILD_DLL)
+# define RECEIVER_STUB_Export ACE_Proper_Export_Flag
+# define RECEIVER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* RECEIVER_STUB_BUILD_DLL */
+# define RECEIVER_STUB_Export ACE_Proper_Import_Flag
+# define RECEIVER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* RECEIVER_STUB_BUILD_DLL */
+#else /* RECEIVER_STUB_HAS_DLL == 1 */
+# define RECEIVER_STUB_Export
+# define RECEIVER_STUB_SINGLETON_DECLARATION(T)
+# define RECEIVER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* RECEIVER_STUB_HAS_DLL == 1 */
+
+// Set RECEIVER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (RECEIVER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define RECEIVER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define RECEIVER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !RECEIVER_STUB_NTRACE */
+
+#if (RECEIVER_STUB_NTRACE == 1)
+# define RECEIVER_STUB_TRACE(X)
+#else /* (RECEIVER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define RECEIVER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (RECEIVER_STUB_NTRACE == 1) */
+
+#endif /* RECEIVER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver_svnt.h b/TAO/CIAO/examples/Hello/Receiver/Receiver_svnt.h
new file mode 100644
index 00000000000..cacd80254ad
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver_svnt.h
@@ -0,0 +1,548 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.cs.wustl.edu/~nanbor/projects/CIAO-src/docs/index.html
+
+#ifndef CIAO_GLUE_SESSION_RECEIVER_SVNT_H
+#define CIAO_GLUE_SESSION_RECEIVER_SVNT_H
+#include "ace/pre.h"
+
+#include "ReceiverS.h"
+#include "ReceiverEC.h"
+
+#include "ciao/Container_Base.h"
+#include "tao/LocalObject.h"
+#include "tao/PortableServer/Key_Adapters.h"
+#include "ace/Active_Map_Manager_T.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace CIAO_GLUE_Hello
+{
+ class RECEIVER_SVNT_Export Receiver_Context
+ : public virtual ::Hello::CCM_Receiver_Context,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ // We will allow the servant glue code we generate to access our state.
+ friend class Receiver_Servant;
+
+ Receiver_Context (
+ ::Components::CCMHome_ptr home,
+ ::CIAO::Session_Container *c,
+ Receiver_Servant *sv);
+
+ virtual ~Receiver_Context (void);
+
+ // Operations from ::Components::CCMContext.
+
+ virtual ::Components::Principal_ptr
+ get_caller_principal (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::CCMHome_ptr
+ get_CCM_home (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean
+ get_rollback_only (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::IllegalState));
+
+ virtual ::Components::Transaction::UserTransaction_ptr
+ get_user_transaction (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::IllegalState));
+
+ virtual CORBA::Boolean
+ is_caller_in_role (
+ const char *role
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ set_rollback_only (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::IllegalState));
+
+ // Operations from ::Components::SessionContext interface.
+
+ virtual CORBA::Object_ptr
+ get_CCM_object (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::IllegalState));
+
+ // Operations for Receiver receptacles and event sources,
+ // defined in ::Hello::CCM_Receiver_Context.
+
+ virtual ::Hello::message_ptr
+ get_connection_read_message (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ protected:
+ // Methods that manage this component's connections and consumers.
+
+ virtual void
+ connect_read_message (
+ ::Hello::message_ptr
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::AlreadyConnected,
+ ::Components::InvalidConnection));
+
+ virtual ::Hello::message_ptr
+ disconnect_read_message (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::NoConnection));
+
+ protected:
+ // Simplex read_message connection.
+ ::Hello::message_var
+ ciao_uses_read_message_;
+
+ ::Components::CCMHome_var
+ home_;
+
+ ::CIAO::Session_Container *
+ container_;
+
+ Receiver_Servant *
+ servant_;
+
+ ::Hello::Receiver_var
+ component_;
+ };
+
+ class RECEIVER_SVNT_Export Receiver_Servant
+ : public virtual POA_Hello::Receiver,
+ public virtual PortableServer::RefCountServantBase
+ {
+ public:
+ Receiver_Servant (
+ ::Hello::CCM_Receiver_ptr executor,
+ ::Components::CCMHome_ptr home,
+ ::CIAO::Session_Container *c);
+
+ virtual ~Receiver_Servant (void);
+
+ virtual void
+ connect_read_message (
+ ::Hello::message_ptr c
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::AlreadyConnected,
+ ::Components::InvalidConnection));
+
+ virtual ::Hello::message_ptr
+ disconnect_read_message (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::NoConnection));
+
+ virtual ::Hello::message_ptr
+ get_connection_read_message (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Servant class for the click_in consumer.
+ class RECEIVER_SVNT_Export timeoutConsumer_click_in_Servant
+ : public virtual POA_Hello::timeoutConsumer,
+ public virtual PortableServer::RefCountServantBase
+ {
+ public:
+ timeoutConsumer_click_in_Servant (
+ ::Hello::CCM_Receiver_ptr executor,
+ ::Hello::CCM_Receiver_Context_ptr c);
+
+ virtual ~timeoutConsumer_click_in_Servant (void);
+
+ virtual void
+ push_timeout (
+ ::Hello::timeout *evt
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Inherited from ::Components::EventConsumerBase.
+ virtual void
+ push_event (::Components::EventBase *ev
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::BadEventType));
+
+ // Get component implementation.
+ virtual CORBA::Object_ptr
+ _get_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ protected:
+ ::Hello::CCM_Receiver_var
+ executor_;
+
+ ::Hello::CCM_Receiver_Context_var
+ ctx_;
+ };
+
+ virtual ::Hello::timeoutConsumer_ptr
+ get_consumer_click_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations for Navigation interface.
+
+ virtual CORBA::Object_ptr
+ provide_facet (
+ const char *name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual ::Components::FacetDescriptions *
+ get_all_facets (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::FacetDescriptions *
+ get_named_facets (
+ const ::Components::NameList & /* names */
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual CORBA::Boolean
+ same_component (
+ CORBA::Object_ptr object_ref
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations for Receptacles interface.
+
+ virtual ::Components::Cookie *
+ connect (
+ const char *name,
+ CORBA::Object_ptr connection
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::InvalidConnection,
+ ::Components::AlreadyConnected,
+ ::Components::ExceededConnectionLimit));
+
+ virtual CORBA::Object_ptr
+ disconnect (
+ const char *name,
+ ::Components::Cookie *ck
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::InvalidConnection,
+ ::Components::CookieRequired,
+ ::Components::NoConnection));
+
+ virtual ::Components::ConnectionDescriptions *
+ get_connections (
+ const char *name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual ::Components::ReceptacleDescriptions *
+ get_all_receptacles (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::ReceptacleDescriptions *
+ get_named_receptacles (
+ const ::Components::NameList & /* names */
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ // Operations for Events interface.
+
+ virtual ::Components::EventConsumerBase_ptr
+ get_consumer (
+ const char *sink_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual ::Components::Cookie *
+ subscribe (
+ const char *publisher_name,
+ ::Components::EventConsumerBase_ptr subscriber
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::InvalidConnection,
+ ::Components::ExceededConnectionLimit));
+
+ virtual ::Components::EventConsumerBase_ptr
+ unsubscribe (
+ const char *publisher_name,
+ ::Components::Cookie *ck
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::InvalidConnection));
+
+ virtual void
+ connect_consumer (
+ const char *emitter_name,
+ ::Components::EventConsumerBase_ptr consumer
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::AlreadyConnected,
+ ::Components::InvalidConnection));
+
+ virtual ::Components::EventConsumerBase_ptr
+ disconnect_consumer (
+ const char *source_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::NoConnection));
+
+ virtual ::Components::ConsumerDescriptions *
+ get_all_consumers (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::ConsumerDescriptions *
+ get_named_consumers (
+ const ::Components::NameList & /* names */
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual ::Components::EmitterDescriptions *
+ get_all_emitters (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::EmitterDescriptions *
+ get_named_emitters(
+ const ::Components::NameList & /* names */
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual ::Components::PublisherDescriptions *
+ get_all_publishers (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::PublisherDescriptions *
+ get_named_publishers(
+ const ::Components::NameList & /* names */
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ // Operations for CCMObject interface.
+
+ virtual CORBA::IRObject_ptr
+ get_component_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::CCMHome_ptr
+ get_ccm_home (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::PrimaryKeyBase *
+ get_primary_key (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::NoKeyAvailable));
+
+ virtual void
+ configuration_complete (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidConfiguration));
+
+ virtual void
+ remove (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::RemoveFailure));
+
+ virtual ::Components::ComponentPortDescription *
+ get_all_ports(
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Get component implementation.
+ virtual CORBA::Object_ptr
+ _get_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // CIAO-specific operations.
+
+ void
+ _ciao_activate (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void
+ _ciao_passivate (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ protected:
+ ::Hello::CCM_Receiver_var
+ executor_;
+
+ Receiver_Context *
+ context_;
+
+ ::CIAO::Session_Container *
+ container_;
+ ::Hello::timeoutConsumer_var
+ consumes_click_in_;
+ };
+
+ class RECEIVER_SVNT_Export ReceiverHome_Servant
+ : public virtual POA_Hello::ReceiverHome,
+ public virtual PortableServer::RefCountServantBase
+ {
+ public:
+ ReceiverHome_Servant (
+ ::Hello::CCM_ReceiverHome_ptr exe,
+ ::CIAO::Session_Container *c);
+ virtual ~ReceiverHome_Servant (void);
+
+ // Home factory and other operations.
+
+ // Operations for keyless home interface.
+
+ virtual ::Components::CCMObject_ptr
+ create_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CreateFailure));
+ // Operations for implicit home interface.
+
+ virtual ::Hello::Receiver_ptr
+ create (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CreateFailure));
+ // Operations for CCMHome interface.
+
+ virtual ::CORBA::IRObject_ptr
+ get_component_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ virtual ::CORBA::IRObject_ptr
+ get_home_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ virtual void
+ remove_component (
+ ::Components::CCMObject_ptr comp
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::RemoveFailure));
+
+ // Supported operations.
+
+ protected:
+ // CIAO-specific operations.
+
+ ::Hello::Receiver_ptr
+ _ciao_activate_component (
+ ::Hello::CCM_Receiver_ptr exe
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void
+ _ciao_passivate_component (
+ ::Hello::Receiver_ptr comp
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ protected:
+ ::Hello::CCM_ReceiverHome_var
+ executor_;
+
+ ::CIAO::Session_Container *
+ container_;
+
+ ACE_Hash_Map_Manager_Ex<
+ PortableServer::ObjectId,
+ Receiver_Servant *,
+ TAO_ObjectId_Hash,
+ ACE_Equal_To<PortableServer::ObjectId>,
+ ACE_SYNCH_MUTEX>
+ component_map_;
+ };
+
+ extern "C" RECEIVER_SVNT_Export ::PortableServer::Servant
+ createReceiverHome_Servant (
+ ::Components::HomeExecutorBase_ptr p,
+ CIAO::Session_Container *c
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+}
+
+#include "ace/post.h"
+#endif /* CIAO_GLUE_SESSION_RECEIVER_SVNT_H */
+
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver_svnt_export.h b/TAO/CIAO/examples/Hello/Receiver/Receiver_svnt_export.h
new file mode 100644
index 00000000000..1c9eca2556d
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl RECEIVER_SVNT
+// ------------------------------
+#ifndef RECEIVER_SVNT_EXPORT_H
+#define RECEIVER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (RECEIVER_SVNT_HAS_DLL)
+# define RECEIVER_SVNT_HAS_DLL 1
+#endif /* ! RECEIVER_SVNT_HAS_DLL */
+
+#if defined (RECEIVER_SVNT_HAS_DLL) && (RECEIVER_SVNT_HAS_DLL == 1)
+# if defined (RECEIVER_SVNT_BUILD_DLL)
+# define RECEIVER_SVNT_Export ACE_Proper_Export_Flag
+# define RECEIVER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* RECEIVER_SVNT_BUILD_DLL */
+# define RECEIVER_SVNT_Export ACE_Proper_Import_Flag
+# define RECEIVER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* RECEIVER_SVNT_BUILD_DLL */
+#else /* RECEIVER_SVNT_HAS_DLL == 1 */
+# define RECEIVER_SVNT_Export
+# define RECEIVER_SVNT_SINGLETON_DECLARATION(T)
+# define RECEIVER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* RECEIVER_SVNT_HAS_DLL == 1 */
+
+// Set RECEIVER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (RECEIVER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define RECEIVER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define RECEIVER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !RECEIVER_SVNT_NTRACE */
+
+#if (RECEIVER_SVNT_NTRACE == 1)
+# define RECEIVER_SVNT_TRACE(X)
+#else /* (RECEIVER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define RECEIVER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (RECEIVER_SVNT_NTRACE == 1) */
+
+#endif /* RECEIVER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Sender/Makefile b/TAO/CIAO/examples/Hello/Sender/Makefile
new file mode 100644
index 00000000000..d5a560b6b9c
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Makefile
@@ -0,0 +1,65 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+%.tgt0:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Sender_stub -C . $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Sender_stub -C . $(*);
+endif
+%.tgt1: %.tgt0
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Sender_svnt -C . $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Sender_svnt -C . $(*);
+endif
+%.tgt2: %.tgt1
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Hello_Base_Sender_exec -C . $(*);
+else
+ @$(MAKE) -f Makefile.Hello_Base_Sender_exec -C . $(*);
+endif
+
+
+all: all.tgt0 all.tgt1 all.tgt2
+
+debug: debug.tgt0 debug.tgt1 debug.tgt2
+
+profile: profile.tgt0 profile.tgt1 profile.tgt2
+
+optimize: optimize.tgt0 optimize.tgt1 optimize.tgt2
+
+install: install.tgt0 install.tgt1 install.tgt2
+
+deinstall: deinstall.tgt0 deinstall.tgt1 deinstall.tgt2
+
+clean: clean.tgt0 clean.tgt1 clean.tgt2
+
+realclean: realclean.tgt0 realclean.tgt1 realclean.tgt2
+
+clobber: clobber.tgt0 clobber.tgt1 clobber.tgt2
+
+depend: depend.tgt0 depend.tgt1 depend.tgt2
+
+rcs_info: rcs_info.tgt0 rcs_info.tgt1 rcs_info.tgt2
+
+idl_stubs: idl_stubs.tgt0 idl_stubs.tgt1 idl_stubs.tgt2
+
+reverseclean: realclean.tgt2 realclean.tgt1 realclean.tgt0
diff --git a/TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_exec b/TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_exec
new file mode 100644
index 00000000000..b0bcfb6f2a1
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_exec
@@ -0,0 +1,152 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Hello_Base_Sender_exec
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Hello_Base_Sender_exec
+DEPENDENCY_FILE = .depend.Makefile.Hello_Base_Sender_exec
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libSender_exec.a
+LIB = $(LIB_UNCHECKED)
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libSender_exec.$(SOEXT)
+SHLIB = $(SHLIB_UNCHECKED)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = $(ACE_ROOT)/bin/tao_idl
+IDL_FILES = SenderEI
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ SenderEIC \
+ Sender_exec
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lSender_stub -lSender_svnt -lHello_Base_stub -lHello_Base_svnt -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Hello_Base_Sender_exec
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+else
+ LIB =
+ SHLIB =
+ all: comp_warning
+endif
+
+ifeq (,$(TAO_ORBSVCS))
+else
+ ifeq (Security, $(findstring Security, $(TAO_ORBSVCS)))
+ else
+ LIB =
+ SHLIB =
+ endif
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+ifneq ($(SHLIB),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+SenderEIC.cpp Sender_exec.cpp: idl_stubs
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DSENDER_EXEC_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -Wb,export_macro=SENDER_EXEC_Export -Wb,export_include=Sender_exec_export.h -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ADDITIONAL_IDL_TARGETS =
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_stub b/TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_stub
new file mode 100644
index 00000000000..84acaa063cc
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_stub
@@ -0,0 +1,151 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Hello_Base_Sender_stub
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Hello_Base_Sender_stub
+DEPENDENCY_FILE = .depend.Makefile.Hello_Base_Sender_stub
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libSender_stub.a
+LIB = $(LIB_UNCHECKED)
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libSender_stub.$(SOEXT)
+SHLIB = $(SHLIB_UNCHECKED)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = $(ACE_ROOT)/bin/tao_idl
+IDL_FILES = Sender
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ SenderC
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lHello_Base_stub -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Hello_Base_Sender_stub
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+else
+ LIB =
+ SHLIB =
+ all: comp_warning
+endif
+
+ifeq (,$(TAO_ORBSVCS))
+else
+ ifeq (Security, $(findstring Security, $(TAO_ORBSVCS)))
+ else
+ LIB =
+ SHLIB =
+ endif
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+ifneq ($(SHLIB),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+SenderC.cpp: idl_stubs
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DSENDER_STUB_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -Wb,stub_export_macro=SENDER_STUB_Export -Wb,stub_export_include=Sender_stub_export.h -Wb,skel_export_macro=SENDER_SVNT_Export -Wb,skel_export_include=Sender_svnt_export.h -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ADDITIONAL_IDL_TARGETS =
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_svnt b/TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_svnt
new file mode 100644
index 00000000000..2c054562452
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Makefile.Hello_Base_Sender_svnt
@@ -0,0 +1,165 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Hello_Base_Sender_svnt
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Hello_Base_Sender_svnt
+DEPENDENCY_FILE = .depend.Makefile.Hello_Base_Sender_svnt
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libSender_svnt.a
+LIB = $(LIB_UNCHECKED)
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libSender_svnt.$(SOEXT)
+SHLIB = $(SHLIB_UNCHECKED)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = $(ACE_ROOT)/bin/tao_idl
+IDL_FILES = SenderE
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ SenderEC \
+ SenderS \
+ Sender_svnt
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lSender_stub -lHello_Base_stub -lHello_Base_svnt -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Hello_Base_Sender_svnt
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+else
+ LIB =
+ SHLIB =
+ all: comp_warning
+endif
+
+ifeq (,$(TAO_ORBSVCS))
+else
+ ifeq (Security, $(findstring Security, $(TAO_ORBSVCS)))
+ else
+ LIB =
+ SHLIB =
+ endif
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+ifneq ($(SHLIB),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+SenderEC.cpp SenderS.cpp Sender_svnt.cpp: idl_stubs
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DSENDER_SVNT_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -Wb,export_macro=SENDER_SVNT_Export -Wb,export_include=Sender_svnt_export.h -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+GENERATED_DIRTY += Sender_svnt.cpp SenderE.idl
+Sender_svnt.cpp: Sender.cidl
+ $(CIAO_ROOT)/bin/cidlc --lem-file-suffix E.idl -- Sender.cidl
+
+SenderE.idl: Sender.cidl
+ $(CIAO_ROOT)/bin/cidlc --lem-file-suffix E.idl -- Sender.cidl
+
+ifneq ($(GENERATED_DIRTY),)
+.PRECIOUS: $(GENERATED_DIRTY)
+all: $(GENERATED_DIRTY)
+endif
+
+
+ADDITIONAL_IDL_TARGETS =
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender.cidl b/TAO/CIAO/examples/Hello/Sender/Sender.cidl
new file mode 100644
index 00000000000..1898660832b
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender.cidl
@@ -0,0 +1,22 @@
+$Id$:
+/**
+ * @file Sender.cild
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+#ifndef SENDER_CIDL
+#define SENDER_CIDL
+
+#include "Sender.idl"
+
+composition session Sender_Impl
+{
+ home executor SenderHome_Exec
+ {
+ implements Hello::SenderHome;
+
+ manages Sender_Exec;
+ };
+};
+
+#endif /* SENDER_CIDL */
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender.idl b/TAO/CIAO/examples/Hello/Sender/Sender.idl
new file mode 100644
index 00000000000..ad36acca5d1
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender.idl
@@ -0,0 +1,36 @@
+$Id$:
+/**
+ * @file Sender.idl
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef SENDER_IDL
+#define SENDER_IDL
+
+
+#include "../Hello_Base/Hello_Base.idl"
+
+module Hello
+{
+ /* This is a Sender specific interface which will be used to get the
+ * process start.
+ */
+
+ interface trigger
+ {
+ void start ();
+ };
+
+ component Sender supports trigger
+ {
+ provides message push_message;
+ publishes timeout click_out;
+ };
+
+ home SenderHome manages Sender
+ {
+ };
+
+};
+#endif /*SENDER_IDL*/
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender.mpc b/TAO/CIAO/examples/Hello/Sender/Sender.mpc
new file mode 100644
index 00000000000..afe751001c6
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender.mpc
@@ -0,0 +1,59 @@
+// $Id$
+// This file is generated with "generate_component_mpc_extra.pl -p Hello_Base Sender"
+
+project(Hello_Base_Sender_stub): ciao_client {
+ after += Hello_Base_stub
+ sharedname = Sender_stub
+ idlflags += -Wb,stub_export_macro=SENDER_STUB_Export -Wb,stub_export_include=Sender_stub_export.h -Wb,skel_export_macro=SENDER_SVNT_Export -Wb,skel_export_include=Sender_svnt_export.h
+ dynamicflags = SENDER_STUB_BUILD_DLL
+ libs += Hello_Base_stub
+
+ IDL_Files {
+ Sender.idl
+ }
+
+ Source_Files {
+ SenderC.cpp
+ }
+}
+
+project(Hello_Base_Sender_svnt) : ciao_servant {
+ after += Hello_Base_svnt Hello_Base_Sender_stub
+ sharedname = Sender_svnt
+ libs += Sender_stub Hello_Base_stub Hello_Base_svnt
+
+ idlflags += -Wb,export_macro=SENDER_SVNT_Export -Wb,export_include=Sender_svnt_export.h
+ dynamicflags = SENDER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ Sender.cidl
+ }
+
+ IDL_Files {
+ SenderE.idl
+ }
+
+ Source_Files {
+ SenderEC.cpp
+ SenderS.cpp
+ Sender_svnt.cpp
+ }
+}
+
+project(Hello_Base_Sender_exec) : ciao_component {
+ after += Hello_Base_Sender_svnt
+ sharedname = Sender_exec
+ libs += Sender_stub Sender_svnt Hello_Base_stub Hello_Base_svnt
+
+ idlflags += -Wb,export_macro=SENDER_EXEC_Export -Wb,export_include=Sender_exec_export.h
+ dynamicflags = SENDER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ SenderEI.idl
+ }
+
+ Source_Files {
+ SenderEIC.cpp
+ Sender_exec.cpp
+ }
+}
diff --git a/TAO/CIAO/examples/Hello/Sender/SenderEI.idl b/TAO/CIAO/examples/Hello/Sender/SenderEI.idl
new file mode 100644
index 00000000000..371882279ec
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/SenderEI.idl
@@ -0,0 +1,24 @@
+$Id$:
+/**
+ * @file SenderEI.idl
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef SENDEREI_IDL
+#define SENDERET_IDL
+
+
+#include "SenderE.idl"
+
+module Hello
+{
+ local interface Sender_Exec :
+ CCM_Sender,
+ CCM_message,
+ Components::SessionComponent
+ {
+ };
+
+};
+#endif /*SENDEREI_IDL*/
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp b/TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp
new file mode 100644
index 00000000000..fc0a8db0632
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp
@@ -0,0 +1,116 @@
+$Id$:
+/*
+ * @file Sender_exec.cpp
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#include "Sender_exec.h"
+
+MyImpl::Sender_exec_i::Sender_exec_i ()
+ : message_ ("Sender's Data")
+{
+}
+
+MyImpl::Sender_exec_i::~Sender_exec_i ()
+{
+}
+
+Hello::CCM_message_ptr
+MyImpl::Sender_exec_i::get_push_message (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return Hello::CCM_message::_duplicate (this);
+}
+
+char *
+MyImpl::Sender_exec_i::get_message (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender sending out message. \n"));
+ return CORBA::string_dup(this->message_.in ());
+}
+
+
+void
+MyImpl::Sender_exec_i::start (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ Hello::timeout_var event = new OBV_Hello::timeout;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender initiates the process.\n"));
+
+ this->context_->push_click_out (event
+ ACE_ENV_ARG_PARAMETER);
+ return;
+}
+
+
+// Operations from Components::SessionComponen
+void
+MyImpl::Sender_exec_i::set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Sender_exec_i::set_session_context\n"));
+
+ this->context_ =
+ Hello::CCM_Sender_Context::_narrow (ctx
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (this->context_.in ()))
+ ACE_THROW (CORBA::INTERNAL ());
+ // Urm, we actually discard exceptions thown from this operation.
+}
+
+void
+MyImpl::Sender_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Sender_exec_i::ccm_activate\n"));
+}
+
+void
+MyImpl::Sender_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Sender_exec_i::ccm_passivate\n"));
+}
+
+void
+MyImpl::Sender_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Sender_exec_i::ccm_remove\n"));
+}
+
+
+MyImpl::SenderHome_exec_i::SenderHome_exec_i ()
+{
+}
+
+MyImpl::SenderHome_exec_i::~SenderHome_exec_i ()
+{
+}
+
+::Components::EnterpriseComponent_ptr
+MyImpl::SenderHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ return new MyImpl::Sender_exec_i;
+}
+
+
+extern "C" SENDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+createSenderHome_Impl (void)
+{
+ return new MyImpl::SenderHome_exec_i ();
+}
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_exec.h b/TAO/CIAO/examples/Hello/Sender/Sender_exec.h
new file mode 100644
index 00000000000..5b5f98e8181
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_exec.h
@@ -0,0 +1,115 @@
+$Id$:
+//============================================================
+/**
+ * @file Sender_exec.h
+ *
+ * Header file for the Executor implementation.
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+//============================================================
+
+#ifndef SENDER_EXEC_H
+#define SENDER_EXEC_H
+
+#include "SenderEIC.h"
+
+#include "tao/LocalObject.h"
+
+namespace MyImpl
+{
+
+ /**
+ * @class Sender_exec_i
+ *
+ * Sender executor implementation class.
+ */
+
+ class SENDER_EXEC_Export Sender_exec_i :
+ public virtual Hello::Sender_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+
+ public:
+ /// Default constructor.
+ Sender_exec_i ();
+
+ /// Default destructor.
+ ~Sender_exec_i ();
+
+ /* Operations for obtaining the interface reference. */
+ /* This method will be used in the assembly face so the
+ * ObjRef of this read_message facet will be sent to the
+ * client side(receptacle).
+ */
+ // Note: You can specify the return type as ::Hello::CCM_message *
+ virtual Hello::CCM_message_ptr
+ get_push_message (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operation which will be called upon the interface call(by the receptacle)
+ virtual char *
+ get_message (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+ // Operation inside of the trigger interface.
+ virtual void
+ start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+ // Operations from Components::SessionComponent
+ virtual void set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ protected:
+ /// Copmponent specific context
+ Hello::CCM_Sender_Context_var context_;
+ private:
+ CORBA::String_var message_;
+ };
+
+ /**
+ * @class SenderHome_exec_i
+ *
+ * Sender home executor implementation class.
+ */
+ class SENDER_EXEC_Export SenderHome_exec_i :
+ public virtual Hello::CCM_SenderHome,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default ctor.
+ SenderHome_exec_i ();
+
+ /// Default dtor.
+ ~SenderHome_exec_i ();
+
+ // Implicit home operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+ };
+
+}
+
+extern "C" SENDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+createSenderHome_Impl (void);
+
+#endif /* SENDER_EXEC_H */
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_exec_export.h b/TAO/CIAO/examples/Hello/Sender/Sender_exec_export.h
new file mode 100644
index 00000000000..dbaa7ea15bc
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_exec_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SENDER_EXEC
+// ------------------------------
+#ifndef SENDER_EXEC_EXPORT_H
+#define SENDER_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (SENDER_EXEC_HAS_DLL)
+# define SENDER_EXEC_HAS_DLL 1
+#endif /* ! SENDER_EXEC_HAS_DLL */
+
+#if defined (SENDER_EXEC_HAS_DLL) && (SENDER_EXEC_HAS_DLL == 1)
+# if defined (SENDER_EXEC_BUILD_DLL)
+# define SENDER_EXEC_Export ACE_Proper_Export_Flag
+# define SENDER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SENDER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SENDER_EXEC_BUILD_DLL */
+# define SENDER_EXEC_Export ACE_Proper_Import_Flag
+# define SENDER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SENDER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SENDER_EXEC_BUILD_DLL */
+#else /* SENDER_EXEC_HAS_DLL == 1 */
+# define SENDER_EXEC_Export
+# define SENDER_EXEC_SINGLETON_DECLARATION(T)
+# define SENDER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SENDER_EXEC_HAS_DLL == 1 */
+
+// Set SENDER_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SENDER_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SENDER_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SENDER_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SENDER_EXEC_NTRACE */
+
+#if (SENDER_EXEC_NTRACE == 1)
+# define SENDER_EXEC_TRACE(X)
+#else /* (SENDER_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SENDER_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SENDER_EXEC_NTRACE == 1) */
+
+#endif /* SENDER_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_stub_export.h b/TAO/CIAO/examples/Hello/Sender/Sender_stub_export.h
new file mode 100644
index 00000000000..28c5d3131d0
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SENDER_STUB
+// ------------------------------
+#ifndef SENDER_STUB_EXPORT_H
+#define SENDER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (SENDER_STUB_HAS_DLL)
+# define SENDER_STUB_HAS_DLL 1
+#endif /* ! SENDER_STUB_HAS_DLL */
+
+#if defined (SENDER_STUB_HAS_DLL) && (SENDER_STUB_HAS_DLL == 1)
+# if defined (SENDER_STUB_BUILD_DLL)
+# define SENDER_STUB_Export ACE_Proper_Export_Flag
+# define SENDER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SENDER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SENDER_STUB_BUILD_DLL */
+# define SENDER_STUB_Export ACE_Proper_Import_Flag
+# define SENDER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SENDER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SENDER_STUB_BUILD_DLL */
+#else /* SENDER_STUB_HAS_DLL == 1 */
+# define SENDER_STUB_Export
+# define SENDER_STUB_SINGLETON_DECLARATION(T)
+# define SENDER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SENDER_STUB_HAS_DLL == 1 */
+
+// Set SENDER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SENDER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SENDER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SENDER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SENDER_STUB_NTRACE */
+
+#if (SENDER_STUB_NTRACE == 1)
+# define SENDER_STUB_TRACE(X)
+#else /* (SENDER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SENDER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SENDER_STUB_NTRACE == 1) */
+
+#endif /* SENDER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_svnt.h b/TAO/CIAO/examples/Hello/Sender/Sender_svnt.h
new file mode 100644
index 00000000000..9b3573c3908
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_svnt.h
@@ -0,0 +1,546 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.cs.wustl.edu/~nanbor/projects/CIAO-src/docs/index.html
+
+#ifndef CIAO_GLUE_SESSION_SENDER_SVNT_H
+#define CIAO_GLUE_SESSION_SENDER_SVNT_H
+#include "ace/pre.h"
+
+#include "SenderS.h"
+#include "SenderEC.h"
+
+#include "ciao/Container_Base.h"
+#include "tao/LocalObject.h"
+#include "tao/PortableServer/Key_Adapters.h"
+#include "ace/Active_Map_Manager_T.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace CIAO_GLUE_Hello
+{
+ class SENDER_SVNT_Export message_Servant
+ : public virtual POA_Hello::message,
+ public virtual PortableServer::RefCountServantBase
+ {
+ public:
+ message_Servant (
+ ::Hello::CCM_message_ptr executor,
+ ::Components::CCMContext_ptr ctx);
+
+
+ virtual ~message_Servant (void);
+
+
+ virtual char *
+ get_message (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+ // Get component implementation.
+ virtual CORBA::Object_ptr
+ _get_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ protected:
+ // Facet executor.
+ ::Hello::CCM_message_var executor_;
+
+ // Context object.
+ ::Components::CCMContext_var ctx_;
+ };
+}
+
+namespace CIAO_GLUE_Hello
+{
+ class SENDER_SVNT_Export Sender_Context
+ : public virtual ::Hello::CCM_Sender_Context,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ // We will allow the servant glue code we generate to access our state.
+ friend class Sender_Servant;
+
+ Sender_Context (
+ ::Components::CCMHome_ptr home,
+ ::CIAO::Session_Container *c,
+ Sender_Servant *sv);
+
+ virtual ~Sender_Context (void);
+
+ // Operations from ::Components::CCMContext.
+
+ virtual ::Components::Principal_ptr
+ get_caller_principal (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::CCMHome_ptr
+ get_CCM_home (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean
+ get_rollback_only (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::IllegalState));
+
+ virtual ::Components::Transaction::UserTransaction_ptr
+ get_user_transaction (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::IllegalState));
+
+ virtual CORBA::Boolean
+ is_caller_in_role (
+ const char *role
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ set_rollback_only (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::IllegalState));
+
+ // Operations from ::Components::SessionContext interface.
+
+ virtual CORBA::Object_ptr
+ get_CCM_object (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::IllegalState));
+
+ // Operations for Sender receptacles and event sources,
+ // defined in ::Hello::CCM_Sender_Context.
+
+ virtual void
+ push_click_out (
+ ::Hello::timeout *ev
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+ protected:
+ // Methods that manage this component's connections and consumers.
+
+ virtual ::Components::Cookie *
+ subscribe_click_out (
+ ::Hello::timeoutConsumer_ptr c
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::ExceededConnectionLimit));
+
+ virtual ::Hello::timeoutConsumer_ptr
+ unsubscribe_click_out (
+ ::Components::Cookie *ck
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidConnection));
+
+ protected:
+ ACE_Active_Map_Manager<
+ ::Hello::timeoutConsumer_var>
+ ciao_publishes_click_out_map_;
+
+ ::Components::CCMHome_var
+ home_;
+
+ ::CIAO::Session_Container *
+ container_;
+
+ Sender_Servant *
+ servant_;
+
+ ::Hello::Sender_var
+ component_;
+ };
+
+ class SENDER_SVNT_Export Sender_Servant
+ : public virtual POA_Hello::Sender,
+ public virtual PortableServer::RefCountServantBase
+ {
+ public:
+ Sender_Servant (
+ ::Hello::CCM_Sender_ptr executor,
+ ::Components::CCMHome_ptr home,
+ ::CIAO::Session_Container *c);
+
+ virtual ~Sender_Servant (void);
+
+ virtual void
+ start (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Hello::message_ptr
+ provide_push_message (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::Cookie *
+ subscribe_click_out (
+ ::Hello::timeoutConsumer_ptr c
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::ExceededConnectionLimit));
+
+ virtual ::Hello::timeoutConsumer_ptr
+ unsubscribe_click_out (
+ ::Components::Cookie *ck
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidConnection));
+
+ // Operations for Navigation interface.
+
+ virtual CORBA::Object_ptr
+ provide_facet (
+ const char *name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual ::Components::FacetDescriptions *
+ get_all_facets (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::FacetDescriptions *
+ get_named_facets (
+ const ::Components::NameList & /* names */
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual CORBA::Boolean
+ same_component (
+ CORBA::Object_ptr object_ref
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations for Receptacles interface.
+
+ virtual ::Components::Cookie *
+ connect (
+ const char *name,
+ CORBA::Object_ptr connection
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::InvalidConnection,
+ ::Components::AlreadyConnected,
+ ::Components::ExceededConnectionLimit));
+
+ virtual CORBA::Object_ptr
+ disconnect (
+ const char *name,
+ ::Components::Cookie *ck
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::InvalidConnection,
+ ::Components::CookieRequired,
+ ::Components::NoConnection));
+
+ virtual ::Components::ConnectionDescriptions *
+ get_connections (
+ const char *name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual ::Components::ReceptacleDescriptions *
+ get_all_receptacles (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::ReceptacleDescriptions *
+ get_named_receptacles (
+ const ::Components::NameList & /* names */
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ // Operations for Events interface.
+
+ virtual ::Components::EventConsumerBase_ptr
+ get_consumer (
+ const char *sink_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual ::Components::Cookie *
+ subscribe (
+ const char *publisher_name,
+ ::Components::EventConsumerBase_ptr subscriber
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::InvalidConnection,
+ ::Components::ExceededConnectionLimit));
+
+ virtual ::Components::EventConsumerBase_ptr
+ unsubscribe (
+ const char *publisher_name,
+ ::Components::Cookie *ck
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::InvalidConnection));
+
+ virtual void
+ connect_consumer (
+ const char *emitter_name,
+ ::Components::EventConsumerBase_ptr consumer
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::AlreadyConnected,
+ ::Components::InvalidConnection));
+
+ virtual ::Components::EventConsumerBase_ptr
+ disconnect_consumer (
+ const char *source_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName,
+ ::Components::NoConnection));
+
+ virtual ::Components::ConsumerDescriptions *
+ get_all_consumers (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::ConsumerDescriptions *
+ get_named_consumers (
+ const ::Components::NameList & /* names */
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual ::Components::EmitterDescriptions *
+ get_all_emitters (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::EmitterDescriptions *
+ get_named_emitters(
+ const ::Components::NameList & /* names */
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ virtual ::Components::PublisherDescriptions *
+ get_all_publishers (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::PublisherDescriptions *
+ get_named_publishers(
+ const ::Components::NameList & /* names */
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidName));
+
+ // Operations for CCMObject interface.
+
+ virtual CORBA::IRObject_ptr
+ get_component_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::CCMHome_ptr
+ get_ccm_home (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::PrimaryKeyBase *
+ get_primary_key (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::NoKeyAvailable));
+
+ virtual void
+ configuration_complete (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::InvalidConfiguration));
+
+ virtual void
+ remove (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::RemoveFailure));
+
+ virtual ::Components::ComponentPortDescription *
+ get_all_ports(
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Get component implementation.
+ virtual CORBA::Object_ptr
+ _get_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // CIAO-specific operations.
+
+ void
+ _ciao_activate (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void
+ _ciao_passivate (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ protected:
+ ::Hello::CCM_Sender_var
+ executor_;
+
+ Sender_Context *
+ context_;
+
+ ::CIAO::Session_Container *
+ container_;
+ ::Hello::message_var
+ provide_push_message_;
+ };
+
+ class SENDER_SVNT_Export SenderHome_Servant
+ : public virtual POA_Hello::SenderHome,
+ public virtual PortableServer::RefCountServantBase
+ {
+ public:
+ SenderHome_Servant (
+ ::Hello::CCM_SenderHome_ptr exe,
+ ::CIAO::Session_Container *c);
+ virtual ~SenderHome_Servant (void);
+
+ // Home factory and other operations.
+
+ // Operations for keyless home interface.
+
+ virtual ::Components::CCMObject_ptr
+ create_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CreateFailure));
+ // Operations for implicit home interface.
+
+ virtual ::Hello::Sender_ptr
+ create (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CreateFailure));
+ // Operations for CCMHome interface.
+
+ virtual ::CORBA::IRObject_ptr
+ get_component_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ virtual ::CORBA::IRObject_ptr
+ get_home_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ virtual void
+ remove_component (
+ ::Components::CCMObject_ptr comp
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::RemoveFailure));
+
+ // Supported operations.
+
+ protected:
+ // CIAO-specific operations.
+
+ ::Hello::Sender_ptr
+ _ciao_activate_component (
+ ::Hello::CCM_Sender_ptr exe
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void
+ _ciao_passivate_component (
+ ::Hello::Sender_ptr comp
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ protected:
+ ::Hello::CCM_SenderHome_var
+ executor_;
+
+ ::CIAO::Session_Container *
+ container_;
+
+ ACE_Hash_Map_Manager_Ex<
+ PortableServer::ObjectId,
+ Sender_Servant *,
+ TAO_ObjectId_Hash,
+ ACE_Equal_To<PortableServer::ObjectId>,
+ ACE_SYNCH_MUTEX>
+ component_map_;
+ };
+
+ extern "C" SENDER_SVNT_Export ::PortableServer::Servant
+ createSenderHome_Servant (
+ ::Components::HomeExecutorBase_ptr p,
+ CIAO::Session_Container *c
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+}
+
+#include "ace/post.h"
+#endif /* CIAO_GLUE_SESSION_SENDER_SVNT_H */
+
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_svnt_export.h b/TAO/CIAO/examples/Hello/Sender/Sender_svnt_export.h
new file mode 100644
index 00000000000..53236a883f2
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SENDER_SVNT
+// ------------------------------
+#ifndef SENDER_SVNT_EXPORT_H
+#define SENDER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (SENDER_SVNT_HAS_DLL)
+# define SENDER_SVNT_HAS_DLL 1
+#endif /* ! SENDER_SVNT_HAS_DLL */
+
+#if defined (SENDER_SVNT_HAS_DLL) && (SENDER_SVNT_HAS_DLL == 1)
+# if defined (SENDER_SVNT_BUILD_DLL)
+# define SENDER_SVNT_Export ACE_Proper_Export_Flag
+# define SENDER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SENDER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SENDER_SVNT_BUILD_DLL */
+# define SENDER_SVNT_Export ACE_Proper_Import_Flag
+# define SENDER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SENDER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SENDER_SVNT_BUILD_DLL */
+#else /* SENDER_SVNT_HAS_DLL == 1 */
+# define SENDER_SVNT_Export
+# define SENDER_SVNT_SINGLETON_DECLARATION(T)
+# define SENDER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SENDER_SVNT_HAS_DLL == 1 */
+
+// Set SENDER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SENDER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SENDER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SENDER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SENDER_SVNT_NTRACE */
+
+#if (SENDER_SVNT_NTRACE == 1)
+# define SENDER_SVNT_TRACE(X)
+#else /* (SENDER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SENDER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SENDER_SVNT_NTRACE == 1) */
+
+#endif /* SENDER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/descriptors/CIAO_Installation_Data.ini b/TAO/CIAO/examples/Hello/descriptors/CIAO_Installation_Data.ini
new file mode 100644
index 00000000000..c75aea61ebf
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/CIAO_Installation_Data.ini
@@ -0,0 +1,5 @@
+[ComponentInstallation]
+DCE:83d9348a-3248-445c-82c6-e38294943d65=Sender_exec
+DCE:2c16cd81-a364-4422-b9e0-ee2ebe084954=Sender_svnt
+DCE:6b6d29ca-c6e7-4823-806d-157113767331=Receiver_svnt
+DCE:34b61767-2b7d-459d-985d-ece6255275d5=Receiver_exec
diff --git a/TAO/CIAO/examples/Hello/descriptors/Receiver.csd b/TAO/CIAO/examples/Hello/descriptors/Receiver.csd
new file mode 100644
index 00000000000..041f7151e4f
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/Receiver.csd
@@ -0,0 +1,44 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
+
+<softpkg name="CIAO-Receiver" version="1.0">
+ <pkgtype>CORBA Component</pkgtype>
+ <title>Receiver</title>
+ <author>
+ <name>Tao Lu (lu@dre.vanderbilt.edu)</name>
+ <company>ISIS, Vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>A Receiver executor implementation.</description>
+ <license href="http://www.dre.vanderbilt.edu/"/>
+ <idl id="IDL:Hello/Receiver:1.0"
+ homeid="IDL:Hello/ReceiverHome:1.0">
+ <fileinarchive name="Receiver.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="Receiver.ccd"/>
+ </descriptor>
+
+ <!-- id="DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29" -->
+ <implementation id="DCE:34b61767-2b7d-459d-985d-ece6255275d5">
+
+ <!-- CIAO extension -->
+ <dependency type="CIAODLL">
+ <softpkgref>
+ <fileinarchive name="Receiver.ssd"/>
+ <implref idref="DCE:6b6d29ca-c6e7-4823-806d-157113767331"/>
+ </softpkgref>
+ </dependency>
+
+ <code type="DLL">
+ <fileinarchive name="Receiver_exec"/>
+ <entrypoint>createReceiverHome_Impl</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/Hello/descriptors/Receiver.ssd b/TAO/CIAO/examples/Hello/descriptors/Receiver.ssd
new file mode 100644
index 00000000000..6653ed1641f
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/Receiver.ssd
@@ -0,0 +1,41 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
+
+<softpkg name="CIAO-Receiver-Servant" version="1.0">
+ <pkgtype>CIAO Servant</pkgtype>
+ <title>componentizedSender::Receiver Servants</title>
+ <author>
+ <name>Tao Lu (lu@dre.vanderbilt.edu)</name>
+ <company>ISIS, Vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>A Receiver of (image) data.</description>
+ <license href="http://www.dre.vanderbilt.edu/"/>
+ <idl id="IDL:Hello/Receiver:1.0"
+ homeid="IDL:Hello/ReceiverHome:1.0">
+ <fileinarchive name="Receiver.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="Receiver.ccd"/>
+ </descriptor>
+
+ <!-- id="DCE:D7984625-8561-431d-9927-4E498B317C02" -->
+ <implementation id="DCE:6b6d29ca-c6e7-4823-806d-157113767331">
+
+ <dependency type="ORB">
+ <name>TAO</name>
+ </dependency>
+
+ <code>
+ <!-- No need to specify extension below since ACE takes care of that, -->
+ <fileinarchive name="Receiver_svnt"/>
+ <entrypoint>createReceiverHome_Servant</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/Hello/descriptors/Sender.csd b/TAO/CIAO/examples/Hello/descriptors/Sender.csd
new file mode 100644
index 00000000000..d1b5a3e9f02
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/Sender.csd
@@ -0,0 +1,42 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
+
+<softpkg name="Sender" version="1.0">
+ <pkgtype>CORBA Component</pkgtype>
+ <title>Sender</title>
+ <author>
+ <name>Tao Lu (lu@dre.vanderbilt.edu)</name>
+ <company>ISIS Vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>A component that generates (image) data for distribution.</description>
+ <license href="http://www.dre.vanderbilt.edu"/>
+ <idl id="IDL:Hello/Sender:1.0"
+ homeid="IDL:Hello/SenderHome:1.0">
+ <fileinarchive name="Sender.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="Sender.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:83d9348a-3248-445c-82c6-e38294943d65">
+
+ <!-- CIAO extension -->
+ <dependency type="CIAODLL">
+ <softpkgref>
+ <fileinarchive name="Sender.ssd"/>
+ <implref idref="DCE:2c16cd81-a364-4422-b9e0-ee2ebe084954"/>
+ </softpkgref>
+ </dependency>
+
+ <code type="DLL">
+ <fileinarchive name="Sender_exec"/>
+ <entrypoint>createSenderHome_Impl</entrypoint>
+ </code>
+
+ </implementation>
+</softpkg>
diff --git a/TAO/CIAO/examples/Hello/descriptors/Sender.ssd b/TAO/CIAO/examples/Hello/descriptors/Sender.ssd
new file mode 100644
index 00000000000..c73f37efe33
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/Sender.ssd
@@ -0,0 +1,40 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
+
+<softpkg name="Sender-Servant" version="1.0">
+ <pkgtype>CIAO Servant</pkgtype>
+ <title>componentizedSender::Sender Servants</title>
+ <author>
+ <name>Tao Lu (lu@dre.vanderbilt.edu)</name>
+ <company>ISIS, vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>Sender Servant implementation.</description>
+ <license href="http://www.dre.vanderbilt.edu/"/>
+ <idl id="IDL:Hello/Sender:1.0"
+ homeid="IDL:Hello/SenderHome:1.0">
+ <fileinarchive name="Sender.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="Sender.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:2c16cd81-a364-4422-b9e0-ee2ebe084954">
+
+ <dependency type="ORB">
+ <name>TAO</name>
+ </dependency>
+
+ <code>
+ <!-- No need to specify extension below since ACE takes care of that, -->
+ <fileinarchive name="Sender_svnt"/>
+ <entrypoint>createSenderHome_Servant</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/Hello/descriptors/default.cad b/TAO/CIAO/examples/Hello/descriptors/default.cad
new file mode 100644
index 00000000000..697659d32f2
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/default.cad
@@ -0,0 +1,64 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- This file must be pre-processed for final location based on $CIAO_ROOT -->
+<!DOCTYPE componentassembly SYSTEM "../../../docs/XML/componentassembly.dtd">
+
+
+<componentassembly id="componentized assembly">
+ <componentfiles>
+
+ <componentfile id="com-Sender">
+ <fileinarchive name="Sender.csd"/>
+ </componentfile>
+
+ <componentfile id="com-Receiver">
+ <fileinarchive name="Receiver.csd"/>
+ </componentfile>
+
+ </componentfiles>
+
+ <partitioning>
+
+ <homeplacement id="a_SenderHome">
+ <componentfileref idref="com-Sender"/>
+ <componentinstantiation id="a_Sender">
+ <registercomponent>
+ <!-- writeiortofile is a non-standard CIAO extension. -->
+ <writeiortofile name="sender.ior"/>
+ </registercomponent>
+ </componentinstantiation>
+ </homeplacement>
+
+ <homeplacement id="a_ReceiverHome">
+ <componentfileref idref="com-Receiver"/>
+ <componentinstantiation id="a_Receiver"/>
+ </homeplacement>
+ </partitioning>
+
+ <connections>
+
+ <connectevent>
+ <consumesport>
+ <consumesidentifier>click_in</consumesidentifier>
+ <componentinstantiationref idref="a_Receiver"/>
+ </consumesport>
+ <publishesport>
+ <publishesidentifier>click_out</publishesidentifier>
+ <componentinstantiationref idref="a_Sender"/>
+ </publishesport>
+ </connectevent>
+
+ <connectinterface>
+ <usesport>
+ <usesidentifier>read_message</usesidentifier>
+ <componentinstantiationref idref="a_Receiver"/>
+ </usesport>
+ <providesport>
+ <providesidentifier>push_message</providesidentifier>
+ <componentinstantiationref idref="a_Sender"/>
+ </providesport>
+ </connectinterface>
+
+ </connections>
+
+</componentassembly>
diff --git a/TAO/CIAO/examples/Hello/descriptors/test.cad b/TAO/CIAO/examples/Hello/descriptors/test.cad
new file mode 100644
index 00000000000..304576d568a
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/test.cad
@@ -0,0 +1,33 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- This file must be pre-processed for final location based on $CIAO_ROOT -->
+<!DOCTYPE componentassembly SYSTEM "../../../docs/XML/componentassembly.dtd">
+
+
+<componentassembly id="componentized assembly">
+ <componentfiles>
+
+ <componentfile id="com-Receiver">
+ <fileinarchive name="Receiver.csd"/>
+ </componentfile>
+
+ </componentfiles>
+
+ <partitioning>
+
+ <homeplacement id="a_ReceiverHome">
+ <componentfileref idref="com-Receiver"/>
+ <componentinstantiation id="a_Receiver">
+ <registercomponent>
+ <!-- writeiortofile is a non-standard CIAO extension. -->
+ <writeiortofile name="receiver.ior"/>
+ </registercomponent>
+ </componentinstantiation>
+ </homeplacement>
+
+ </partitioning>
+
+ <connections>
+ </connections>
+
+</componentassembly>
diff --git a/TAO/CIAO/examples/Hello/descriptors/test.dat b/TAO/CIAO/examples/Hello/descriptors/test.dat
new file mode 100644
index 00000000000..087a2a967e4
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/test.dat
@@ -0,0 +1,2 @@
+Default corbaloc:iiop:localhost:20000/ServerActivator
+Remote corbaloc:iiop:localhost:12000/ServerActivator
diff --git a/TAO/CIAO/examples/Hello/descriptors/test1.cad b/TAO/CIAO/examples/Hello/descriptors/test1.cad
new file mode 100644
index 00000000000..241a7221042
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/test1.cad
@@ -0,0 +1,32 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- This file must be pre-processed for final location based on $CIAO_ROOT -->
+<!DOCTYPE componentassembly SYSTEM "../../../docs/XML/componentassembly.dtd">
+
+
+<componentassembly id="componentized assembly">
+ <componentfiles>
+
+ <componentfile id="com-Sender">
+ <fileinarchive name="Sender.csd"/>
+ </componentfile>
+
+ </componentfiles>
+
+ <partitioning>
+
+ <homeplacement id="a_SenderHome">
+ <componentfileref idref="com-Sender"/>
+ <registercomponent>
+ <writeiortofile name="sender.ior"/>
+ </registercomponent>
+ <componentinstantiation id="a_Sender"/>
+ </homeplacement>
+
+ </partitioning>
+
+ <connections>
+
+ </connections>
+
+</componentassembly>