00001
00002
00003 #include "orbsvcs/PortableGroup/PG_Object_Adapter_Factory.h"
00004 #include "orbsvcs/PortableGroup/PG_Servant_Dispatcher.h"
00005
00006 #include "tao/PortableServer/Object_Adapter.h"
00007 #include "tao/ORB_Core.h"
00008
00009 ACE_RCSID (TAO_PortableGroup,
00010 PG_Object_Adapter_Factory,
00011 "PG_Object_Adapter_Factory.cpp,v 1.5 2006/03/14 06:14:34 jtc Exp")
00012
00013 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00014
00015 TAO_PG_Object_Adapter_Factory::TAO_PG_Object_Adapter_Factory (void)
00016 {
00017 }
00018
00019 TAO_Adapter*
00020 TAO_PG_Object_Adapter_Factory::create (TAO_ORB_Core *orb_core)
00021 {
00022 TAO_Object_Adapter *object_adapter = 0;
00023 ACE_NEW_RETURN (object_adapter,
00024 TAO_Object_Adapter (orb_core->server_factory ()->
00025 active_object_map_creation_parameters (),
00026 *orb_core),
00027 0);
00028
00029
00030 TAO_PG_Servant_Dispatcher *rt_servant_dispatcher = 0;
00031 ACE_NEW_RETURN (rt_servant_dispatcher,
00032 TAO_PG_Servant_Dispatcher,
00033 0);
00034 object_adapter->servant_dispatcher (rt_servant_dispatcher);
00035
00036
00037 return object_adapter;
00038 }
00039
00040 TAO_END_VERSIONED_NAMESPACE_DECL
00041
00042 ACE_FACTORY_DEFINE (TAO_PortableGroup, TAO_PG_Object_Adapter_Factory)
00043 ACE_STATIC_SVC_DEFINE (TAO_PG_Object_Adapter_Factory,
00044 ACE_TEXT ("TAO_GOA"),
00045 ACE_SVC_OBJ_T,
00046 &ACE_SVC_NAME (TAO_PG_Object_Adapter_Factory),
00047 ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
00048 0)