diff options
Diffstat (limited to 'DAnCE/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp')
-rw-r--r-- | DAnCE/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/DAnCE/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp b/DAnCE/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp deleted file mode 100644 index 016bc4571ce..00000000000 --- a/DAnCE/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp +++ /dev/null @@ -1,123 +0,0 @@ -#include "DynEnum_Handler.h" -#include "DynAny_Handler.h" -#include "dance/Logger/Log_Macros.h" -#include "Basic_Deployment_Data.hpp" -#include "Common.h" - -#include "tao/AnyTypeCode/TypeCode.h" -#include "tao/TypeCodeFactory/TypeCodeFactory_Adapter_Impl.h" -#include "tao/AnyTypeCode/AnyTypeCode_methods.h" -#include "tao/AnyTypeCode/Enum_TypeCode.h" -#include "tao/IFR_Client/IFR_BasicC.h" - -namespace DAnCE -{ - namespace Config_Handlers - { - DynamicAny::DynAny_ptr - DynEnum_Handler::extract_into_dynany (const DataType &type, - const DataValue &value, - CORBA::TypeCode_ptr req_tc) - { - DANCE_TRACE("DynEnum_Handler::extract_into_dynany"); - - try - { - CORBA::TypeCode_var tc; - - if (req_tc) - tc = req_tc; - else - tc = DynEnum_Handler::create_typecode (type); - - // Make the actual DynEnum - 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 (ACE_TEXT_ALWAYS_CHAR (( - *value.begin_enum ())->c_str ())); - - return retval._retn (); - } - catch (DynamicAny::DynAny::InvalidValue) - { - DANCE_DEBUG (DANCE_LOG_TERMINAL_ERROR, - (LM_ERROR, - ACE_TEXT ("Invalid value provided in XML when trying to ") - ACE_TEXT ("initialize an instance of enumerated type %s\n"), - type.enum_ ().typeId ().c_str ())); - throw Config_Error (type.enum_ ().typeId (), - ACE_TEXT ("Invalid value provided in XML")); - } - catch (Config_Error &ex) - { - DANCE_DEBUG (DANCE_LOG_TERMINAL_ERROR, - (LM_ERROR, ACE_TEXT ("DynEnum_Handler caught Config_Error\n"))); - if (type.enum_p ()) - ex.add_name (type.enum_ ().typeId ()); - - throw ex; - } - catch (...) - { - DANCE_DEBUG (DANCE_LOG_TERMINAL_ERROR, - (LM_ERROR, ACE_TEXT ("DynEnum_Handler caught unknown exception\n"))); - throw Config_Error (type.enum_ ().typeId (), - ACE_TEXT ("Unknown exception")); - } - } - - void - DynEnum_Handler::extract_out_of_dynany (const DynamicAny::DynAny_ptr) - { - DANCE_TRACE("DynEnum_Handler::extract_out_of_dynany"); - - DANCE_DEBUG (DANCE_LOG_NONFATAL_ERROR, - (LM_ERROR, ACE_TEXT ("Extracting Enums not yet supported\n"))); - } - - CORBA::TypeCode_ptr - DynEnum_Handler::create_typecode (const DataType &type) - { - DANCE_TRACE("DynEnum_Handler::create_typecode"); - - if (!type.enum_p ()) - { - DANCE_DEBUG (DANCE_LOG_TERMINAL_ERROR, - (LM_ERROR, ACE_TEXT ("ERROR: Enum type description required"))); - throw Config_Error (ACE_TEXT (""), - ACE_TEXT ("Did not find expected enum type description,"\ - "tk_kind may be wrong.")); - } - - // 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++] = CORBA::string_dup ( - ACE_TEXT_ALWAYS_CHAR ((*i)->c_str ())); - } - - CORBA::TypeCode_var tc = - DYNANY_HANDLER->orb ()->create_enum_tc ( - ACE_TEXT_ALWAYS_CHAR (type.enum_ ().typeId ().c_str ()), - ACE_TEXT_ALWAYS_CHAR (type.enum_ ().name ().c_str ()), - members); - - DYNANY_HANDLER->register_typecode ((type.enum_ ().typeId ()), - tc.in ()); - - return tc._retn (); - } - - } -} - - |