summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp113
1 files changed, 0 insertions, 113 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp b/TAO/TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp
deleted file mode 100644
index 5c0b7513f77..00000000000
--- a/TAO/TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// cdr_op_ci.cpp
-//
-// = DESCRIPTION
-// Concrete visitor for valuetypes.
-// This one provides code generation for the CDR operators.
-//
-// = AUTHOR
-// Torsten Kuepper <kuepper2@lfa.uni-wuppertal.de>
-// based on code from Aniruddha Gokhale
-//
-// ============================================================================
-
-
-#include "idl.h"
-#include "idl_extern.h"
-#include "be.h"
-
-#include "be_visitor_valuetype.h"
-// #include "be_visitor_field.h"
-
-ACE_RCSID(be_visitor_valuetype, cdr_op_ci, "$Id$")
-
-be_visitor_valuetype_cdr_op_ci::be_visitor_valuetype_cdr_op_ci
-(be_visitor_context *ctx)
- : be_visitor_valuetype (ctx)
-{
-}
-
-be_visitor_valuetype_cdr_op_ci::~be_visitor_valuetype_cdr_op_ci (void)
-{
-}
-
-int
-be_visitor_valuetype_cdr_op_ci::visit_valuetype (be_valuetype *node)
-{
- // already generated and/or we are imported. Don't do anything.
- if (node->cli_inline_cdr_op_gen () || node->imported ())
- return 0;
-
- TAO_OutStream *os = this->ctx_->stream ();
-
- // First generate code for our children. The reason we do this first is
- // because the inlined code for our children must be available before we use
- // it in our parent
-
- // set the substate as generating code for the types defined in our scope
- //this->ctx_->sub_state(TAO_CodeGen::TAO_CDR_SCOPE);
- // all we have to do is to visit the scope and generate code
- if (this->visit_scope (node) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%N:%l) be_visitor_valuetype_cdr_op_ci"
- "::visit_valuetype - "
- "codegen for scope failed\n"), -1);
- }
-
- // set the sub state as generating code for the output operator
- this->ctx_->sub_state(TAO_CodeGen::TAO_CDR_OUTPUT);
- os->indent ();
- *os << "ACE_INLINE CORBA::Boolean" << be_nl
- << "operator<< (TAO_OutputCDR &strm, const "
- << node->name ()
- << " *_tao_valuetype)" << be_nl
- << "{" << be_idt_nl;
- *os << "return CORBA_ValueBase::_tao_marshal (strm," << be_idt_nl
- << "ACE_const_cast (" << node->name () << "*, _tao_valuetype)," << be_nl
- << "(ptr_arith_t) &" << node->name() <<"::_downcast);"
- << be_uidt<< be_uidt_nl
- << "}\n\n";
-
- // set the substate as generating code for the input operator
- //this->ctx_->sub_state(TAO_CodeGen::TAO_CDR_INPUT);
- *os << "ACE_INLINE CORBA::Boolean" << be_nl
- << "operator>> (TAO_InputCDR &strm, "
- << node->name ()
- << " *&_tao_valuetype)" << be_nl
- << "{" << be_idt_nl;
- *os << "return " << node->name() << "::_tao_unmarshal (strm, _tao_valuetype);"
-#ifdef obv_marshal_old_version
- *os << "CORBA::ValueBase *ptr;" << be_nl
- << "int retval = CORBA_ValueBase::_tao_unmarshal (strm,"
- << be_idt_nl << "ptr, (ptr_arith_t) &" << node->name() <<"::_downcast);"
- << be_uidt_nl
- << "if (retval) {" << be_idt_nl
- << "_tao_valuetype = " << node->name() << "::_downcast (ptr);"
- << be_nl << "if (_tao_valuetype) retval = 1;"
- << be_uidt_nl << "}" << be_idt_nl
- << "return retval;"
-#endif /* obv_marshal_old_version */
- << be_uidt_nl
- << "}\n\n";
-
- if (!node->is_abstract_valuetype ())
- { // functions that marshal state
- be_visitor_context* new_ctx =
- new be_visitor_context (*this->ctx_);
- be_visitor_valuetype_marshal_cs visitor (new_ctx);
- visitor.visit_valuetype (node);
- }
-
- node->cli_inline_cdr_op_gen (1);
- return 0;
-}