diff options
Diffstat (limited to 'TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp')
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp | 74 |
1 files changed, 40 insertions, 34 deletions
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp index 7884c6c36c7..63974066cfd 100644 --- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp +++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp @@ -17,6 +17,7 @@ #include "ace/ARGV.h" #include "ace/OS_NS_sys_time.h" #include "ace/Vector_T.h" +#include "ace/Argv_Type_Converter.h" static const int DEFAULT_START_LIMIT = 1; @@ -178,17 +179,17 @@ ImR_Locator_i::init_with_orb (CORBA::ORB_ptr orb, Options& opts ACE_ENV_ARG_DECL ACE_CHECK_RETURN (-1); // We write the ior file last so that the tests can know we are ready. - if (opts.ior_filename ().length () > 0) + if (opts.ior_filename().length() > 0) + { + FILE* fp = ACE_OS::fopen(opts.ior_filename().c_str(), ACE_TEXT("w")); + if (fp == 0) { - FILE* fp = ACE_OS::fopen (opts.ior_filename ().c_str (), "w"); - if (fp == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - "ImR: Could not open file: %s\n", opts.ior_filename ().c_str ()), -1); - } - ACE_OS::fprintf (fp, "%s", ior.in ()); - ACE_OS::fclose (fp); + ACE_ERROR_RETURN ((LM_ERROR, + "ImR: Could not open file: %s\n", opts.ior_filename ().c_str ()), -1); } + ACE_OS::fprintf (fp, "%s", ior.in ()); + ACE_OS::fclose (fp); + } return 0; } @@ -196,16 +197,20 @@ ImR_Locator_i::init_with_orb (CORBA::ORB_ptr orb, Options& opts ACE_ENV_ARG_DECL int ImR_Locator_i::init (Options& opts ACE_ENV_ARG_DECL) { - ACE_CString cmdline = opts.cmdline (); - cmdline += " -orbcollocation no -orbuseimr 0"; - ACE_ARGV av (cmdline.c_str ()); - int argc = av.argc (); - char** argv = av.argv (); + ACE_TString cmdline = opts.cmdline(); + cmdline += ACE_TEXT(" -orbcollocation no -orbuseimr 0"); + ACE_ARGV av(cmdline.c_str()); + int argc = av.argc(); + ACE_TCHAR** argv = av.argv(); + + ACE_Argv_Type_Converter convert (argc, argv); + + CORBA::ORB_var orb = CORBA::ORB_init(convert.get_argc(), convert.get_ASCII_argv(), + "TAO_ImR_Locator" ACE_ENV_ARG_PARAMETER); + ACE_CHECK_RETURN(-1); + int err = this->init_with_orb(orb.in(), opts ACE_ENV_ARG_PARAMETER); + ACE_CHECK_RETURN(-1); - CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "TAO_ImR_Locator" ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - int err = this->init_with_orb (orb.in (), opts ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); return err; } @@ -213,22 +218,23 @@ int ImR_Locator_i::run (ACE_ENV_SINGLE_ARG_DECL) { if (debug_ > 0) - { - ACE_DEBUG ((LM_DEBUG, "Implementation Repository: Running\n" - "\tPing Interval : %dms\n" - "\tStartup Timeout : %ds\n" - "\tPersistence : %s\n" - "\tMulticast : %s\n" - "\tDebug : %d\n" - "\tLocked : %s\n\n", - ping_interval_.msec (), - startup_timeout_.sec (), - repository_.repo_mode (), - ior_multicast_.reactor () != 0 ? "Enabled" : "Disabled", - debug (), - read_only_ ? "True" : "False")); - } - this->auto_start_servers (ACE_ENV_SINGLE_ARG_PARAMETER); + { + ACE_DEBUG((LM_DEBUG, "Implementation Repository: Running\n" + "\tPing Interval : %dms\n" + "\tStartup Timeout : %ds\n" + "\tPersistence : %s\n" + "\tMulticast : %s\n" + "\tDebug : %d\n" + "\tLocked : %s\n\n", + ping_interval_.msec(), + startup_timeout_.sec(), + ACE_TEXT_TO_CHAR_IN(repository_.repo_mode()), + ior_multicast_.reactor() != 0 ? "Enabled" : "Disabled", + debug(), + read_only_ ? "True" : "False")); + } + this->auto_start_servers(ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK_RETURN (-1); this->orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER); |