Go to the documentation of this file.00001
00002
00003 #include "tao/CSD_Framework/CSD_Object_Adapter_Factory.h"
00004 #include "tao/CSD_Framework/CSD_Strategy_Repository.h"
00005 #include "tao/CSD_Framework/CSD_Object_Adapter.h"
00006 #include "tao/CSD_Framework/CSD_Default_Servant_Dispatcher.h"
00007 #include "tao/ORB_Core.h"
00008 #include "tao/ORBInitializer_Registry.h"
00009 #include "ace/Dynamic_Service.h"
00010
00011 ACE_RCSID (CSD_Framework,
00012 CSD_Object_Adapter_Factory,
00013 "$Id: CSD_Object_Adapter_Factory.cpp 84281 2009-01-30 15:01:17Z wotte $")
00014
00015
00016 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00017
00018 TAO_CSD_Object_Adapter_Factory::TAO_CSD_Object_Adapter_Factory (void)
00019 {
00020 }
00021
00022 TAO_Adapter*
00023 TAO_CSD_Object_Adapter_Factory::create (TAO_ORB_Core *oc)
00024 {
00025
00026 TAO_CSD_Object_Adapter *object_adapter = 0;
00027 ACE_NEW_RETURN (object_adapter,
00028 TAO_CSD_Object_Adapter (oc->server_factory ()->
00029 active_object_map_creation_parameters (),
00030 *oc),
00031 0);
00032
00033
00034 TAO_CSD_Default_Servant_Dispatcher * csd_servant_dispatcher = 0;
00035 ACE_NEW_RETURN (csd_servant_dispatcher,
00036 TAO_CSD_Default_Servant_Dispatcher,
00037 0);
00038 object_adapter->servant_dispatcher (csd_servant_dispatcher);
00039
00040 return object_adapter;
00041 }
00042
00043 int
00044 TAO_CSD_Object_Adapter_Factory::init (int , ACE_TCHAR* [])
00045 {
00046 TAO_CSD_Strategy_Repository *repo =
00047 ACE_Dynamic_Service<TAO_CSD_Strategy_Repository>::instance ("TAO_CSD_Strategy_Repository");
00048
00049 if (repo != 0)
00050 repo->init(0,0);
00051
00052 return 0;
00053 }
00054
00055
00056 ACE_FACTORY_DEFINE (TAO_CSD_FW, TAO_CSD_Object_Adapter_Factory)
00057 ACE_STATIC_SVC_DEFINE (TAO_CSD_Object_Adapter_Factory,
00058 ACE_TEXT ("TAO_CSD_Object_Adapter_Factory"),
00059 ACE_SVC_OBJ_T,
00060 &ACE_SVC_NAME (TAO_CSD_Object_Adapter_Factory),
00061 ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
00062 0)
00063 TAO_END_VERSIONED_NAMESPACE_DECL