3 #include "ace/Get_Opt.h"
4 #include "ace/Log_Msg.h"
12 ClientApp::~ClientApp()
18 ClientApp::run(int argc
, ACE_TCHAR
* argv
[])
20 CORBA::ORB_var orb
= CORBA::ORB_init(argc
, argv
);
22 // Parse the command-line args for this application.
23 // * Raises -1 if problems are encountered.
24 // * Returns 1 if the usage statement was explicitly requested.
25 // * Returns 0 otherwise.
26 int const result
= this->parse_args(argc
, argv
);
33 = orb
->string_to_object(this->ior_
.c_str());
35 if (CORBA::is_nil(obj
.in()))
38 "(%P|%t) Failed to convert IOR string to obj ref.\n"));
39 throw TestException();
42 Foo_var foo
= Foo::_narrow(obj
.in());
44 if (CORBA::is_nil(foo
.in()))
47 "(%P|%t) Failed to narrow obj ref to Foo interface.\n"));
48 throw TestException();
51 for (CORBA::Long i
= 1; i
<= 100; i
++)
55 CORBA::Long value
= foo
->op3();
58 "(%P|%t) ===> Value retrieved from op3() == %d\n",
61 for (CORBA::Long j
= 1; j
<= 5; j
++)
63 foo
->op4(495 + (i
* 5) + j
);
70 catch (const FooException
& )
73 "(%P|%t) ===> Caught FooException - as expected.\n"));
78 "(%P|%t) ===> Tell server that we are done().\n"));
83 "(%P|%t) ===> Back from done().\n"));
90 ClientApp::parse_args(int argc
, ACE_TCHAR
* argv
[])
92 this->exe_name_
= argv
[0];
94 ACE_Get_Opt
get_opts(argc
, argv
, ACE_TEXT("i:"));
98 while ((c
= get_opts()) != -1)
103 this->ior_
= get_opts
.opt_arg();
107 this->usage_statement();
110 this->usage_statement();
120 ClientApp::usage_statement()
123 "Usage: %s [options]\n\n"
127 this->exe_name_
.c_str()));