diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-31 04:13:17 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-31 04:13:17 +0000 |
commit | 66fcbcbb25d9eb0f9247a4e06e72699418ed27a6 (patch) | |
tree | fb70715054a714c186c097f0f1d93d45f49c7a03 | |
parent | d2a8b0c0ee1be7e8d349c3d903df362981874944 (diff) | |
download | ATCD-66fcbcbb25d9eb0f9247a4e06e72699418ed27a6.tar.gz |
ChangeLogTag: Thu Oct 30 22:09:17 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 11 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_traits.cpp | 4 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp | 10 |
3 files changed, 24 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 107759f3d3c..734dfca008d 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,14 @@ +Thu Oct 30 22:09:17 2003 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/be/be_visitor_traits.cpp: + * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp: + + Added tao_release() to the generated Value_Traits<> specialization, + so the INOUT argument template helper class can release the argument + at demarshal time with the same call for both interface and + valuetypes. This extra method has already been added to + CORBA::ValueBase. + Thu Oct 30 15:01:43 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: diff --git a/TAO/TAO_IDL/be/be_visitor_traits.cpp b/TAO/TAO_IDL/be/be_visitor_traits.cpp index c019c8468fc..3e9f6341fe2 100644 --- a/TAO/TAO_IDL/be/be_visitor_traits.cpp +++ b/TAO/TAO_IDL/be/be_visitor_traits.cpp @@ -181,7 +181,9 @@ be_visitor_traits::visit_valuetype (be_valuetype *node) << node->name () << ">" << be_nl << "{" << be_idt_nl << "static void tao_add_ref (" << node->name () << " *);" << be_nl - << "static void tao_remove_ref (" << node->name () << " *);" + << "static void tao_remove_ref (" << node->name () << " *);" + << be_nl + << "static void tao_release (" << node->name () << " *);" << be_uidt_nl << "};"; 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 e6cc0c561e9..891a40b17b4 100644 --- a/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp @@ -86,6 +86,16 @@ be_visitor_valuetype_cs::visit_valuetype (be_valuetype *node) << "{" << be_idt_nl << "CORBA::remove_ref (p);" << be_uidt_nl << "}"; + + *os << be_nl << be_nl + << "void" << be_nl + << "TAO::Value_Traits<" << node->name () << ">::tao_release (" + << be_idt << be_idt_nl + << node->name () << " * p" << be_uidt_nl + << ")" << be_uidt_nl + << "{" << be_idt_nl + << "CORBA::remove_ref (p);" << be_uidt_nl + << "}"; } // The _downcast method // %! use ACE_xxx_cast here ? |