diff options
Diffstat (limited to 'orbsvcs/tests/InterfaceRepo/Bug_3155_Regression/test_idl.cpp')
-rw-r--r-- | orbsvcs/tests/InterfaceRepo/Bug_3155_Regression/test_idl.cpp | 117 |
1 files changed, 62 insertions, 55 deletions
diff --git a/orbsvcs/tests/InterfaceRepo/Bug_3155_Regression/test_idl.cpp b/orbsvcs/tests/InterfaceRepo/Bug_3155_Regression/test_idl.cpp index ed87bdd9215..a69e2f32b25 100644 --- a/orbsvcs/tests/InterfaceRepo/Bug_3155_Regression/test_idl.cpp +++ b/orbsvcs/tests/InterfaceRepo/Bug_3155_Regression/test_idl.cpp @@ -57,70 +57,77 @@ parse_args (int argc, ACE_TCHAR *argv[]) int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { - // init orb - CORBA::ORB_var the_orb = - CORBA::ORB_init (argc, argv); - - if (parse_args (argc, argv) == -1) + try { - return -1; - } + // init orb + CORBA::ORB_var the_orb = + CORBA::ORB_init (argc, argv); - // get IFR - CORBA::Object_var objref = - the_orb->string_to_object (ifr_ior_file); - if (objref.in () == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - "The received objref is nil\n"), - -1); - } + if (parse_args (argc, argv) == -1) + { + return -1; + } - CORBA::ComponentIR::Repository_var the_repo_ref; - try - { - the_repo_ref = CORBA::ComponentIR::Repository::_narrow (objref.in ()); - } - catch (CORBA::Exception &ex) - { - ex._tao_print_exception ("Can't narrow the IFR:"); - return 1; - } + // get IFR + CORBA::Object_var objref = + the_orb->string_to_object (ifr_ior_file); + if (objref.in () == 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + "The received objref is nil\n"), + -1); + } - // search in repository - CORBA::Contained_var current_contained = - the_repo_ref->lookup_id (ACE_TEXT_ALWAYS_CHAR (idl_value)); - if (CORBA::is_nil(current_contained.in ())) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Can't look up the valuetype\n"), - -1); - } + CORBA::ComponentIR::Repository_var the_repo_ref; + try + { + the_repo_ref = CORBA::ComponentIR::Repository::_narrow (objref.in ()); + } + catch (CORBA::Exception &ex) + { + ex._tao_print_exception ("Can't narrow the IFR:"); + return 1; + } - // get value type definition - CORBA::ExtValueDef_var value_def = - CORBA::ExtValueDef::_narrow (current_contained.in ()); - CORBA::ExtValueDef::ExtFullValueDescription_var value_descr; - try - { - value_descr = value_def->describe_ext_value (); + // search in repository + CORBA::Contained_var current_contained = + the_repo_ref->lookup_id (ACE_TEXT_ALWAYS_CHAR (idl_value)); + if (CORBA::is_nil(current_contained.in ())) + { + ACE_ERROR_RETURN ((LM_ERROR, + "Can't look up the valuetype\n"), + -1); + } + + // get value type definition + CORBA::ExtValueDef_var value_def = + CORBA::ExtValueDef::_narrow (current_contained.in ()); + CORBA::ExtValueDef::ExtFullValueDescription_var value_descr; + try + { + value_descr = value_def->describe_ext_value (); + } + catch (CORBA::Exception &ex) + { + ex._tao_print_exception ("Can't describe_ext_value:"); + return 1; + } + + CORBA::ValueMemberSeq& the_value_members = + value_descr->members; + for (CORBA::ULong ct = 0; ct < the_value_members.length (); ++ct) + { + const CORBA::ValueMember& current_member = + the_value_members [ct]; + ACE_DEBUG ((LM_DEBUG, + "value type member '%C'\n", + current_member.name.in ())); + } } catch (CORBA::Exception &ex) { - ex._tao_print_exception ("Can't describe_ext_value:"); + ex._tao_print_exception ("MAIN: Unexpected CORBA exception caught:"); return 1; } - - CORBA::ValueMemberSeq& the_value_members = - value_descr->members; - for (CORBA::ULong ct = 0; ct < the_value_members.length (); ++ct) - { - const CORBA::ValueMember& current_member = - the_value_members [ct]; - ACE_DEBUG ((LM_DEBUG, - "value type member '%C'\n", - current_member.name.in ())); - } - return 0; } |