2 #include "ace/Get_Opt.h"
4 const ACE_TCHAR
*ior
= ACE_TEXT ("file://test.ior");
6 int process_result
= 1;
8 int parse_args (int argc
, ACE_TCHAR
*argv
[])
10 ACE_Get_Opt
get_opts (argc
, argv
, ACE_TEXT("f:"));
13 while ((c
= get_opts ()) != -1)
17 ior
= get_opts
.opt_arg ();
22 ACE_ERROR_RETURN ((LM_ERROR
,
29 // Indicates successful parsing of the command line
34 ACE_TMAIN(int argc
, ACE_TCHAR
*argv
[])
38 CORBA::ORB_var orb
= CORBA::ORB_init (argc
, argv
);
40 if (parse_args (argc
, argv
) != 0)
43 CORBA::Object_var tmp
= orb
->string_to_object(ior
);
45 Test::Hello_var hello
= Test::Hello::_narrow(tmp
.in ());
47 if (CORBA::is_nil (hello
.in ()))
49 ACE_ERROR_RETURN ((LM_DEBUG
,
50 "Nil Test::Hello reference <%C>\n",
55 CORBA::String_var the_string
= hello
->get_string ();
58 "Hello from file IOR: %C\n",
61 Test::Hello_var helloRef
= hello
->get_Hello();
63 if (CORBA::is_nil(helloRef
.in()))
66 ACE_TEXT("Correctly detected nil Object reference.\n")));
67 CORBA::Object_var var
= CORBA::Object::_duplicate(helloRef
.in());
68 if (CORBA::is_nil(var
))
71 ACE_TEXT("Duplicated Object reference works too.\n")));
76 ACE_ERROR_RETURN ((LM_DEBUG
,
78 "CORBA::is_nil(Hello_ptr) returned false!"
79 "CORBA::is_nil(Object_var) returned true!"),
85 CORBA::Object_ptr obj
= helloRef
.in();
86 if (CORBA::is_nil(obj
))
89 "ERROR (causes exception further down):\n%C\n%C\n",
90 "CORBA::is_nil(Hello_ptr) returned false!"
91 "CORBA::is_nil(Object_ptr) returned true!"));
93 CORBA::String_var aString
= helloRef
->get_string();
95 "Received Hello: %C\n",
103 catch (const CORBA::Exception
& ex
)
105 ex
._tao_print_exception ("Exception caught:");
109 return process_result
;