diff options
author | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-11-25 00:10:34 +0000 |
---|---|---|
committer | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-11-25 00:10:34 +0000 |
commit | ad720a7c74eecb730e29b71ddbae4c229d7e1a9e (patch) | |
tree | 754e3f4015d2d24618fd11cdfaa8634da3424b3a | |
parent | 7204190f1378b2b59f2f2360e3b0e00f887176f9 (diff) | |
download | ATCD-ad720a7c74eecb730e29b71ddbae4c229d7e1a9e.tar.gz |
*** empty log message ***
-rw-r--r-- | TAO/CIAO/DAnCE/examples/Hello/Sender/Sender.mpc | 32 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.cpp | 54 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.h | 15 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.cpp | 115 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.h | 123 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.cpp | 115 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.h | 123 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/examples/Hello/Sender/starter.cpp | 9 |
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; |