Changes to attempt to silence bcc64x
[ACE_TAO.git] / TAO / orbsvcs / tests / ImplRepo / servers_list / client.cpp
blob4804350e1b91b37dfc1cf43cf896207c7ada2d19
1 #include "TestC.h"
2 #include <iostream>
3 #include "ace/Get_Opt.h"
4 #include "ace/OS_NS_unistd.h"
6 int request_delay_secs = 0;
7 bool server_abort = false;
9 int
10 parse_args (int argc, ACE_TCHAR *argv[])
12 ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("d:a"));
13 int c;
15 while ((c = get_opts ()) != -1)
16 switch (c)
18 case 'd':
19 request_delay_secs = ACE_OS::atoi(get_opts.opt_arg ());
20 break;
22 case 'a':
23 server_abort = true;
24 break;
26 case '?':
27 default:
28 ACE_ERROR_RETURN ((LM_ERROR,
29 "usage: %s "
30 "-d <request delay in seconds> "
31 "-a [abort server] "
32 "\n",
33 argv [0]),
34 -1);
36 // Indicates successful parsing of the command line
37 return 0;
40 int
41 ACE_TMAIN (int argc, ACE_TCHAR *argv[])
43 try {
44 // Initialize orb
45 CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
47 if (parse_args (argc, argv) != 0)
48 return 1;
50 CORBA::Object_var obj = orb->resolve_initial_references("Test");
51 ACE_ASSERT (!CORBA::is_nil(obj.in()));
52 Test_var test = Test::_narrow( obj.in());
53 ACE_ASSERT (!CORBA::is_nil(test.in()));
55 if (server_abort)
57 test->abort (request_delay_secs);
59 else
61 CORBA::Short n = test->get_server_num (request_delay_secs);
62 ACE_DEBUG ((LM_DEBUG,
63 "Client received reply from server %d\n",
64 n));
67 orb->destroy ();
69 return 0;
71 catch(const CORBA::Exception& ex) {
72 ex._tao_print_exception ("client:");
75 return -1;