summaryrefslogtreecommitdiff
path: root/TAO/tao/encode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/encode.cpp')
-rw-r--r--TAO/tao/encode.cpp38
1 files changed, 6 insertions, 32 deletions
diff --git a/TAO/tao/encode.cpp b/TAO/tao/encode.cpp
index 8abd7f02742..75fc7db7c37 100644
--- a/TAO/tao/encode.cpp
+++ b/TAO/tao/encode.cpp
@@ -507,7 +507,8 @@ TAO_Marshal_Union::encode (CORBA::TypeCode_ptr tc,
case CORBA::tk_enum:
{
CORBA::ULong ul;
- TAO_InputCDR stream (member_label->_tao_get_cdr ());
+ TAO_InputCDR stream ((ACE_Message_Block *)
+ member_label->_tao_get_cdr ());
(void)stream.decode (discrim_tc, &ul, 0, ACE_TRY_ENV);
ACE_CHECK_RETURN (CORBA::TypeCode::TRAVERSE_STOP);
if (ul == *(CORBA::ULong *) discrim_val)
@@ -564,43 +565,16 @@ TAO_Marshal_Union::encode (CORBA::TypeCode_ptr tc,
{
member_val = base_union->_access (0);
// marshal according to the matched typecode
-
- if (member_tc->kind () == CORBA::tk_objref)
- {
- // we know that the object pointer is stored in a
- // TAO_Object_Field_T parametrized type
- TAO_Object_Field_T<CORBA_Object>* field =
- ACE_reinterpret_cast (TAO_Object_Field_T<CORBA_Object> *,
- member_val);
- CORBA::Object_ptr ptr = field->_upcast ();
- return stream->encode (member_tc, &ptr, data2, ACE_TRY_ENV);
- }
- else
- {
- return stream->encode (member_tc, member_val,
- data2, ACE_TRY_ENV);
- }
+ return stream->encode (member_tc, member_val,
+ data2, ACE_TRY_ENV);
}
}
// we are here only if there was no match
if (default_tc)
{
member_val = base_union->_access (0);
- if (default_tc->kind () == CORBA::tk_objref)
- {
- // we know that the object pointer is stored in a
- // TAO_Object_Field_T parametrized type
- TAO_Object_Field_T<CORBA_Object>* field =
- ACE_reinterpret_cast (TAO_Object_Field_T<CORBA_Object> *,
- member_val);
- CORBA::Object_ptr ptr = field->_upcast ();
- return stream->encode (default_tc, &ptr, data2, ACE_TRY_ENV);
- }
- else
- {
- return stream->encode (default_tc, member_val,
- data2, ACE_TRY_ENV);
- }
+ return stream->encode (default_tc, member_val, data2,
+ ACE_TRY_ENV);
}
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,