IdUniquenessStrategyUniqueFactoryImpl.cpp

Go to the documentation of this file.
00001 // IdUniquenessStrategyUniqueFactoryImpl.cpp,v 1.7 2006/03/10 07:19:13 jtc Exp
00002 
00003 #include "tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.h"
00004 #include "tao/PortableServer/IdUniquenessStrategyUnique.h"
00005 #include "ace/Dynamic_Service.h"
00006 
00007 ACE_RCSID (PortableServer,
00008            IdUniquenessStrategyUniqueFactoryImpl,
00009            "IdUniquenessStrategyUniqueFactoryImpl.cpp,v 1.7 2006/03/10 07:19:13 jtc Exp")
00010 
00011 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00012 
00013 namespace TAO
00014 {
00015   namespace Portable_Server
00016   {
00017     IdUniquenessStrategy*
00018     IdUniquenessStrategyUniqueFactoryImpl::create (
00019       ::PortableServer::IdUniquenessPolicyValue value)
00020     {
00021       IdUniquenessStrategy* strategy = 0;
00022 
00023       switch (value)
00024       {
00025         case ::PortableServer::UNIQUE_ID :
00026         {
00027           ACE_NEW_RETURN (strategy, IdUniquenessStrategyUnique, 0);
00028           break;
00029         }
00030         case ::PortableServer::MULTIPLE_ID :
00031         {
00032           ACE_ERROR ((LM_ERROR, "Incorrect type in IdUniquenessStrategyUniqueFactoryImpl"));
00033           break;
00034         }
00035       }
00036 
00037       return strategy;
00038     }
00039 
00040     void
00041     IdUniquenessStrategyUniqueFactoryImpl::destroy (
00042       IdUniquenessStrategy *strategy
00043       ACE_ENV_ARG_DECL)
00044     {
00045       strategy->strategy_cleanup (ACE_ENV_SINGLE_ARG_PARAMETER);
00046       ACE_CHECK;
00047 
00048       delete strategy;
00049     }
00050 
00051   }
00052 }
00053 
00054 TAO_END_VERSIONED_NAMESPACE_DECL
00055 
00056 ACE_STATIC_SVC_DEFINE (
00057   IdUniquenessStrategyUniqueFactoryImpl,
00058   ACE_TEXT ("IdUniquenessStrategyUniqueFactory"),
00059   ACE_SVC_OBJ_T,
00060   &ACE_SVC_NAME (IdUniquenessStrategyUniqueFactoryImpl),
00061   ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
00062   0)
00063 
00064 ACE_FACTORY_NAMESPACE_DEFINE (
00065   ACE_Local_Service,
00066   IdUniquenessStrategyUniqueFactoryImpl,
00067   TAO::Portable_Server::IdUniquenessStrategyUniqueFactoryImpl)
00068 

Generated on Thu Nov 9 12:40:38 2006 for TAO_PortableServer by doxygen 1.3.6