diff options
Diffstat (limited to 'TAO/tests/OBV/Factory/client.cpp')
-rw-r--r-- | TAO/tests/OBV/Factory/client.cpp | 89 |
1 files changed, 30 insertions, 59 deletions
diff --git a/TAO/tests/OBV/Factory/client.cpp b/TAO/tests/OBV/Factory/client.cpp index 2b6a232470a..187913bb64f 100644 --- a/TAO/tests/OBV/Factory/client.cpp +++ b/TAO/tests/OBV/Factory/client.cpp @@ -3,6 +3,7 @@ #include "FactoryC.h" #include "FactoryC_impl.h" #include "ace/Get_Opt.h" +#include "ace/Argv_Type_Converter.h" ACE_RCSID(Factory, client, "$Id$") @@ -11,7 +12,7 @@ const char *ior = "file://test.ior"; int parse_args (int argc, char *argv[]) { - ACE_Get_Opt get_opts (argc, argv, "k:"); + ACE_Get_Arg_Opt<char> get_opts (argc, argv, "k:"); int c; while ((c = get_opts ()) != -1) @@ -34,74 +35,22 @@ parse_args (int argc, char *argv[]) return 0; } -bool -no_factory (OBV_FactoryTest::Test_ptr test) -{ - bool succeed = false; - ACE_TRY_NEW_ENV - { - // Calling this without a factory registred should give a marshal - // exception with minor code 1 - OBV_FactoryTest::BaseValue_var base_value = - test->get_base_value (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::MARSHAL, ex) - { - if ((ex.minor() & 0xFFFU) == 1) - { - succeed = true; - } - } - ACE_CATCHANY - { - } - ACE_ENDTRY; - - if (!succeed) - { - ACE_ERROR ((LM_ERROR, - "(%t) ERROR, no_factory failed\n")); - } - - return succeed; -} - int -main (int argc, char *argv[]) +ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { + ACE_Argv_Type_Converter convert (argc, argv); + ACE_TRY_NEW_ENV { CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER); + CORBA::ORB_init (convert.get_argc(), convert.get_ASCII_argv(), "" ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; - if (parse_args (argc, argv) != 0) - return 1; - - // Obtain reference to the object - CORBA::Object_var tmp = - orb->string_to_object(ior ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - OBV_FactoryTest::Test_var test = - OBV_FactoryTest::Test::_narrow(tmp.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (test.in ())) - { - ACE_ERROR_RETURN ((LM_DEBUG, - "Nil OBV_FactoryTest::Test reference <%s>\n", - ior), - 1); - } - - // Check if we get the correct exception with minor code because no - // factory has been set. - if (!no_factory (test.in ())) + if (parse_args (convert.get_argc(), convert.get_ASCII_argv()) != 0) return 1; // Create factories. + OBV_FactoryTest::BaseValue_init *base_factory = 0; ACE_NEW_RETURN (base_factory, OBV_FactoryTest::BaseValue_init, @@ -113,6 +62,8 @@ main (int argc, char *argv[]) ACE_TRY_CHECK; base_factory->_remove_ref (); // release ownership + + OBV_FactoryTest::Value1_init *value1_factory = 0; ACE_NEW_RETURN (value1_factory, OBV_FactoryTest::Value1_init, @@ -124,6 +75,8 @@ main (int argc, char *argv[]) ACE_TRY_CHECK; value1_factory->_remove_ref (); + + OBV_FactoryTest::Value2_init *value2_factory = 0; ACE_NEW_RETURN (value2_factory, Value2_init_impl, @@ -135,6 +88,24 @@ main (int argc, char *argv[]) ACE_TRY_CHECK; value2_factory->_remove_ref (); + + // Obtain reference to the object + CORBA::Object_var tmp = + orb->string_to_object(ior ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + OBV_FactoryTest::Test_var test = + OBV_FactoryTest::Test::_narrow(tmp.in () ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + if (CORBA::is_nil (test.in ())) + { + ACE_ERROR_RETURN ((LM_DEBUG, + "Nil OBV_FactoryTest::Test reference <%s>\n", + ior), + 1); + } + // Now perform the test. I don't check return values. // I just hope to get MARSHAL. OBV_FactoryTest::BaseValue_var base_value = |