summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/Config_Handlers/Any_Handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/DAnCE/Config_Handlers/Any_Handler.cpp')
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Any_Handler.cpp230
1 files changed, 0 insertions, 230 deletions
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Any_Handler.cpp b/TAO/CIAO/DAnCE/Config_Handlers/Any_Handler.cpp
deleted file mode 100644
index 49ba1e531d1..00000000000
--- a/TAO/CIAO/DAnCE/Config_Handlers/Any_Handler.cpp
+++ /dev/null
@@ -1,230 +0,0 @@
-//$Id$
-
-#include "Any_Handler.h"
-#include "DT_Handler.h"
-#include "tao/Exception.h"
-#include "Utils.h"
-
-void
-CIAO::Config_Handler::Any_Handler::validate_ValueNode (DOMNodeIterator * iter,
- const char * name)
-{
- DOMNode * node = iter->nextNode ();
- XStr temp_name (node->getNodeName ());
- if (temp_name != XStr (ACE_TEXT (name)))
- {
- ACE_DEBUG ((LM_DEBUG, "CIAO::Config_Handler::Any_Handler::validate\
- valueNode (), element mismatch expected \
- <%s> \n", name));
- ACE_THROW (CORBA::INTERNAL ());
- }
-}
-
-void
-CIAO::Config_Handler::Any_Handler::process_Any (DOMNodeIterator * iter,
- ::CORBA::Any &any_obj)
-{
- // Process the name value definitions within the Any
- DOMNode * node = iter->nextNode ();
-
- // Get name of the current element
- XStr name (node->getNodeName ());
-
- // Initialize the ORB so that CORBA::Any will work
- int argc = 0;
- char ** argv = 0;
- CORBA::ORB_ptr orb = CORBA::ORB_init (argc, argv, "");
-
- if (name == XStr (ACE_TEXT ("type")))
- {
- // Process DataType
- ::CORBA::TypeCode_var type;
- DT_Handler::process_DataType (iter, type.out (), orb);
-
- //Switch on the type of the BasicType
- switch (type->kind ())
- {
- case CORBA::tk_short:
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <short> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "short");
- // Process the short value
- any_obj <<= ACE_static_cast(CORBA::Short,
- Utils::parse_long (iter));
- break;
-
- case CORBA::tk_ushort:
-
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <short> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "ushort");
- // Process the ushort value
- any_obj <<= ACE_static_cast (CORBA::UShort,
- Utils::parse_ulong (iter));
- break;
-
- case CORBA::tk_long:
-
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <long> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "long");
- // Process the long value
- any_obj <<= ACE_static_cast (CORBA::Long,
- Utils::parse_long (iter));
- break;
-
- case CORBA::tk_ulong:
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <ulong> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "ulong");
- // Process the ulong value
- any_obj <<= ACE_static_cast (CORBA::ULong,
- Utils::parse_long (iter));
- break;
-
- case CORBA::tk_float:
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <float> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "float");
- // Process the float value
- any_obj <<= ACE_static_cast (CORBA::Float,
- Utils::parse_float (iter));
- break;
-
- case CORBA::tk_double:
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <short> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "double");
- // Process the double value
- any_obj <<= ACE_static_cast (CORBA::Double,
- Utils::parse_double (iter));
- break;
-
- case CORBA::tk_boolean:
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <short> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "bool");
- // Process the bool value
- any_obj <<= CORBA::Any::from_boolean (Utils::parse_bool (iter));
- break;
-
- case CORBA::tk_char:
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <short> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "char");
- // Process the char value
- any_obj <<= CORBA::Any::from_char (Utils::parse_char (iter));
- break;
-
- case CORBA::tk_octet:
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <short> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "octet");
- // Process the octet value
- any_obj <<= CORBA::Any::from_octet (Utils::parse_octet (iter));
- break;
-
- case CORBA::tk_string:
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <short> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "string");
- // Process the string value
- {
- char * temp = Utils::parse_string (iter);
- any_obj <<= temp;
- XMLString::release (&temp);
- }
- break;
-
- case CORBA::tk_longlong:
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <short> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "longlong");
- // Process the longlong value
- any_obj <<= ACE_static_cast (CORBA::LongLong,
- Utils::parse_long (iter));
- break;
-
- case CORBA::tk_ulonglong:
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <short> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "ulonglong");
- // Process the longlong value
- any_obj <<= ACE_static_cast (CORBA::ULongLong,
- Utils::parse_ulong (iter));
- break;
-
- case CORBA::tk_longdouble:
- // Check if next node is a <value> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "value");
- // Check if the next node is a <short> node
- CIAO::Config_Handler::Any_Handler::validate_ValueNode (iter,
- "longdouble");
- // Process the longlong value -- Create a scope to define the
- // lifetime for the ret_val object created within the case statement.
- {
-#if ACE_SIZEOF_LONG_DOUBLE == 16
- CORBA::LongDouble ret_str = Utils::parse_double (iter);
-#else
- CORBA::LongDouble ret_str;
- char * ret_val = Utils::parse_string (iter);
- ACE_OS::memcpy (&ret_str.ld, ret_val, 16);
- XMLString::release (&ret_val);
-#endif
- any_obj <<= ret_str;
- }
- break;
-
- default:
- ACE_DEBUG ((LM_DEBUG, "Currently the DnC handlers support only \
- basic types, complex and recusive type \
- support will be added\n"));
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "Config_Handlers::Any_Handler::process_ \
- Any element mismatch expected <type>"));
- ACE_THROW (CORBA::INTERNAL ());
- }
-
- // Release ORB resource
- CORBA::release (orb);
-}