diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Naming/Naming_Utils.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Naming/Naming_Utils.cpp | 269 |
1 files changed, 0 insertions, 269 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Utils.cpp b/TAO/orbsvcs/orbsvcs/Naming/Naming_Utils.cpp deleted file mode 100644 index 77a7e8e7234..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Utils.cpp +++ /dev/null @@ -1,269 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosNamingC.h" -#include "tao/corba.h" -#include "Naming_Utils.h" -#include "ace/Arg_Shifter.h" - -ACE_RCSID(Naming, Naming_Utils, "$Id$") - -TAO_Naming_Server::TAO_Naming_Server (void) - : naming_context_impl_ (0), - naming_context_ (), - ior_multicast_ (0), - naming_service_ior_ () -{ -} - -TAO_Naming_Server::TAO_Naming_Server (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - size_t context_size, - ACE_Time_Value *timeout, - int resolve_for_existing_naming_service) - : naming_context_impl_ (0), - naming_context_ (), - ior_multicast_ (0), - naming_service_ior_ () -{ - if (this->init (orb, - poa, - context_size, - timeout, - resolve_for_existing_naming_service) == -1) - ACE_ERROR ((LM_ERROR, - "(%P|%t) %p\n", - "TAO_Naming_Server::init")); -} - - -int -TAO_Naming_Server::init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - size_t context_size, - ACE_Time_Value *timeout, - int resolve_for_existing_naming_service) -{ - CORBA::Object_var naming_obj; - - if (resolve_for_existing_naming_service) - naming_obj = orb->resolve_initial_references ("NameService", timeout); - - if (CORBA::is_nil (naming_obj.in ())) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "\nNameService not resolved, so we'll become a NameService\n")); - return this->init_new_naming (orb, - poa, - context_size); - } - else - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "\nNameService found!\n")); - - TAO_TRY - { - this->naming_context_ = - CosNaming::NamingContext::_narrow (naming_obj.in (), - TAO_TRY_ENV); - TAO_CHECK_ENV; - - this->naming_service_ior_ = - orb->object_to_string (naming_obj.in (), - TAO_TRY_ENV); - - TAO_CHECK_ENV; - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("TAO_Naming_Server::init"); - } - TAO_ENDTRY; - } - return 0; -} - -int -TAO_Naming_Server::init_new_naming (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - size_t context_size) -{ - ACE_NEW_RETURN (this->naming_context_impl_, - TAO_NamingContext (poa, - "root", - context_size, - 1), - -1); - - TAO_TRY - { - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId ("NameService"); - - poa->activate_object_with_id (id.in (), - this->naming_context_impl_, - TAO_TRY_ENV); - TAO_CHECK_ENV; - - this->naming_context_ = - this->naming_context_impl_->_this (TAO_TRY_ENV); - TAO_CHECK_ENV; - - // Stringify the objref we'll be implementing, and print it to - // stdout. Someone will take that string and give it to a - // client. - this->naming_service_ior_= - orb->object_to_string (this->naming_context_.in (), - TAO_TRY_ENV); - TAO_CHECK_ENV; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "NameService IOR is <%s>\n", - this->naming_service_ior_.in ())); - -#if defined (ACE_HAS_IP_MULTICAST) - // Get reactor instance from TAO. - ACE_Reactor *reactor = - TAO_ORB_Core_instance ()->reactor (); - - // First, see if the user has given us a multicast port number - // for the name service on the command-line; - u_short port = - TAO_ORB_Core_instance ()->orb_params ()->name_service_port (); - - if (port == 0) - { - const char *port_number = - ACE_OS::getenv ("NameServicePort"); - - if (port_number != 0) - port = ACE_OS::atoi (port_number); - } - - if (port == 0) - port = TAO_DEFAULT_NAME_SERVER_REQUEST_PORT; - - // Instantiate a server which will receive requests for an ior - ACE_NEW_RETURN (this->ior_multicast_, - TAO_IOR_Multicast (this->naming_service_ior_.in (), - port, - ACE_DEFAULT_MULTICAST_ADDR, - TAO_SERVICEID_NAMESERVICE), - -1); - - // Register event handler for the ior multicast. - if (reactor->register_handler (this->ior_multicast_, - ACE_Event_Handler::READ_MASK) == -1) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "cannot register Event handler\n")); - return -1; - } - else - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "The multicast server setup is done.\n")); - } -#endif /* ACE_HAS_IP_MULTICAST */ - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("Naming Service"); - return -1; - } - TAO_ENDTRY; - return 0; -} - -// Returns the "NameService" NamingContext implementation object. - -TAO_NamingContext & -TAO_Naming_Server::get_naming_context (void) -{ - return *this->naming_context_impl_; -} - -CORBA::String -TAO_Naming_Server::naming_service_ior (void) -{ - return CORBA::string_dup (this->naming_service_ior_.in ()); -} - -// Returns a pointer to the NamingContext. - -CosNaming::NamingContext_ptr -TAO_Naming_Server::operator-> (void) const -{ - return this->naming_context_.ptr (); -} - -TAO_Naming_Server::~TAO_Naming_Server (void) -{ - if (this->ior_multicast_ != 0) - { - TAO_ORB_Core_instance ()->reactor ()->remove_handler - (this->ior_multicast_, - ACE_Event_Handler::READ_MASK | ACE_Event_Handler::DONT_CALL); - delete this->ior_multicast_; - } - delete this->naming_context_impl_; -} - -// Returns a pointer to the NamingContext. - -CosNaming::NamingContext_ptr -TAO_Naming_Client::operator -> (void) const -{ - return this->naming_context_.ptr (); -} - -// Returns a pointer to the NamingContext. - -CosNaming::NamingContext_ptr -TAO_Naming_Client::get_context (void) const -{ - return this->naming_context_.ptr (); -} - -int -TAO_Naming_Client::init (CORBA::ORB_ptr orb, - ACE_Time_Value *timeout) -{ - TAO_TRY - { - CORBA::Object_var naming_obj = - orb->resolve_initial_references ("NameService", timeout); - - if (CORBA::is_nil (naming_obj.in ())) - ACE_ERROR_RETURN ((LM_ERROR, - " (%P|%t) Unable to initialize the NameService.\n"), - -1); - this->naming_context_ = - CosNaming::NamingContext::_narrow (naming_obj.in (), - TAO_TRY_ENV); - TAO_CHECK_ENV; - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("init"); - return -1; - } - TAO_ENDTRY; - - return 0; -} - -TAO_Naming_Client::TAO_Naming_Client (void) -{ - // Do nothing -} - -TAO_Naming_Client::~TAO_Naming_Client (void) -{ - // Do nothing -} |