diff options
Diffstat (limited to 'TAO/CIAO/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp')
-rw-r--r-- | TAO/CIAO/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/TAO/CIAO/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp index 736a866cdc0..8773f7b9014 100644 --- a/TAO/CIAO/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp +++ b/TAO/CIAO/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp @@ -23,43 +23,43 @@ namespace CIAO ACE_ERROR ((LM_ERROR, "ERROR: Enum type descriptioin required")); throw 1; } - + // Construct TypeCode for the enum CORBA::EnumMemberSeq members; members.length (type.enum_ ().count_member ()); CORBA::ULong index (0); - + for (EnumType::member_const_iterator i = type.enum_ ().begin_member (); i != type.enum_ ().end_member (); ++i) { members[index++] = i->c_str (); } - + // Grab pointer to the DynAny_Handler to use the orb and any factory. // DynAny_Handler *dah = DynAny_Handler::instance (); - - // @@ Leak this guy onto the heap to avoid a compile problem. - CORBA::TypeCode_ptr tc = + + // @@ Leak this guy onto the heap to avoid a compile problem. + CORBA::TypeCode_ptr tc = DYNANY_HANDLER->orb ()->create_enum_tc (type.enum_ ().typeId ().c_str (), type.enum_ ().name ().c_str (), members); - + ACE_ERROR ((LM_ERROR, "Type: %s \nName: %s\nvalue: %s\n", type.enum_ ().typeId ().c_str (), type.enum_ ().name ().c_str (), value.begin_enum ()->c_str ())); - + // Make the actual DynEnum - DynamicAny::DynAny_var temp = + DynamicAny::DynAny_var temp = DYNANY_HANDLER->daf ()->create_dyn_any_from_type_code (tc); DynamicAny::DynEnum_var retval = DynamicAny::DynEnum::_narrow (temp.in ()); - + retval->set_as_string (value.begin_enum ()->c_str ()); return retval._retn (); } - + void DynEnum_Handler::extract_out_of_dynany (const DynamicAny::DynAny_ptr dyn) { @@ -69,4 +69,4 @@ namespace CIAO } } - + |