#include <ServantRetentionStrategyFactoryImpl.h>
Public Member Functions | |
virtual ServantRetentionStrategy * | create (::PortableServer::ServantRetentionPolicyValue value) |
Create a new servant retention strategy. | |
virtual void | destroy (ServantRetentionStrategy *strategy) |
Definition at line 32 of file ServantRetentionStrategyFactoryImpl.h.
ServantRetentionStrategy * TAO::Portable_Server::ServantRetentionStrategyFactoryImpl::create | ( | ::PortableServer::ServantRetentionPolicyValue | value | ) | [virtual] |
Create a new servant retention strategy.
Implements TAO::Portable_Server::ServantRetentionStrategyFactory.
Definition at line 20 of file ServantRetentionStrategyFactoryImpl.cpp.
{ ServantRetentionStrategyFactory *strategy_factory = 0; const char *strategy_factory_name = 0; switch (value) { case ::PortableServer::RETAIN : { strategy_factory_name = "ServantRetentionStrategyRetainFactory"; break; } case ::PortableServer::NON_RETAIN : { strategy_factory_name = "ServantRetentionStrategyNonRetainFactory"; break; } } strategy_factory = ACE_Dynamic_Service<ServantRetentionStrategyFactory>::instance (strategy_factory_name); if (strategy_factory == 0) { if (TAO_debug_level > 1) ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) ERROR, Unable to get %s\n"), strategy_factory_name)); return 0; } return strategy_factory->create (value); }
void TAO::Portable_Server::ServantRetentionStrategyFactoryImpl::destroy | ( | ServantRetentionStrategy * | strategy | ) | [virtual] |
Implements TAO::Portable_Server::ServantRetentionStrategyFactory.
Definition at line 57 of file ServantRetentionStrategyFactoryImpl.cpp.
{ const char *strategy_factory_name = 0; switch (strategy->type ()) { case ::PortableServer::RETAIN : { strategy_factory_name = "ServantRetentionStrategyRetainFactory"; break; } case ::PortableServer::NON_RETAIN : { strategy_factory_name = "ServantRetentionStrategyNonRetainFactory"; break; } } ServantRetentionStrategyFactory *servantretention_strategy_factory = ACE_Dynamic_Service<ServantRetentionStrategyFactory>::instance (strategy_factory_name); if (servantretention_strategy_factory != 0) { servantretention_strategy_factory->destroy (strategy); } }