summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp')
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp74
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);