From 3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c Mon Sep 17 00:00:00 2001 From: "William R. Otte" Date: Mon, 24 Jul 2006 15:50:21 +0000 Subject: Repo restructuring --- .../IdUniquenessStrategyUniqueFactoryImpl.cpp | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.cpp (limited to 'TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.cpp') diff --git a/TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.cpp b/TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.cpp new file mode 100644 index 00000000000..b29178c143f --- /dev/null +++ b/TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.cpp @@ -0,0 +1,68 @@ +// $Id$ + +#include "tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.h" +#include "tao/PortableServer/IdUniquenessStrategyUnique.h" +#include "ace/Dynamic_Service.h" + +ACE_RCSID (PortableServer, + IdUniquenessStrategyUniqueFactoryImpl, + "$Id$") + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +namespace TAO +{ + namespace Portable_Server + { + IdUniquenessStrategy* + IdUniquenessStrategyUniqueFactoryImpl::create ( + ::PortableServer::IdUniquenessPolicyValue value) + { + IdUniquenessStrategy* strategy = 0; + + switch (value) + { + case ::PortableServer::UNIQUE_ID : + { + ACE_NEW_RETURN (strategy, IdUniquenessStrategyUnique, 0); + break; + } + case ::PortableServer::MULTIPLE_ID : + { + ACE_ERROR ((LM_ERROR, "Incorrect type in IdUniquenessStrategyUniqueFactoryImpl")); + break; + } + } + + return strategy; + } + + void + IdUniquenessStrategyUniqueFactoryImpl::destroy ( + IdUniquenessStrategy *strategy + ACE_ENV_ARG_DECL) + { + strategy->strategy_cleanup (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + + delete strategy; + } + + } +} + +TAO_END_VERSIONED_NAMESPACE_DECL + +ACE_STATIC_SVC_DEFINE ( + IdUniquenessStrategyUniqueFactoryImpl, + ACE_TEXT ("IdUniquenessStrategyUniqueFactory"), + ACE_SVC_OBJ_T, + &ACE_SVC_NAME (IdUniquenessStrategyUniqueFactoryImpl), + ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, + 0) + +ACE_FACTORY_NAMESPACE_DEFINE ( + ACE_Local_Service, + IdUniquenessStrategyUniqueFactoryImpl, + TAO::Portable_Server::IdUniquenessStrategyUniqueFactoryImpl) + -- cgit v1.2.1