summaryrefslogtreecommitdiff
path: root/TAO/tao/Valuetype/ValueBase.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Valuetype/ValueBase.h')
-rw-r--r--TAO/tao/Valuetype/ValueBase.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/TAO/tao/Valuetype/ValueBase.h b/TAO/tao/Valuetype/ValueBase.h
index 46dd8e30e45..a8658eb9c8f 100644
--- a/TAO/tao/Valuetype/ValueBase.h
+++ b/TAO/tao/Valuetype/ValueBase.h
@@ -40,7 +40,7 @@ namespace CORBA
{
class ValueFactoryBase;
typedef ValueFactoryBase *ValueFactory;
-
+
class ValueBase;
extern TAO_Valuetype_Export void add_ref (ValueBase *);
@@ -215,7 +215,7 @@ operator>> (TAO_InputCDR&, CORBA::ValueBase *&);
/// Used in generated code if CORBA::ValueBase is an argument or return type.
namespace TAO
{
- template<>
+ ACE_TEMPLATE_SPECIALIZATION
class TAO_Valuetype_Export Arg_Traits<CORBA::ValueBase>
: public Object_Arg_Traits_T<CORBA::ValueBase *,
CORBA::ValueBase_var,
@@ -223,6 +223,18 @@ namespace TAO
TAO::Value_Traits<CORBA::ValueBase> >
{
};
+
+
+ ACE_TEMPLATE_SPECIALIZATION
+ struct TAO_Valuetype_Export Value_Traits<CORBA::ValueBase>
+ {
+ static void tao_add_ref (CORBA::ValueBase *);
+ static void tao_remove_ref (CORBA::ValueBase *);
+
+ // For INOUT value type arguments, so they can use the same set
+ // of arg classes as interfaces.
+ static void tao_release (CORBA::ValueBase *);
+ };
};
#if defined (__ACE_INLINE__)