summaryrefslogtreecommitdiff
path: root/DAnCE/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'DAnCE/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp')
-rw-r--r--DAnCE/tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp123
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 ();
- }
-
- }
-}
-
-