summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-09-15 19:38:00 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-09-15 19:38:00 +0000
commit7593b4f8550e4dd251426a1895c85fd39751e774 (patch)
tree5ef1c918423678aff6bba20bcdbafed6442aae35 /TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp
parentf0d235296ed406c0778e7d71c2409d7358853cc6 (diff)
downloadATCD-7593b4f8550e4dd251426a1895c85fd39751e774.tar.gz
ChangeLogTag:Tue Sep 15 14:34:04 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp
index dfd464779ff..11ac9841a35 100644
--- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp
@@ -359,7 +359,20 @@ be_visitor_field_cdr_op_cs::visit_predefined_type (be_predefined_type *node)
case TAO_CodeGen::TAO_CDR_INPUT:
// is a psuedo obj
if (node->pt () == AST_PredefinedType::PT_pseudo)
- *os << "(strm >> _tao_aggregate." << f->local_name () << ".out ())";
+ *os << "(strm >> _tao_aggregate." << f->local_name ()
+ << ".out ())";
+ else if (node->pt () == AST_PredefinedType::PT_char)
+ *os << "(strm >> CORBA::Any::to_char (_tao_aggregate."
+ << f->local_name () << "))";
+ else if (node->pt () == AST_PredefinedType::PT_wchar)
+ *os << "(strm >> CORBA::Any::to_wchar (_tao_aggregate."
+ << f->local_name () << "))";
+ else if (node->pt () == AST_PredefinedType::PT_octet)
+ *os << "(strm >> CORBA::Any::to_octet (_tao_aggregate."
+ << f->local_name () << "))";
+ else if (node->pt () == AST_PredefinedType::PT_boolean)
+ *os << "(strm >> CORBA::Any::to_boolean (_tao_aggregate."
+ << f->local_name () << "))";
else
*os << "(strm >> _tao_aggregate." << f->local_name () << ")";
break;
@@ -367,6 +380,18 @@ be_visitor_field_cdr_op_cs::visit_predefined_type (be_predefined_type *node)
// is a psuedo obj
if (node->pt () == AST_PredefinedType::PT_pseudo)
*os << "(strm << _tao_aggregate." << f->local_name () << ".in ())";
+ else if (node->pt () == AST_PredefinedType::PT_char)
+ *os << "(strm << CORBA::Any::from_char (_tao_aggregate."
+ << f->local_name () << "))";
+ else if (node->pt () == AST_PredefinedType::PT_wchar)
+ *os << "(strm << CORBA::Any::from_wchar (_tao_aggregate."
+ << f->local_name () << "))";
+ else if (node->pt () == AST_PredefinedType::PT_octet)
+ *os << "(strm << CORBA::Any::from_octet (_tao_aggregate."
+ << f->local_name () << "))";
+ else if (node->pt () == AST_PredefinedType::PT_boolean)
+ *os << "(strm << CORBA::Any::from_boolean (_tao_aggregate."
+ << f->local_name () << "))";
else
*os << "(strm << _tao_aggregate." << f->local_name () << ")";
break;