1 #include "orbsvcs/Log_Macros.h"
2 #include "global_extern.h"
4 #include "../../tao/Version.h"
7 BE_save_orb_args (int &argc
, ACE_TCHAR
*argv
[])
14 if (ACE_OS::strncmp (argv
[i
], ACE_TEXT("-ORB"), 4) == 0)
16 holder
+= ACE_TString (argv
[i
]);
17 holder
+= ACE_TEXT(" ");
19 // Could be another -ORBxxx arg or an IDL compiler arg.
20 if (*argv
[i
+ 1] == '-')
26 // No-copy constructor.
27 ACE_TString
tmp (argv
[i
+ 1],
31 // If the arg ends with either .idl or .pidl, we're done.
33 size_t len
= tmp
.length ();
34 ssize_t pos
= tmp
.find (ACE_TEXT(".idl"));
41 pos
= tmp
.find (ACE_TEXT(".pidl"));
48 // If we're here, the next arg goes with the preceding -ORBxxx.
50 holder
+= ACE_TEXT(" ");
59 be_global
->orb_args (ACE_TEXT_ALWAYS_CHAR(holder
.c_str()));
64 // 'ac' must be passed in by reference, because it is also
65 // passed by reference to ORB_init, which may modify it.
66 // After BE_ifr_init returns to main() the modified argc
67 // must be passed to DRV_parse_args().
69 BE_ifr_orb_init (int &ac
, ACE_TCHAR
*av
[])
74 be_global
->orb (CORBA::ORB_init (ac
,
78 catch (const CORBA::Exception
& ex
)
80 ex
._tao_print_exception (ACE_TEXT ("BE_ifr_orb_init"));
88 TAO_IFR_BE_Export
void
91 ORBSVCS_DEBUG ((LM_DEBUG
,
93 ACE_TEXT ("TAO_IFR_BE, version"),
94 ACE_TEXT (TAO_VERSION
)));
98 BE_init (int &argc
, ACE_TCHAR
*argv
[])
100 // Initialize BE global data object.
101 ACE_NEW_RETURN (be_global
,
105 int status
= BE_save_orb_args (argc
, argv
);
112 idl_global
->using_ifr_backend (true);
114 return BE_ifr_orb_init (argc
, argv
);
117 TAO_IFR_BE_Export
void
118 BE_post_init (char *[], long)