diff options
Diffstat (limited to 'CIAO/tests/TTSCTest/Sender/Sender_exec.cpp')
-rw-r--r-- | CIAO/tests/TTSCTest/Sender/Sender_exec.cpp | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/CIAO/tests/TTSCTest/Sender/Sender_exec.cpp b/CIAO/tests/TTSCTest/Sender/Sender_exec.cpp deleted file mode 100644 index 1f59dbdf14b..00000000000 --- a/CIAO/tests/TTSCTest/Sender/Sender_exec.cpp +++ /dev/null @@ -1,208 +0,0 @@ - -#include "Sender_exec.h" -#include "ace/OS_NS_time.h" -#include "ace/OS_NS_unistd.h" - - -namespace CIAO_Sender_Impl -{ - //============================================================ - // Callback class TimeTrigger - //============================================================ - TTC_Callback_exec_i::TTC_Callback_exec_i (Sender_exec_i& sender_comp_callback) - : sender_comp_callback_ (sender_comp_callback) - { - } - - TTC_Callback_exec_i::~TTC_Callback_exec_i (void) - { - } - - void - TTC_Callback_exec_i::on_timer ( const TTC::timeout_t &t) - - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("TTC_Callback::on_timer,") - ACE_TEXT("received callback from TimeTrigger Connector.") - ACE_TEXT("t.seconds = %u, t.nanosec = %u\n"), - t.time_val.seconds, t.time_val.nanosec)); - this->sender_comp_callback_.do_something(); - } - - //============================================================ - // Component Executor Implementation Class: Sender_exec_i - //============================================================ - - Sender_exec_i::Sender_exec_i () - : nr_trigger_(0) - , timer_id_ (0) - , service_id_ ("TimeService") - { - } - - Sender_exec_i::~Sender_exec_i (void) - { - } - - // Supported operations and attributes. - void - Sender_exec_i::start(void) - { - ACE_OS::sleep(2); - - // set delaytime and rate of a periodic TimeTrigger - ACE_DEBUG ((LM_DEBUG, "Sender_exec_i::start start_scheduler_periodic.\n")); - TTC_Callback_var cb = new TTC_Callback_exec_i (*this); - - TTC::timeout_t delay; - delay.flag = TTC::RELATIVE_TIME; - delay.time_val.seconds= 2; - delay.time_val.nanosec= 0; - - TTC::timeout_t rate; - rate.flag = TTC::RELATIVE_TIME; - rate.time_val.seconds= 0; - rate.time_val.nanosec= 500000000; - - - try { - // get reference of TTC_Scheduler Facet of TimeTrigger connector. - CORBA::Object_var test_ref = this->context_->resolve_service_reference(this->service_id_); - - if (CORBA::is_nil(test_ref.in())) - { - ACE_ERROR ((LM_ERROR, - "Sender_exec_i::start - " - "objref is NIL\n")); - } - else - { - // narow object ref to TTC_Scheduler - TTC_Scheduler_var timetrigger = TTC_Scheduler::_narrow (test_ref.in ()); - if (CORBA::is_nil(timetrigger .in())) - { - ACE_ERROR ((LM_ERROR, - "Sender_exec_i::start - " - "timetrigger_ is NIL\n")); - } - else - this->timer_id_ = timetrigger->start_scheduler_periodic(delay,rate, cb.in()); - } - } - - catch (const ::Components::CCMException &ex) - { - ACE_ERROR ((LM_ERROR, - "Resolve_service_reference - " - "Caught exception: reason <%d>\n", - ex.reason)); - } - } - - void - Sender_exec_i::do_something(void) - { - this->nr_trigger_++; - ACE_DEBUG ((LM_DEBUG, "Sender received time trigger nr %u!.\n", - this->nr_trigger_)); - TTC_Scheduler_var timetrigger; - - //after a while cancel periodic Timetrigger and use sporadic Timetrigger - if ((this->nr_trigger_ > 5) && (this->nr_trigger_ < 7)) - { - try { - // get reference of TTC_Scheduler Facet of TimeTrigger connector. - CORBA::Object_var test_ref = this->context_->resolve_service_reference(this->service_id_); - - if (CORBA::is_nil(test_ref.in())) - { - ACE_ERROR ((LM_ERROR, - "Sender_exec_i::do_something - " - "objref is NIL\n")); - } - else - { - // narow object ref to TTC_Scheduler - timetrigger = TTC_Scheduler::_narrow (test_ref.in ()); - if (CORBA::is_nil(timetrigger .in())) - { - ACE_ERROR ((LM_ERROR, - "Sender_exec_i::do_something - " - "timetrigger_ is NIL\n")); - } - else - timetrigger->cancel_scheduler(this->timer_id_); - } - } - catch (const ::Components::CCMException &ex) - { - ACE_ERROR ((LM_ERROR, - "Resolve_service_reference - " - "Caught exception: reason <%d>\n", - ex.reason)); - } - - //use sporadic Timertrigger, which fired 3 seconds after now. - TTC_Callback_var cb = new TTC_Callback_exec_i (*this); - - TTC::timeout_t time; - time.flag = TTC::RELATIVE_TIME; - time.time_val.seconds = 3; - this->timer_id_ = timetrigger->start_scheduler_sporadic(time, cb.in()); - } - } - - // Component attributes and port operations. - - // Operations from Components::SessionComponent. - void - Sender_exec_i::set_session_context ( - ::Components::SessionContext_ptr ctx) - { - this->context_ = - CCM_Sender_Context::_narrow (ctx); - - if ( ::CORBA::is_nil (this->context_.in ())) - { - throw ::CORBA::INTERNAL (); - } - } - - void - Sender_exec_i::configuration_complete (void) - { - } - - void - Sender_exec_i::ccm_activate (void) - { - ACE_DEBUG ((LM_DEBUG, "Sender_exec_i::ccm_activate \n")); - start (); - } - - void - Sender_exec_i::ccm_passivate (void) - { - } - - void - Sender_exec_i::ccm_remove (void) - { - } - - extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr - create_Sender_Impl (void) - { - - ::Components::EnterpriseComponent_ptr retval = - ::Components::EnterpriseComponent::_nil (); - - ACE_NEW_NORETURN ( - retval, - Sender_exec_i ()); - - return retval; - } -} - |