00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "orbsvcs/Naming/Naming_Loader.h"
00017 #include "ace/Dynamic_Service.h"
00018 #include "ace/Argv_Type_Converter.h"
00019
00020 ACE_RCSID (Naming, Naming_Loader, "$Id: Naming_Loader.cpp 77001 2007-02-12 07:54:49Z johnnyw $")
00021
00022
00023 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00024
00025 TAO_Naming_Loader::TAO_Naming_Loader (void)
00026 {
00027
00028 }
00029
00030 TAO_Naming_Loader::~TAO_Naming_Loader (void)
00031 {
00032
00033 }
00034
00035 int
00036 TAO_Naming_Loader::init (int argc, ACE_TCHAR *argv[])
00037 {
00038 try
00039 {
00040
00041 ACE_Argv_Type_Converter command_line(argc, argv);
00042
00043
00044 CORBA::ORB_var orb =
00045 CORBA::ORB_init (command_line.get_argc(),
00046 command_line.get_ASCII_argv(),
00047 0);
00048
00049
00050 CORBA::Object_var object =
00051 this->create_object (orb.in (),
00052 command_line.get_argc(),
00053 command_line.get_TCHAR_argv ());
00054 }
00055 catch (const CORBA::Exception&)
00056 {
00057
00058 return -1;
00059 }
00060 return 0;
00061 }
00062
00063 int
00064 TAO_Naming_Loader::fini (void)
00065 {
00066
00067 return this->naming_server_.fini ();
00068 }
00069
00070 CORBA::Object_ptr
00071 TAO_Naming_Loader::create_object (CORBA::ORB_ptr orb,
00072 int argc,
00073 ACE_TCHAR *argv[])
00074 {
00075
00076
00077 int result = this->naming_server_.init_with_orb (argc,
00078 argv,
00079 orb);
00080 if (result == -1)
00081 return CORBA::Object::_nil ();
00082
00083 return 0;
00084 }
00085
00086 TAO_END_VERSIONED_NAMESPACE_DECL
00087
00088 ACE_FACTORY_DEFINE (TAO_Naming_Serv, TAO_Naming_Loader)