summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-11-25 00:10:34 +0000
committerjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-11-25 00:10:34 +0000
commitad720a7c74eecb730e29b71ddbae4c229d7e1a9e (patch)
tree754e3f4015d2d24618fd11cdfaa8634da3424b3a
parent7204190f1378b2b59f2f2360e3b0e00f887176f9 (diff)
downloadATCD-ad720a7c74eecb730e29b71ddbae4c229d7e1a9e.tar.gz
*** empty log message ***
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender.mpc32
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.cpp54
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.h15
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.cpp115
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.h123
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.cpp115
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.h123
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/starter.cpp9
8 files changed, 580 insertions, 6 deletions
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender.mpc b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender.mpc
index 421db5c00ce..cf456794089 100644
--- a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender.mpc
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender.mpc
@@ -57,6 +57,38 @@ project(Hello_Base_Sender_DnC_exec) : ciao_component_dnc {
}
}
+project(Hello_Base_Sender_DnC_exec_1) : ciao_component_dnc {
+ after += Hello_Base_Sender_DnC_svnt
+ sharedname = Sender_DnC_exec_1
+ libs += Sender_DnC_stub Sender_DnC_svnt Hello_Base_DnC_stub Hello_Base_DnC_svnt
+
+ idlflags += -Wb,export_macro=SENDER_EXEC_Export -Wb,export_include=Sender_exec_export.h
+ dynamicflags = SENDER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Sender_exec_1.cpp
+ }
+}
+
+project(Hello_Base_Sender_DnC_exec_2) : ciao_component_dnc {
+ after += Hello_Base_Sender_DnC_svnt
+ sharedname = Sender_DnC_exec_2
+ libs += Sender_DnC_stub Sender_DnC_svnt Hello_Base_DnC_stub Hello_Base_DnC_svnt
+
+ idlflags += -Wb,export_macro=SENDER_EXEC_Export -Wb,export_include=Sender_exec_export.h
+ dynamicflags = SENDER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Sender_exec_2.cpp
+ }
+}
+
project (Hello_DnC_Starter) : ciao_client_dnc, valuetype{
exename = starter
after += Hello_Base_Sender_DnC_stub
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.cpp b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.cpp
index 893266b4dec..3b9ab403586 100644
--- a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.cpp
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.cpp
@@ -2,6 +2,11 @@
#include "Sender_exec.h"
+const char* first_exe_dll_name = "Sender_DnC_exec_1";
+const char* first_exe_entrypt = "createSenderExec_Impl";
+const char* second_exe_dll_name = "Sender_DnC_exec_2";
+const char* second_exe_entrypt = "createSenderExec_Impl";
+
char*
Sender_Impl::Message_Impl::get_message (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
@@ -106,6 +111,10 @@ Sender_Impl::Sender_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
Components::CCMException))
{
ACE_DEBUG ((LM_DEBUG, "Sender_Impl::Sender_exec_i::ccm_remove\n"));
+ CORBA::Object_var comp_object = this->context_->get_CCM_object ();
+ Hello::Sender_var sender = Hello::Sender::_narrow (comp_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ sender->remove ();
}
Sender_Impl::SenderHome_exec_i::SenderHome_exec_i ()
@@ -117,6 +126,7 @@ Sender_Impl::SenderHome_exec_i::~SenderHome_exec_i ()
}
Sender_Impl::SenderSwap_exec_i::SenderSwap_exec_i ()
+ : count_ (0)
{
}
@@ -128,7 +138,49 @@ Sender_Impl::SenderSwap_exec_i::~SenderSwap_exec_i ()
Sender_Impl::SenderSwap_exec_i::incarnate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
{
- return new Sender_Impl::Sender_exec_i;
+ // return new Sender_Impl::Sender_exec_i;
+
+ ExecFactory first_exec_creator = 0;
+ ExecFactory second_exec_creator = 0;
+ ACE_DLL first_dll, second_dll;
+
+ if (first_dll.open (first_exe_dll_name,
+ ACE_DEFAULT_SHLIB_MODE, 0) != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Could not open the DLL %s\n", first_exe_dll_name));
+ return 0;
+ }
+
+ if (second_dll.open (second_exe_dll_name,
+ ACE_DEFAULT_SHLIB_MODE, 0) != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Could not open the DLL %s\n",
+ second_exe_dll_name));
+ return 0;
+ }
+
+ if (first_exe_entrypt == 0 || second_exe_entrypt == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, "NIL entry points\n"));
+ return 0;
+ }
+
+ if (this->count_ == 0)
+ {
+ first_exec_creator = (ExecFactory) first_dll.symbol (first_exe_entrypt);
+ Components::EnterpriseComponent_var first_executor =
+ first_exec_creator ();
+ count_++;
+ return first_executor._retn ();
+ }
+ else if (count_ == 1)
+ {
+ second_exec_creator = (ExecFactory)
+ second_dll.symbol (second_exe_entrypt);
+ Components::EnterpriseComponent_var second_executor =
+ second_exec_creator ();
+ return second_executor._retn ();
+ }
}
::Components::EnterpriseComponent_ptr
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.h b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.h
index c146963b048..5e53c8ba334 100644
--- a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.h
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.h
@@ -14,9 +14,13 @@
#include "SenderEC.h"
#include "Sender_exec_export.h"
#include "tao/LocalObject.h"
+#include "ace/DLL.h"
namespace Sender_Impl
{
+
+ typedef ::Components::EnterpriseComponent_ptr (*ExecFactory) (void);
+
/**
* @class Sender_exec_i
*
@@ -39,6 +43,9 @@ namespace Sender_Impl
virtual ::Components::EnterpriseComponent_ptr
etherealize (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
+
+ protected:
+ int count_;
};
class SENDER_EXEC_Export Sender_exec_i :
@@ -49,13 +56,15 @@ namespace Sender_Impl
public:
/// Default constructor.
Sender_exec_i ()
- : message_(CORBA::string_dup ("Default Message"))
+ : message_(CORBA::string_dup ("Default Message")),
+ count_ (0)
{
}
/// Secondary construction.
Sender_exec_i (const char* local_message)
- : message_ (CORBA::string_dup (local_message))
+ : message_ (CORBA::string_dup (local_message)),
+ count_ (0)
{
}
@@ -118,8 +127,8 @@ namespace Sender_Impl
private:
CORBA::String_var message_;
-
friend class Message_Impl;
+ int count_;
};
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.cpp b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.cpp
new file mode 100644
index 00000000000..c8ac4053263
--- /dev/null
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.cpp
@@ -0,0 +1,115 @@
+//$Id$
+
+#include "Sender_exec_1.h"
+
+char*
+Sender_Impl::Message_Impl_1::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 (component_.message_.in ());
+}
+
+Sender_Impl::Sender_exec_1_i::~Sender_exec_1_i ()
+{
+}
+
+void
+Sender_Impl::Sender_exec_1_i::local_message (const char * local_message
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ message_ = CORBA::string_dup (local_message);
+}
+
+char *
+Sender_Impl::Sender_exec_1_i::local_message (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup(message_);
+}
+
+Hello::CCM_ReadMessage_ptr
+Sender_Impl::Sender_exec_1_i::get_push_message (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender_Impl::Sender_exec.i::get_push_message called\n "));
+ return ( new Message_Impl_1 (*this) );
+}
+
+void
+Sender_Impl::Sender_exec_1_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);
+}
+
+void
+Sender_Impl::Sender_exec_1_i::set_session_context
+ (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "Sender_Impl::Sender_exec_1_i::set_session_context\n"));
+
+ this->context_ =
+ Sender_Impl::Sender_Exec_Context::_narrow (ctx
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (this->context_.in ()))
+ ACE_THROW (CORBA::INTERNAL ());
+}
+
+void
+Sender_Impl::Sender_exec_1_i::ciao_preactivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender_Impl::Sender_exec_1_i::ciao_preactivate\n"));
+}
+
+void
+Sender_Impl::Sender_exec_1_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender_Impl::Sender_exec_1_i::ccm_activate\n"));
+}
+
+void
+Sender_Impl::Sender_exec_1_i::ciao_postactivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender_Impl::Sender_exec_1_i::ciao_postactivate\n"));
+}
+
+void
+Sender_Impl::Sender_exec_1_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "Sender_Impl::Sender_exec_1_i::ccm_passivate\n"));
+}
+
+void
+Sender_Impl::Sender_exec_1_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "Sender_Impl::Sender_exec_1_i::ccm_remove\n"));
+}
+
+extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+createSenderExec_Impl (void)
+{
+ return new Sender_Impl::Sender_exec_1_i ();
+}
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.h b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.h
new file mode 100644
index 00000000000..4e5e04b85a4
--- /dev/null
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.h
@@ -0,0 +1,123 @@
+//$Id$
+//============================================================
+/**
+ * @file Sender_exec.h
+ *
+ * Header file for the Executor implementation.
+ */
+//============================================================
+
+#ifndef SENDER_EXEC_H
+#define SENDER_EXEC_H
+
+#include "SwapExecC.h"
+#include "SenderEC.h"
+#include "Sender_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace Sender_Impl
+{
+ class SENDER_EXEC_Export Sender_exec_1_i :
+ public virtual Sender_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+
+ public:
+ /// Default constructor.
+ Sender_exec_1_i ()
+ : message_(CORBA::string_dup ("Default Message"))
+ {
+ }
+
+ /// Secondary construction.
+ Sender_exec_1_i (const char* local_message)
+ : message_ (CORBA::string_dup (local_message))
+ {
+ }
+
+ /// Default destructor.
+ virtual ~Sender_exec_1_i ();
+
+ /// Operation to set the value of the attribute
+ virtual void local_message (const char * local_message
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Operation to get the value of the attribute
+ virtual char * local_message (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /* 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_ReadMessage_ptr
+ get_push_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 ciao_preactivate (ACE_ENV_SINGLE_ARG_DECL)
+ 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 ciao_postactivate (ACE_ENV_SINGLE_ARG_DECL)
+ 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
+ Sender_Exec_Context_var context_;
+
+ private:
+ CORBA::String_var message_;
+
+ friend class Message_Impl_1;
+ };
+
+ class Message_Impl_1 : public virtual Hello::CCM_ReadMessage,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Message_Impl_1 (Sender_exec_1_i& component)
+ : component_ (component)
+ {
+ }
+
+ virtual char *
+ get_message (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ private:
+ Sender_exec_1_i& component_;
+ };
+
+}
+
+extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+createSenderExec_Impl (void);
+
+#endif /* SENDER_EXEC_H */
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.cpp b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.cpp
new file mode 100644
index 00000000000..cbbb9ab0b5c
--- /dev/null
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.cpp
@@ -0,0 +1,115 @@
+//$Id$
+
+#include "Sender_exec_2.h"
+
+char*
+Sender_Impl::Message_Impl_2::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 (component_.message_.in ());
+}
+
+Sender_Impl::Sender_exec_2_i::~Sender_exec_2_i ()
+{
+}
+
+void
+Sender_Impl::Sender_exec_2_i::local_message (const char * local_message
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ message_ = CORBA::string_dup (local_message);
+}
+
+char *
+Sender_Impl::Sender_exec_2_i::local_message (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup(message_);
+}
+
+Hello::CCM_ReadMessage_ptr
+Sender_Impl::Sender_exec_2_i::get_push_message (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender_Impl::Sender_exec.i::get_push_message called\n "));
+ return ( new Message_Impl_2 (*this) );
+}
+
+void
+Sender_Impl::Sender_exec_2_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);
+}
+
+void
+Sender_Impl::Sender_exec_2_i::set_session_context
+ (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "Sender_Impl::Sender_exec_2_i::set_session_context\n"));
+
+ this->context_ =
+ Sender_Impl::Sender_Exec_Context::_narrow (ctx
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (this->context_.in ()))
+ ACE_THROW (CORBA::INTERNAL ());
+}
+
+void
+Sender_Impl::Sender_exec_2_i::ciao_preactivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender_Impl::Sender_exec_2_i::ciao_preactivate\n"));
+}
+
+void
+Sender_Impl::Sender_exec_2_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender_Impl::Sender_exec_2_i::ccm_activate\n"));
+}
+
+void
+Sender_Impl::Sender_exec_2_i::ciao_postactivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender_Impl::Sender_exec_2_i::ciao_postactivate\n"));
+}
+
+void
+Sender_Impl::Sender_exec_2_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "Sender_Impl::Sender_exec_2_i::ccm_passivate\n"));
+}
+
+void
+Sender_Impl::Sender_exec_2_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "Sender_Impl::Sender_exec_2_i::ccm_remove\n"));
+}
+
+extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+createSenderExec_Impl (void)
+{
+ return new Sender_Impl::Sender_exec_2_i ();
+}
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.h b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.h
new file mode 100644
index 00000000000..f0eed902f72
--- /dev/null
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.h
@@ -0,0 +1,123 @@
+//$Id$
+//============================================================
+/**
+ * @file Sender_exec.h
+ *
+ * Header file for the Executor implementation.
+ */
+//============================================================
+
+#ifndef SENDER_EXEC_H
+#define SENDER_EXEC_H
+
+#include "SwapExecC.h"
+#include "SenderEC.h"
+#include "Sender_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace Sender_Impl
+{
+ class SENDER_EXEC_Export Sender_exec_2_i :
+ public virtual Sender_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+
+ public:
+ /// Default constructor.
+ Sender_exec_2_i ()
+ : message_(CORBA::string_dup ("Default Message"))
+ {
+ }
+
+ /// Secondary construction.
+ Sender_exec_2_i (const char* local_message)
+ : message_ (CORBA::string_dup (local_message))
+ {
+ }
+
+ /// Default destructor.
+ virtual ~Sender_exec_2_i ();
+
+ /// Operation to set the value of the attribute
+ virtual void local_message (const char * local_message
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Operation to get the value of the attribute
+ virtual char * local_message (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /* 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_ReadMessage_ptr
+ get_push_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 ciao_preactivate (ACE_ENV_SINGLE_ARG_DECL)
+ 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 ciao_postactivate (ACE_ENV_SINGLE_ARG_DECL)
+ 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
+ Sender_Exec_Context_var context_;
+
+ private:
+ CORBA::String_var message_;
+
+ friend class Message_Impl_2;
+ };
+
+ class Message_Impl_2 : public virtual Hello::CCM_ReadMessage,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Message_Impl_2 (Sender_exec_2_i& component)
+ : component_ (component)
+ {
+ }
+
+ virtual char *
+ get_message (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ private:
+ Sender_exec_2_i& component_;
+ };
+
+}
+
+extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
+createSenderExec_Impl (void);
+
+#endif /* SENDER_EXEC_H */
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/starter.cpp b/TAO/CIAO/DAnCE/examples/Hello/Sender/starter.cpp
index 2351d71dadc..b5419d8e9d8 100644
--- a/TAO/CIAO/DAnCE/examples/Hello/Sender/starter.cpp
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/starter.cpp
@@ -79,10 +79,15 @@ main (int argc, char *argv[])
-1);
}
+ char *return_message;
sender->local_message (message);
+ return_message = sender->local_message ();
+ ACE_DEBUG ((LM_DEBUG, "the message is %s\n", return_message));
- sender->start (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ sender->remove ();
+
+ //sender->start (ACE_ENV_SINGLE_ARG_PARAMETER);
+ //ACE_TRY_CHECK;
orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;