diff options
Diffstat (limited to 'CIAO/connectors/ami4ccm/tests/ThreeComp/Sender/ThreeComp_Sender_exec.cpp')
-rw-r--r-- | CIAO/connectors/ami4ccm/tests/ThreeComp/Sender/ThreeComp_Sender_exec.cpp | 344 |
1 files changed, 0 insertions, 344 deletions
diff --git a/CIAO/connectors/ami4ccm/tests/ThreeComp/Sender/ThreeComp_Sender_exec.cpp b/CIAO/connectors/ami4ccm/tests/ThreeComp/Sender/ThreeComp_Sender_exec.cpp deleted file mode 100644 index ebfd12e68e2..00000000000 --- a/CIAO/connectors/ami4ccm/tests/ThreeComp/Sender/ThreeComp_Sender_exec.cpp +++ /dev/null @@ -1,344 +0,0 @@ -// -*- C++ -*- -/** - * Code generated by the The ACE ORB (TAO) IDL Compiler v1.8.3 - * TAO and the TAO IDL Compiler have been developed by: - * Center for Distributed Object Computing - * Washington University - * St. Louis, MO - * USA - * http://www.cs.wustl.edu/~schmidt/doc-center.html - * and - * Distributed Object Computing Laboratory - * University of California at Irvine - * Irvine, CA - * USA - * and - * Institute for Software Integrated Systems - * Vanderbilt University - * Nashville, TN - * USA - * http://www.isis.vanderbilt.edu/ - * - * Information about TAO is available at: - * http://www.dre.vanderbilt.edu/~schmidt/TAO.html - **/ - -#include "ThreeComp_Sender_exec.h" -#include "ace/OS_NS_unistd.h" - -namespace CIAO_ThreeComp_Sender_Impl -{ - CORBA::Boolean asynch = false; - //============================================================ - // Worker thread for asynchronous invocations for MyFoo - //============================================================ - asynch_foo_generator::asynch_foo_generator ( - ::ThreeComp::CCM_Sender_Context_ptr context, - Atomic_UShort &nr_of_rec, - Atomic_UShort &nr_of_sent) - : context_(::ThreeComp::CCM_Sender_Context::_duplicate (context)), - nr_of_rec_(nr_of_rec), - nr_of_sent_(nr_of_sent) - - { - } - - int asynch_foo_generator::svc () - { - ::ThreeComp::Sender::sendc_run_my_fooConnections_var my_foo_ami_ = - context_->get_connections_sendc_run_my_foo(); - ::ThreeComp::AMI4CCM_MyFooReplyHandler_var cb = - new AMI4CCM_MyFooReplyHandler_run_my_foo_i ( - this->nr_of_rec_, - this->nr_of_sent_); - - // Invoke Asynchronous calls to test - for (CORBA::ULong i = 0; i < my_foo_ami_->length (); ++i) - { - ++this->nr_of_sent_; - my_foo_ami_[i].objref->sendc_foo (cb.in(), - 10 ); - ACE_DEBUG ((LM_DEBUG, "OK Sender send ASYNCHRONOUS call to Receiver.\n")); - // There is more than 1 message sent, without receiving callbacks, - // so it is asynchronous - if (this->nr_of_sent_.value() > 1) - { - asynch = true; - } - } - return 0; - } - //============================================================ - // Worker thread for synchronous invocations for MyFoo - //============================================================ - synch_foo_generator::synch_foo_generator ( - ::ThreeComp::CCM_Sender_Context_ptr context, - Atomic_UShort &nr_of_rec) - : context_(::ThreeComp::CCM_Sender_Context::_duplicate (context)), - nr_of_rec_(nr_of_rec) - { - } - - int synch_foo_generator::svc () - { - - ::ThreeComp::Sender::run_my_fooConnections_var my_foo_ami_ = - context_->get_connections_run_my_foo (); - - CORBA::Boolean wait = false; - - for(CORBA::ULong i = 0; i < my_foo_ami_->length(); ++i) - { - CORBA::String_var answer; - try - { - if ( wait==true) - { - ACE_ERROR ((LM_ERROR, - "ERROR: Sender didn't receive SYNCHRONOUS answer" - " from Receiver.\n")); - } - wait = true; - ACE_DEBUG ((LM_DEBUG, "OK Sender send SYNCHRONOUS CALL to Receiver.\n")); - - CORBA::ULong result = my_foo_ami_[i].objref->foo( 20, - answer.out ()); - if (result == 2) - { - ACE_DEBUG ((LM_DEBUG, "OK Sender received SYNCHRONOUS answer " - "from Receiver <%C>\n", - answer.in ())); - ++this->nr_of_rec_; - wait = false; - } - } - catch (const ThreeComp::InternalError&) - { - ACE_ERROR ((LM_ERROR, "ERROR: synch_foo_generator::foo: " - "Unexpected exception.\n")); - } - } - return 0; - } - /** - * Facet Executor Implementation Class: do_my_state_exec_i - */ - - do_my_state_exec_i::do_my_state_exec_i ( - ::ThreeComp::CCM_Sender_Context_ptr ctx) - : ciao_context_ ( - ::ThreeComp::CCM_Sender_Context::_duplicate (ctx)) - { - } - - do_my_state_exec_i::~do_my_state_exec_i (void) - { - } - - // Operations from ::ThreeComp::State - - ::CORBA::Long - do_my_state_exec_i::bar (::CORBA::Long cmd, - ::CORBA::String_out answer) - { - ACE_OS::sleep(2); - answer = CORBA::string_dup ("Hi from sender."); - return cmd; - } - - /** - * Facet Executor Implementation Class: do_my_bar_exec_i - */ - - do_my_bar_exec_i::do_my_bar_exec_i ( - ::ThreeComp::CCM_Sender_Context_ptr ctx) - : ciao_context_ ( - ::ThreeComp::CCM_Sender_Context::_duplicate (ctx)) - { - } - - do_my_bar_exec_i::~do_my_bar_exec_i (void) - { - } - - // Operations from ::ThreeComp::MyBar - - ::CORBA::Long - do_my_bar_exec_i::testbar (::CORBA::Long /* cmd */, - ::CORBA::String_out /* answer */) - { - /* Your code here. */ - return 0; - } - - /** - * Component Executor Implementation Class: Sender_exec_i - */ - - Sender_exec_i::Sender_exec_i (void) - : asynch_foo_gen (0), - synch_foo_gen (0), - nr_of_rec_(0), - nr_of_sent_(0) - { - } - - Sender_exec_i::~Sender_exec_i (void) - { - } - - // Supported operations and attributes. - - // Component attributes and port operations. - - ::ThreeComp::CCM_State_ptr - Sender_exec_i::get_do_my_state (void) - { - if ( ::CORBA::is_nil (this->ciao_do_my_state_.in ())) - { - do_my_state_exec_i *tmp = 0; - ACE_NEW_RETURN ( - tmp, - do_my_state_exec_i ( - this->ciao_context_.in ()), - ::ThreeComp::CCM_State::_nil ()); - - this->ciao_do_my_state_ = tmp; - } - - return - ::ThreeComp::CCM_State::_duplicate ( - this->ciao_do_my_state_.in ()); - } - - ::ThreeComp::CCM_MyBar_ptr - Sender_exec_i::get_do_my_bar (void) - { - if ( ::CORBA::is_nil (this->ciao_do_my_bar_.in ())) - { - do_my_bar_exec_i *tmp = 0; - ACE_NEW_RETURN ( - tmp, - do_my_bar_exec_i ( - this->ciao_context_.in ()), - ::ThreeComp::CCM_MyBar::_nil ()); - - this->ciao_do_my_bar_ = tmp; - } - - return - ::ThreeComp::CCM_MyBar::_duplicate ( - this->ciao_do_my_bar_.in ()); - } - - // Operations from Components::SessionComponent. - - void - Sender_exec_i::set_session_context ( - ::Components::SessionContext_ptr ctx) - { - this->ciao_context_ = - ::ThreeComp::CCM_Sender_Context::_narrow (ctx); - - if ( ::CORBA::is_nil (this->ciao_context_.in ())) - { - throw ::CORBA::INTERNAL (); - } - } - - void - Sender_exec_i::configuration_complete (void) - { - /* Your code here. */ - } - - void - Sender_exec_i::ccm_activate (void) - { - //for connection with Receiver component - this->asynch_foo_gen = - new asynch_foo_generator (this->ciao_context_.in (), - this->nr_of_rec_, - this->nr_of_sent_); - this->asynch_foo_gen->activate (THR_NEW_LWP | THR_JOINABLE, 1); - - this->synch_foo_gen = - new synch_foo_generator (this->ciao_context_.in(), - this->nr_of_rec_); - this->synch_foo_gen->activate (THR_NEW_LWP | THR_JOINABLE, 1); } - - void - Sender_exec_i::ccm_passivate (void) - { - /* Your code here. */ - } - - void - Sender_exec_i::ccm_remove (void) - { - // each Receiver (total 3, see deployment plan) send back 2 requests. - if ((asynch == false) || (this->nr_of_rec_.value() != 6) || - (this->nr_of_sent_.value() != 0)) - { - ACE_ERROR ((LM_ERROR, - "ERROR: Test not asynchronous or not received back" - " all requests ( %u/6)!\n", - this->nr_of_rec_.value() )); - } - else - { - ACE_DEBUG ((LM_DEBUG, "OK: Sender works as expected.\n")); - } - delete this->asynch_foo_gen; - this->asynch_foo_gen = 0; - delete this->synch_foo_gen; - this->synch_foo_gen = 0; - } - - AMI4CCM_MyFooReplyHandler_run_my_foo_i::AMI4CCM_MyFooReplyHandler_run_my_foo_i ( - Atomic_UShort &nr_of_rec, - Atomic_UShort &nr_of_sent) - : nr_of_rec_(nr_of_rec), - nr_of_sent_(nr_of_sent) - { - } - - AMI4CCM_MyFooReplyHandler_run_my_foo_i::~AMI4CCM_MyFooReplyHandler_run_my_foo_i (void) - { - } - - void - AMI4CCM_MyFooReplyHandler_run_my_foo_i::foo ( - ::CORBA::Long ami_ret_val, - const char * answer ) - { - ++this->nr_of_rec_; - if (ami_ret_val == 1 ) - { - --this->nr_of_sent_; - ACE_DEBUG ((LM_DEBUG, - "OK: Sender get ASYNCHRONOUS callback from Receiver: <%C>.\n", - answer)); - } - } - - void - AMI4CCM_MyFooReplyHandler_run_my_foo_i::foo_excep ( - ::CCM_AMI::ExceptionHolder_ptr excep_holder) - { - excep_holder->raise_exception (); - } - - extern "C" THREECOMP_SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr - create_ThreeComp_Sender_Impl (void) - { - ::Components::EnterpriseComponent_ptr retval = - ::Components::EnterpriseComponent::_nil (); - - ACE_NEW_NORETURN ( - retval, - Sender_exec_i); - - return retval; - } -} |