// $Id$ #include "ace/Get_Opt.h" #include "testC.h" ACE_RCSID (UNKNOWN_Exception, client, "$Id$") static const char *ior = "file://ior"; static int shutdown_server = 1; static int parse_args (int argc, char **argv) { ACE_Get_Opt get_opts (argc, argv, "k:x:"); int c; while ((c = get_opts ()) != -1) switch (c) { case 'k': ior = get_opts.opt_arg (); break; case 'x': shutdown_server = ACE_OS::atoi (get_opts.opt_arg ()); break; case '?': default: ACE_ERROR_RETURN ((LM_ERROR, "\nusage %s:\n" "\t-k [defaults to %s]\n" "\t-x [defaults to %d]\n" "\n", argv [0], ior, shutdown_server), -1); } return 0; } int main (int argc, char **argv) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, 0); int result = parse_args (argc, argv); if (result != 0) return result; CORBA::Object_var object = orb->string_to_object (ior); test_factory_var test_factory = test_factory::_narrow (object.in ()); test_var test = test_factory->create_test (); test->normal_method (); int unknown_exception_raised = 0; try { test->unknown_exception_in_method (); } catch (CORBA::UNKNOWN) { unknown_exception_raised = 1; ACE_DEBUG ((LM_DEBUG, "\nCORBA::UNKNOWN was thrown by the server during test::unknown_exception_in_method()\n" "\tThis is expected behavior\n\n")); } ACE_ASSERT (unknown_exception_raised == 1); unknown_exception_raised = 0; test->unknown_exception_during_deactivation (); if (shutdown_server) test_factory->shutdown (); } catch (...) { ACE_ERROR_RETURN ((LM_ERROR, "Failure: Unexpected exception caught\n"), -1); } return 0; }