diff options
Diffstat (limited to 'TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp')
-rw-r--r-- | TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp | 136 |
1 files changed, 136 insertions, 0 deletions
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..f25fbf82530 --- /dev/null +++ b/TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp @@ -0,0 +1,136 @@ +//$Id$ +/* + * @file Sender_exec.cpp + * + * @author Tao Lu <lu@dre.vanderbilt.edu> + */ + +#include "Sender_exec.h" + +// message_impl +// +// +char* +MyImpl::message_impl::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_exec_i +// +// +MyImpl::Sender_exec_i::~Sender_exec_i () +{ +} + +void +MyImpl::Sender_exec_i::local_message (const char * local_message + ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + message_ = local_message; + this->message_impl_i->set_message (local_message) ; +} + +char * +MyImpl::Sender_exec_i::local_message (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return CORBA::string_dup(message_); +} + +Hello::CCM_message_ptr +MyImpl::Sender_exec_i::get_push_message (ACE_ENV_SINGLE_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return new message_impl (*this); +} + + +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); +} + + +// 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")); +} + + +// SenderHome_exec_i +// +// +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 (); +} |