diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp b/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp new file mode 100644 index 00000000000..9b7f29ca0e6 --- /dev/null +++ b/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp @@ -0,0 +1,57 @@ +//============================================================================= +/** + * @file CC_LockSetFactory.cpp + * + * $Id$ + * + * @author Torben Worm <tworm@cs.wustl.edu> + */ +//============================================================================= + + +#include "orbsvcs/Concurrency/CC_LockSetFactory.h" +#include "orbsvcs/Concurrency/CC_LockSet.h" + +ACE_RCSID(Concurrency, CC_LockSetFactory, "$Id$") + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +// Default constructor +CC_LockSetFactory::CC_LockSetFactory (void) +{ +} + +// Destructor. +CC_LockSetFactory::~CC_LockSetFactory (void) +{ +} + +CosConcurrencyControl::LockSet_ptr +CC_LockSetFactory::create (void) +{ + CC_LockSet *ls = 0; + + ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, CosConcurrencyControl::LockSet::_nil ()); + + ACE_NEW_THROW_EX (ls, + CC_LockSet, + CORBA::NO_MEMORY()); + + return ls->_this (); +} + +CosConcurrencyControl::LockSet_ptr +CC_LockSetFactory::create_related (CosConcurrencyControl::LockSet_ptr which) +{ + CC_LockSet *ls = 0; + + ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, CosConcurrencyControl::LockSet::_nil ()); + + ACE_NEW_THROW_EX (ls, + CC_LockSet (which), + CORBA::NO_MEMORY()); + + return ls->_this (); +} + +TAO_END_VERSIONED_NAMESPACE_DECL |