diff options
Diffstat (limited to 'TAO/tao/Valuetype/ValueBase.h')
-rw-r--r-- | TAO/tao/Valuetype/ValueBase.h | 16 |
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__) |