summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp b/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp
index cea7425e0e3..529fd388412 100644
--- a/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp
@@ -63,7 +63,28 @@ be_visitor_valuetype_cs::visit_valuetype (be_valuetype *node)
TAO_OutStream *os = this->ctx_->stream ();
- os->indent ();
+ *os << be_nl << "// TAO_IDL - Generated from" << be_nl
+ << "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl;
+
+ // Global functions to allow non-defined forward declared interfaces
+ // access to some methods in the full definition.
+ *os << "void" << be_nl
+ << "tao_" << node->flat_name ()
+ << "_add_ref (" << be_idt << be_idt_nl
+ << node->full_name () << " *p" << be_uidt_nl
+ << ")" << be_uidt_nl
+ << "{" << be_idt_nl
+ << "CORBA::add_ref (p);" << be_uidt_nl
+ << "}" << be_nl << be_nl;
+
+ *os << "void" << be_nl
+ << "tao_" << node->flat_name ()
+ << "_remove_ref (" << be_idt << be_idt_nl
+ << node->full_name () << " *p" << be_uidt_nl
+ << ")" << be_uidt_nl
+ << "{" << be_idt_nl
+ << "CORBA::remove_ref (p);" << be_uidt_nl
+ << "}" << be_nl << be_nl;
// Generate methods for _var class.
if (node->gen_var_impl () == -1)