diff options
Diffstat (limited to 'modules/TAO/TAO_IDL/be/be_visitor_root/any_op.cpp')
-rw-r--r-- | modules/TAO/TAO_IDL/be/be_visitor_root/any_op.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/modules/TAO/TAO_IDL/be/be_visitor_root/any_op.cpp b/modules/TAO/TAO_IDL/be/be_visitor_root/any_op.cpp index 9455e261b8a..cc81d7719c3 100644 --- a/modules/TAO/TAO_IDL/be/be_visitor_root/any_op.cpp +++ b/modules/TAO/TAO_IDL/be/be_visitor_root/any_op.cpp @@ -64,6 +64,74 @@ be_visitor_root_any_op::visit_root (be_root *node) "codegen for scope failed\n"), -1); } + + TAO_OutStream *os = this->ctx_->stream (); + TAO_CodeGen::CG_STATE cg_state = this->ctx_->state (); + + if (cg_state == TAO_CodeGen::TAO_ROOT_ANY_OP_CH) + { + *os << be_nl << be_nl + << "TAO_BEGIN_VERSIONED_NAMESPACE_DECL"; + + *os << be_nl << be_nl + << "void operator<<= ( ::CORBA::Any &, const std::string);" + << be_nl + << "::CORBA::Boolean operator>>= (const ::CORBA::Any &, std::string &);" + << be_nl << be_nl + << "TAO_END_VERSIONED_NAMESPACE_DECL" << be_nl << be_nl + << "TAO_BEGIN_VERSIONED_NAMESPACE_DECL" + << be_nl << be_nl + << "void operator<<= ( ::CORBA::Any &, const Param_Test::UB_Long_Seq);" + << be_nl + << "::CORBA::Boolean operator>>= (const ::CORBA::Any &, Param_Test::UB_Long_Seq &);"; + + *os << be_nl << be_nl + << "TAO_END_VERSIONED_NAMESPACE_DECL"; + } + else if (cg_state == TAO_CodeGen::TAO_ROOT_ANY_OP_CS) + { + *os << be_nl << be_nl + << "TAO_BEGIN_VERSIONED_NAMESPACE_DECL"; + + *os << be_nl << be_nl + << "void operator<<= (" << be_idt_nl + << "::CORBA::Any &," << be_nl + << "const std::string)" << be_uidt_nl + << "{" << be_nl + << "}"; + + *os << be_nl << be_nl + << "::CORBA::Boolean operator>>= (" << be_idt_nl + << "const ::CORBA::Any &," << be_nl + << "std::string &)" << be_uidt_nl + << "{" << be_idt_nl + << "return true;" << be_uidt_nl + << "}"; + + *os << be_nl << be_nl + << "TAO_END_VERSIONED_NAMESPACE_DECL"; + + *os << be_nl << be_nl + << "TAO_BEGIN_VERSIONED_NAMESPACE_DECL"; + + *os << be_nl << be_nl + << "void operator<<= (" << be_idt_nl + << "::CORBA::Any &," << be_nl + << "const Param_Test::UB_Long_Seq)" << be_uidt_nl + << "{" << be_nl + << "}"; + + *os << be_nl << be_nl + << "::CORBA::Boolean operator>>= (" << be_idt_nl + << "const ::CORBA::Any &," << be_nl + << "Param_Test::UB_Long_Seq &)" << be_uidt_nl + << "{" << be_idt_nl + << "return true;" << be_uidt_nl + << "}"; + + *os << be_nl << be_nl + << "TAO_END_VERSIONED_NAMESPACE_DECL"; + } return 0; } |