#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);
}
}
1.7.0