diff options
Diffstat (limited to 'ACE/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp')
-rw-r--r-- | ACE/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/ACE/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp b/ACE/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp new file mode 100644 index 00000000000..bd1dbfcd0f4 --- /dev/null +++ b/ACE/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp @@ -0,0 +1,68 @@ +// $Id$ + +#include "tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.h" +#include "tao/PortableServer/RequestProcessingStrategy.h" +#include "tao/PortableServer/RequestProcessingStrategyAOMOnly.h" +#include "ace/Dynamic_Service.h" +#include "ace/Log_Msg.h" + +ACE_RCSID (PortableServer, + RequestProcessingStrategyAOMOnlyFactoryImpl, + "$Id$") + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +namespace TAO +{ + namespace Portable_Server + { + RequestProcessingStrategy* + RequestProcessingStrategyAOMOnlyFactoryImpl::create ( + ::PortableServer::RequestProcessingPolicyValue value, + ::PortableServer::ServantRetentionPolicyValue /*srvalue*/) + { + RequestProcessingStrategy* strategy = 0; + + switch (value) + { + case ::PortableServer::USE_ACTIVE_OBJECT_MAP_ONLY : + { + ACE_NEW_RETURN (strategy, RequestProcessingStrategyAOMOnly, 0); + break; + } + default : + { + ACE_ERROR ((LM_ERROR, "Incorrect type in RequestProcessingStrategyAOMOnlyFactoryImpl")); + break; + } + } + + return strategy; + } + + void + RequestProcessingStrategyAOMOnlyFactoryImpl::destroy ( + RequestProcessingStrategy *strategy + ) + { + strategy->strategy_cleanup (); + + delete strategy; + } + } +} + + +ACE_STATIC_SVC_DEFINE ( + RequestProcessingStrategyAOMOnlyFactoryImpl, + ACE_TEXT ("RequestProcessingStrategyAOMOnlyFactory"), + ACE_SVC_OBJ_T, + &ACE_SVC_NAME (RequestProcessingStrategyAOMOnlyFactoryImpl), + ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, + 0) + +ACE_FACTORY_NAMESPACE_DEFINE ( + ACE_Local_Service, + RequestProcessingStrategyAOMOnlyFactoryImpl, + TAO::Portable_Server::RequestProcessingStrategyAOMOnlyFactoryImpl) +TAO_END_VERSIONED_NAMESPACE_DECL |