diff options
Diffstat (limited to 'CIAO/connectors/ami4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp')
-rw-r--r-- | CIAO/connectors/ami4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp | 72 |
1 files changed, 38 insertions, 34 deletions
diff --git a/CIAO/connectors/ami4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp b/CIAO/connectors/ami4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp index abefabc5468..12db6b8f969 100644 --- a/CIAO/connectors/ami4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp +++ b/CIAO/connectors/ami4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp @@ -171,37 +171,37 @@ namespace CIAO_Hello_Sender_Impl ::Hello::AMI4CCM_MyFoo_var my_foo_ami_ = context_->get_connection_sendc_run_my_foo(); + if (CORBA::is_nil (my_foo_ami_)) + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT("ERROR Sender (ASYNCH) :") + ACE_TEXT("\tfoo_ami is NIL !!!\n"))); + return 1; + } + ::Hello::CCM_AMI4CCM_MyFooReplyHandler_var cb = + new MyFoo_callback_exec_i (); + for (int i = 0; i < 5; ++i) { - if (CORBA::is_nil (my_foo_ami_)) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("ERROR Sender (ASYNCH) :") - ACE_TEXT("\tfoo_ami is NIL !!!\n"))); - return 1; - } - else - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("Sender (ASYNCH) :") - ACE_TEXT("\tInvoke Asynchronous calls\n"))); - my_foo_ami_->sendc_foo (new MyFoo_callback_exec_i (), - "Do something asynchronous"); - my_foo_ami_->sendc_hello (new MyFoo_callback_exec_i ()); - my_foo_ami_->sendc_get_rw_attrib(new MyFoo_callback_exec_i ()); - my_foo_ami_->sendc_get_rw_attrib(new MyFoo_callback_exec_i ()); - my_foo_ami_->sendc_set_rw_attrib(new MyFoo_callback_exec_i (), 15); - my_foo_ami_->sendc_get_ro_attrib(new MyFoo_callback_exec_i ()); - my_foo_ami_->sendc_get_ro_attrib(new MyFoo_callback_exec_i ()); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("Sender (ASYNCH) :\tInvoked Asynchronous calls\n"))); - } + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT("Sender (ASYNCH) :") + ACE_TEXT("\tInvoke Asynchronous calls\n"))); + my_foo_ami_->sendc_foo (cb.in (), + "Do something asynchronous"); + my_foo_ami_->sendc_hello (cb.in ()); + my_foo_ami_->sendc_get_rw_attrib(cb.in ()); + my_foo_ami_->sendc_get_rw_attrib(cb.in ()); + my_foo_ami_->sendc_set_rw_attrib(cb.in (), 15); + my_foo_ami_->sendc_get_ro_attrib(cb.in ()); + my_foo_ami_->sendc_get_ro_attrib(cb.in ()); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT("Sender (ASYNCH) :\tInvoked Asynchronous calls\n"))); } ACE_DEBUG ((LM_DEBUG, ACE_TEXT("Sender (ASYNCH) :\tInvoke Asynchronous calls ") ACE_TEXT("to test except handling\n"))); - my_foo_ami_->sendc_foo (new MyFoo_callback_exec_i (), ""); - my_foo_ami_->sendc_set_rw_attrib(new MyFoo_callback_exec_i (), 0); + my_foo_ami_->sendc_foo (cb.in (), ""); + my_foo_ami_->sendc_set_rw_attrib(cb.in (), 0); ACE_DEBUG ((LM_DEBUG, ACE_TEXT("Sender (ASYNCH) :\tInvoked Asynchronous call.\n"))); return 0; @@ -223,14 +223,14 @@ namespace CIAO_Hello_Sender_Impl context_->get_connection_run_my_foo (); //run synch calls - char * out_str = 0; + CORBA::String_var out_str; for (int i = 0; i < 5; ++i) { CORBA::Long result = my_foo_ami_->foo ("Do something synchronous", - out_str); + out_str.out ()); ACE_DEBUG ((LM_DEBUG, ACE_TEXT("Sender (SYNCH):\tInvoked synchronous call (FOO)") - ACE_TEXT(" result <%u> answer <%C>\n"), result, out_str)); + ACE_TEXT(" result <%u> answer <%C>\n"), result, out_str.in ())); CORBA::Long answer; my_foo_ami_->hello (answer); @@ -282,10 +282,10 @@ namespace CIAO_Hello_Sender_Impl } try { - CORBA::Long result = my_foo_ami_->foo ("", out_str); + CORBA::Long result = my_foo_ami_->foo ("", out_str.out ()); ACE_DEBUG ((LM_DEBUG, ACE_TEXT("Sender (SYNCH) :\tInvoked synchronous call result ") - ACE_TEXT("<%u> answer <%C>\n"), result, out_str)); + ACE_TEXT("<%u> answer <%C>\n"), result, out_str.in ())); } catch (const Hello::InternalError& ex) { @@ -351,13 +351,13 @@ namespace CIAO_Hello_Sender_Impl void Sender_exec_i::ccm_activate (void) { - asynch_foo_generator* asynch_foo_gen = + this->asynch_foo_gen_ = new asynch_foo_generator (this->context_.in ()); - asynch_foo_gen->activate (THR_NEW_LWP | THR_JOINABLE, 1); + this->asynch_foo_gen_->activate (THR_NEW_LWP | THR_JOINABLE, 1); - synch_foo_generator* synch_foo_gen = + this->synch_foo_gen_ = new synch_foo_generator (this->context_.in()); - synch_foo_gen->activate (THR_NEW_LWP | THR_JOINABLE, 1); + this->synch_foo_gen_->activate (THR_NEW_LWP | THR_JOINABLE, 1); } void @@ -368,6 +368,10 @@ namespace CIAO_Hello_Sender_Impl void Sender_exec_i::ccm_remove (void) { + delete this->asynch_foo_gen_; + this->asynch_foo_gen_ = 0; + delete this->synch_foo_gen_; + this->synch_foo_gen_ = 0; } extern "C" ::Components::EnterpriseComponent_ptr |