summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp101
1 files changed, 60 insertions, 41 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp
index 8955c59e853..82dff9db21f 100644
--- a/TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp
@@ -41,37 +41,47 @@ be_visitor_valuetype_any_op_cs::~be_visitor_valuetype_any_op_cs (void)
int
be_visitor_valuetype_any_op_cs::visit_valuetype (be_valuetype *node)
{
- if (node->cli_stub_any_op_gen () || node->imported ())
+ if (node->cli_stub_any_op_gen ()
+ || node->imported ()
+ || node->is_local ())
{
return 0;
}
TAO_OutStream *os = this->ctx_->stream ();
- os->indent ();
-
// Generate the Any <<= and >>= operator declarations
- *os << be_global->stub_export_macro () << " void" << be_nl
- << "operator<<= (CORBA::Any &any, " << node->name ()
- << " *value) // copying" << be_nl
+ *os << "// TAO_IDL - Generated from" << be_nl
+ << "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl;
+
+ *os << "// Copying." << be_nl
+ << "void" << be_nl
+ << "operator<<= (" << be_idt << be_idt_nl
+ << "CORBA::Any &any," << be_nl
+ << node->name () << " *value" << be_uidt_nl
+ << ")" << be_uidt_nl
<< "{" << be_idt_nl
- << "TAO_OutputCDR stream;" << be_nl
- << "if (stream << value)" << be_nl
+ << "TAO_OutputCDR stream;" << be_nl << be_nl
+ << "if (stream << value)" << be_idt_nl
<< "{" << be_idt_nl
<< "any._tao_replace (" << be_idt << be_idt_nl
<< node->tc_name () << ", " << be_nl
<< "TAO_ENCAP_BYTE_ORDER," << be_nl
- << "stream.begin ());" << be_uidt << be_uidt << be_uidt_nl
- << "}" << be_uidt_nl
+ << "stream.begin ()" << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl
+ << "}" << be_uidt << be_uidt_nl
<< "}" << be_nl << be_nl;
- *os << be_global->stub_export_macro () << " void" << be_nl
- << "operator<<= (CORBA::Any &any, " << node->name ()
- << " **value) // non-copying" << be_nl
+ *os << "// Non-copying." << be_nl
+ << "void" << be_nl
+ << "operator<<= (" << be_idt << be_idt_nl
+ << "CORBA::Any &any," << be_nl
+ << node->name ()<< " **value" << be_uidt_nl
+ << ")" << be_uidt_nl
<< "{" << be_idt_nl
- << "TAO_OutputCDR stream;" << be_nl
- << "if (stream << *value)" << be_nl
+ << "TAO_OutputCDR stream;" << be_nl << be_nl
+ << "if (stream << *value)" << be_idt_nl
<< "{" << be_idt_nl
<< "any._tao_replace (" << be_idt << be_idt_nl
<< node->tc_name () << ", " << be_nl
@@ -79,56 +89,65 @@ be_visitor_valuetype_any_op_cs::visit_valuetype (be_valuetype *node)
<< "stream.begin ()," << be_nl
<< "1," << be_nl
<< "*value," << be_nl
- << node->name () << "::_tao_any_destructor);"
- << be_uidt << be_uidt << be_uidt_nl
- << "}" << be_uidt_nl
+ << node->name () << "::_tao_any_destructor" << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl
+ << "}" << be_uidt << be_uidt_nl
<< "}" << be_nl << be_nl;
- *os << be_global->stub_export_macro () << " CORBA::Boolean" << be_nl
- << "operator>>= (const CORBA::Any &any, "
- << node->name () << " *&value)" << be_nl
+ *os << "CORBA::Boolean" << be_nl
+ << "operator>>= (" << be_idt << be_idt_nl
+ << "const CORBA::Any &any," << be_nl
+ << node->name () << " *&value" << be_uidt_nl
+ << ")" << be_uidt_nl
<< "{" << be_idt_nl
<< "ACE_TRY_NEW_ENV" << be_nl
<< "{" << be_idt_nl
<< "value = 0;" << be_nl
- << "CORBA::TypeCode_var type = any.type ();" << be_nl << be_nl
- << "CORBA::Boolean result = type->equivalent (" << node->tc_name ()
- << " ACE_ENV_ARG_PARAMETER);" << be_nl
+ << "CORBA::TypeCode_var type = any.type ();" << be_nl
+ << "CORBA::Boolean result =" << be_idt_nl
+ << "type->equivalent (" << be_idt << be_idt_nl
+ << node->tc_name () << be_nl
+ << "ACE_ENV_ARG_PARAMETER" << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl
<< "ACE_TRY_CHECK;" << be_nl << be_nl
- << "if (!result)" << be_nl
+ << "if (!result)" << be_idt_nl
<< "{" << be_idt_nl
<< "return 0; // not equivalent" << be_uidt_nl
- << "}" << be_nl
- << "if (any.any_owns_data ())" << be_nl
+ << "}" << be_uidt_nl << be_nl
+ << "if (any.any_owns_data ())" << be_idt_nl
<< "{" << be_idt_nl
- << "const " << node->name () << " *const_holder = "
+ << "const " << node->name () << " *const_holder =" << be_idt_nl
<< "ACE_static_cast (" << be_idt << be_idt_nl
- << "const " << node->name () << "*," << be_nl
- << "any.value ());" << be_uidt << be_uidt_nl
- << "value = ACE_const_cast (" << be_idt << be_idt_nl
- << node->name () << "*," << be_nl
- << "const_holder);" << be_uidt << be_uidt_nl
+ << "const " << node->name () << " *," << be_nl
+ << "any.value ()" << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl
+ << "value =" << be_idt_nl
+ << "ACE_const_cast (" << be_idt << be_idt_nl
+ << node->name () << " *," << be_nl
+ << "const_holder" << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl
<< "return 1;" << be_uidt_nl
- << "}" << be_nl
- << "else" << be_nl // else any does not own the data
+ << "}" << be_uidt_nl
+ << "else" << be_idt_nl // else any does not own the data
<< "{" << be_idt_nl
<< node->name () << " *tmp;" << be_nl
<< "TAO_InputCDR stream (" << be_idt << be_idt_nl
<< "any._tao_get_cdr ()," << be_nl
- << "any._tao_byte_order ());" << be_uidt << be_uidt_nl
- << "if (stream >> tmp)" << be_nl
+ << "any._tao_byte_order ()" << be_uidt_nl
+ << ");" << be_uidt_nl << be_nl
+ << "if (stream >> tmp)" << be_idt_nl
<< "{" << be_idt_nl
<< "((CORBA::Any *)&any)->_tao_replace (" << be_idt << be_idt_nl
<< node->tc_name () << "," << be_nl
<< "1," << be_nl
<< "ACE_static_cast (void *, tmp)," << be_nl
- << node->name () << "::_tao_any_destructor);" << be_uidt << be_uidt_nl
+ << node->name () << "::_tao_any_destructor" << be_uidt_nl
+ << ");" << be_uidt_nl
<< "value = tmp;" << be_nl
<< "return 1;" << be_uidt_nl
- << "}" << be_nl
- << be_uidt_nl
- << "}" << be_uidt_nl
+ << "}" << be_uidt << be_uidt_nl
+ << "}" << be_uidt << be_uidt_nl
<< "}" << be_nl
<< "ACE_CATCHANY" << be_nl
<< "{" << be_nl