diff options
Diffstat (limited to 'CIAO/DAnCE/RTNodeApplication/NodeApplication_Task.cpp')
-rw-r--r-- | CIAO/DAnCE/RTNodeApplication/NodeApplication_Task.cpp | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/CIAO/DAnCE/RTNodeApplication/NodeApplication_Task.cpp b/CIAO/DAnCE/RTNodeApplication/NodeApplication_Task.cpp deleted file mode 100644 index edef34a145c..00000000000 --- a/CIAO/DAnCE/RTNodeApplication/NodeApplication_Task.cpp +++ /dev/null @@ -1,154 +0,0 @@ -// $Id$ - -#include "ciao/NodeApplication_CallBackC.h" -#include "ciao/CIAO_common.h" -#include "tao/RTPortableServer/RTPortableServer.h" -#include "ace/Null_Mutex.h" -#include "NodeApplication_Task.h" -#include "RTServer_Impl.h" - -#if !defined (__ACE_INLINE__) -# include "NodeApplication_Task.inl" -#endif /* __ACE_INLINE__ */ - -int -CIAO::NodeApplication_Task::svc () -{ - ACE_TRY_NEW_ENV - { - CORBA::Object_var object = - this->orb_->resolve_initial_references ("RTORB" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - RTCORBA::RTORB_var rt_orb = - RTCORBA::RTORB::_narrow (object.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - object = - this->orb_->resolve_initial_references ("RootPOA" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - PortableServer::POA_var root_poa = - PortableServer::POA::_narrow (object.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - PortableServer::POAManager_var poa_manager = - root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // ... - CIAO::RTServer::RTNodeApplication_Impl *nodeapp_servant; - - ACE_NEW_RETURN (nodeapp_servant, - CIAO::RTServer::RTNodeApplication_Impl (this->orb_.in (), - rt_orb.in (), - root_poa.in ()), - -1); - - PortableServer::ServantBase_var safe_servant (nodeapp_servant); - - // Configuring NodeApplication. - PortableServer::ObjectId_var cs_oid - = root_poa->activate_object (nodeapp_servant - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - object = root_poa->id_to_reference (cs_oid.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - Deployment::NodeApplication_var nodeapp_obj = - Deployment::NodeApplication::_narrow (object.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (nodeapp_obj.in ())) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to activate RTNodeApplication object\n"), - -1); - - /** @@ We need to call NodeApplication servant's init method. - * But it's not sure to me where exactly we can get the - * Properties needed by the init method at this moment. There are two - * ways to set the property of the NodeApplication: - * 1. call init remotely from NodeApplicationManager - * 2. call init locally on the servant of NodeApplication. - */ - bool retval = nodeapp_servant->init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (retval) - { - ACE_DEBUG ((LM_DEBUG, "NodeApplication Failed on creating and\ - initializing the session container!")); - return 1; - } - - CORBA::String_var str = this->orb_->object_to_string (nodeapp_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (this->options_.ior_output_filename_.length () != 0) - CIAO::Utility::write_IOR (this->options_.ior_output_filename_.c_str (), - str.in ()); - - // End Deployment part - if (CIAO::debug_level () > 10) - { - ACE_DEBUG ((LM_INFO, "RTNodeApplication IOR: %s\n", str.in ())); - - } - - Deployment::NodeApplicationManager_var nodeapp_man; - Deployment::Properties_var prop = new Deployment::Properties; - - if (this->options_.use_callback_) - { - object = this->orb_->string_to_object (this->options_.callback_ior_.c_str () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CIAO::NodeApplication_Callback_var nam_callback - = CIAO::NodeApplication_Callback::_narrow (object.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - Deployment::Properties_out properties_out (prop.out ()); - - nodeapp_man - = nam_callback->register_node_application (nodeapp_obj.in (), - properties_out - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - ACE_DEBUG ((LM_DEBUG, - "Running RTNodeApplication...\n")); - - this->orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->orb_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught"); - return -1; - } - ACE_ENDTRY; - - ACE_DEBUG ((LM_DEBUG, - "Exiting RTNodeApplication...\n")); - return 0; -} |