summaryrefslogtreecommitdiff
path: root/TAO/tao/Valuetype/ValueFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Valuetype/ValueFactory.cpp')
-rw-r--r--TAO/tao/Valuetype/ValueFactory.cpp31
1 files changed, 27 insertions, 4 deletions
diff --git a/TAO/tao/Valuetype/ValueFactory.cpp b/TAO/tao/Valuetype/ValueFactory.cpp
index 8308d0f8901..2f2fa4ad818 100644
--- a/TAO/tao/Valuetype/ValueFactory.cpp
+++ b/TAO/tao/Valuetype/ValueFactory.cpp
@@ -43,8 +43,8 @@ CORBA::ValueFactoryBase::~ValueFactoryBase (void)
void
CORBA::ValueFactoryBase::_add_ref (void)
{
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
+ ACE_GUARD (TAO_SYNCH_MUTEX,
+ guard,
this->_tao_reference_count_lock_);
++this->_tao_reference_count_;
@@ -54,8 +54,8 @@ void
CORBA::ValueFactoryBase::_remove_ref (void)
{
{
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
+ ACE_GUARD (TAO_SYNCH_MUTEX,
+ guard,
this->_tao_reference_count_lock_);
--this->_tao_reference_count_;
@@ -76,3 +76,26 @@ CORBA::ValueFactoryBase::create_for_unmarshal_abstract (void)
return 0;
}
+// =============== Template Specializations =====================
+namespace TAO
+{
+ using namespace CORBA;
+
+ void
+ Value_Traits<ValueFactoryBase>::tao_add_ref (ValueFactoryBase *p)
+ {
+ CORBA::add_ref (p);
+ }
+
+ void
+ Value_Traits<ValueFactoryBase>::tao_remove_ref (ValueFactoryBase * p)
+ {
+ CORBA::remove_ref (p);
+ }
+
+ void
+ Value_Traits<ValueFactoryBase>::tao_release (ValueFactoryBase * p)
+ {
+ CORBA::remove_ref (p);
+ }
+}