diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-09-01 18:48:06 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-09-01 18:48:06 +0000 |
commit | fc6d932f321c1bf5a62c6ccd60154ed744310f3c (patch) | |
tree | 1a019cb7a2ef2902def414be759a9db0664890f7 | |
parent | 569d2b2dd04cf73194dc6d14cfe17a8dde88cb12 (diff) | |
download | ATCD-fc6d932f321c1bf5a62c6ccd60154ed744310f3c.tar.gz |
ChangeLogTag: Mon Sep 1 13:41:47 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog_ref | 4 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp | 11 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp | 3 |
3 files changed, 13 insertions, 5 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref index 6d10c6007fa..9e3e04e998f 100644 --- a/TAO/ChangeLog_ref +++ b/TAO/ChangeLog_ref @@ -5,6 +5,10 @@ Mon Sep 1 13:41:47 2003 Jeff Parsons <j.parsons@vanderbilt.edu> Added generation of forward declaration for the TAO::Narrow_Utils template class. + * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: + + Fixed code generation of _narrow() for local interfaces. + Mon Sep 1 13:26:03 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> * tao/Sync_Strategies.h: Removed Transport.h inclusion diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp index 00e6edb5293..43b547502fd 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp @@ -266,11 +266,14 @@ be_visitor_interface_cs::visit_interface (be_interface *node) if (node->is_local ()) { - *os << node->local_name () << "_ptr proxy =" << be_idt_nl + *os << "if (CORBA::is_nil (_tao_objref))" << be_idt_nl + << "{" << be_idt_nl + << "return " << node->local_name () << "::_nil ();" << be_uidt_nl + << "}" << be_uidt_nl << be_nl + << node->local_name () << "_ptr proxy =" << be_idt_nl << "dynamic_cast<" << node->local_name () << "_ptr> (_tao_objref);" - << be_uidt_nl - << "proxy->_add_ref ();" << be_nl - << "return proxy;" << be_uidt_nl + << be_uidt_nl << be_nl + << "return " << node->local_name () << "::_duplicate (proxy);" << be_uidt_nl << "}" << be_nl << be_nl; } else diff --git a/TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp b/TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp index 4eb2af89c37..80669b32963 100644 --- a/TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp @@ -65,7 +65,8 @@ be_visitor_root_ch::init (void) *os << be_nl << be_nl << "namespace TAO" << be_nl << "{" << be_idt_nl - << "class Collocation_Proxy_Broker;" << be_uidt_nl + << "class Collocation_Proxy_Broker;" << be_nl << be_nl + << "template<typename T> class Narrow_Utils;" << be_uidt_nl << "}"; } |