IdUniquenessStrategyUnique.cpp

Go to the documentation of this file.
00001 // $Id: IdUniquenessStrategyUnique.cpp 76551 2007-01-24 13:42:44Z johnnyw $
00002 
00003 #include "tao/PortableServer/IdUniquenessStrategyUnique.h"
00004 #include "tao/PortableServer/Root_POA.h"
00005 
00006 ACE_RCSID (PortableServer,
00007            Id_Uniqueness_Strategy,
00008            "$Id: IdUniquenessStrategyUnique.cpp 76551 2007-01-24 13:42:44Z johnnyw $")
00009 
00010 
00011 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00012 
00013 namespace TAO
00014 {
00015   namespace Portable_Server
00016   {
00017     IdUniquenessStrategyUnique::IdUniquenessStrategyUnique (void) :
00018       poa_ (0)
00019     {
00020     }
00021 
00022     void
00023     IdUniquenessStrategyUnique::strategy_init (
00024       TAO_Root_POA *poa
00025       )
00026     {
00027       poa_ = poa;
00028     }
00029 
00030     void
00031     IdUniquenessStrategyUnique::strategy_cleanup (
00032       void)
00033     {
00034       poa_ = 0;
00035     }
00036 
00037     bool
00038     IdUniquenessStrategyUnique::is_servant_activation_allowed (
00039       PortableServer::Servant servant,
00040       bool &wait_occurred_restart_call)
00041     {
00042       // If the specified servant is already in the Active Object Map, the
00043       // ServantAlreadyActive exception is raised.
00044       int const result =
00045         this->poa_->is_servant_active (servant,
00046                                        wait_occurred_restart_call);
00047 
00048       return (!(result || wait_occurred_restart_call));
00049     }
00050 
00051     bool
00052     IdUniquenessStrategyUnique::allow_multiple_activations (void) const
00053     {
00054       return false;
00055     }
00056 
00057     ::PortableServer::IdUniquenessPolicyValue
00058     IdUniquenessStrategyUnique::type() const
00059     {
00060       return ::PortableServer::UNIQUE_ID;
00061     }
00062 
00063   }
00064 }
00065 
00066 TAO_END_VERSIONED_NAMESPACE_DECL
00067 
00068 ACE_FACTORY_NAMESPACE_DEFINE (
00069   ACE_Local_Service,
00070   IdUniquenessStrategyUnique,
00071   TAO::Portable_Server::IdUniquenessStrategyUnique)
00072 
00073 ACE_STATIC_SVC_DEFINE (
00074   IdUniquenessStrategyUnique,
00075   ACE_TEXT ("IdUniquenessStrategyUnique"),
00076   ACE_SVC_OBJ_T,
00077   &ACE_SVC_NAME (IdUniquenessStrategyUnique),
00078   ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
00079   0)

Generated on Tue Feb 2 17:40:54 2010 for TAO_PortableServer by  doxygen 1.4.7