00001 // $Id: PortableServer.cpp 79221 2007-08-06 11:01:22Z johnnyw $ 00002 #include "tao/PortableServer/PortableServer.h" 00003 #include "tao/PortableServer/Object_Adapter.h" 00004 #include "tao/PortableServer/Object_Adapter_Factory.h" 00005 #include "tao/PortableServer/POA_Current_Factory.h" 00006 00007 #include "tao/PortableServer/ThreadStrategyFactoryImpl.h" 00008 #include "tao/PortableServer/LifespanStrategyFactoryImpl.h" 00009 #include "tao/PortableServer/IdAssignmentStrategyFactoryImpl.h" 00010 #include "tao/PortableServer/IdUniquenessStrategyFactoryImpl.h" 00011 #include "tao/PortableServer/ImplicitActivationStrategyFactoryImpl.h" 00012 #include "tao/PortableServer/RequestProcessingStrategyFactoryImpl.h" 00013 #include "tao/PortableServer/ServantRetentionStrategyFactoryImpl.h" 00014 00015 #include "tao/PortableServer/ThreadStrategyORBControl.h" 00016 #include "tao/PortableServer/ThreadStrategySingle.h" 00017 #include "tao/PortableServer/ThreadStrategySingleFactoryImpl.h" 00018 00019 #include "tao/PortableServer/IdAssignmentStrategySystem.h" 00020 #include "tao/PortableServer/IdAssignmentStrategyUser.h" 00021 00022 #include "tao/PortableServer/IdUniquenessStrategyMultiple.h" 00023 #include "tao/PortableServer/IdUniquenessStrategyUnique.h" 00024 00025 #include "tao/PortableServer/ImplicitActivationStrategyExplicit.h" 00026 #include "tao/PortableServer/ImplicitActivationStrategyImplicit.h" 00027 00028 #include "tao/PortableServer/RequestProcessingStrategyAOMOnly.h" 00029 #include "tao/PortableServer/RequestProcessingStrategyDefaultServant.h" 00030 #include "tao/PortableServer/RequestProcessingStrategyServantManager.h" 00031 00032 #include "tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.h" 00033 #include "tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.h" 00034 00035 #include "tao/PortableServer/RequestProcessingStrategyDefaultServantFI.h" 00036 #include "tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.h" 00037 #include "tao/PortableServer/RequestProcessingStrategyServantActivatorFI.h" 00038 #include "tao/PortableServer/RequestProcessingStrategyServantLocatorFI.h" 00039 00040 #include "tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.h" 00041 00042 #include "tao/PortableServer/LifespanStrategyPersistentFactoryImpl.h" 00043 #include "tao/PortableServer/LifespanStrategyTransientFactoryImpl.h" 00044 00045 ACE_RCSID (PortableServer, 00046 PortableServer, 00047 "$Id: PortableServer.cpp 79221 2007-08-06 11:01:22Z johnnyw $") 00048 00049 00050 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00051 00052 int 00053 TAO_POA_Initializer::init (void) 00054 { 00055 ACE_Service_Config::process_directive ( 00056 ace_svc_desc_IdAssignmentStrategySystem); 00057 00058 #if !defined (CORBA_E_MICRO) 00059 ACE_Service_Config::process_directive ( 00060 ace_svc_desc_IdAssignmentStrategyUser); 00061 #endif /* CORBA_E_MICRO */ 00062 00063 #if !defined (CORBA_E_MICRO) 00064 ACE_Service_Config::process_directive ( 00065 ace_svc_desc_IdUniquenessStrategyMultiple); 00066 #endif /* CORBA_E_MICRO */ 00067 00068 ACE_Service_Config::process_directive ( 00069 ace_svc_desc_IdUniquenessStrategyUnique); 00070 00071 ACE_Service_Config::process_directive ( 00072 ace_svc_desc_IdUniquenessStrategyUniqueFactoryImpl); 00073 00074 ACE_Service_Config::process_directive ( 00075 ace_svc_desc_ImplicitActivationStrategyExplicit); 00076 00077 #if !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) 00078 ACE_Service_Config::process_directive ( 00079 ace_svc_desc_ImplicitActivationStrategyImplicit); 00080 #endif /* CORBA_E_MICRO */ 00081 00082 // Strategy factories 00083 00084 ACE_Service_Config::process_directive ( 00085 ace_svc_desc_ThreadStrategyFactoryImpl); 00086 00087 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) 00088 ACE_Service_Config::process_directive ( 00089 ace_svc_desc_ThreadStrategySingleFactoryImpl); 00090 #endif /* TAO_HAS_MINIMUM_POA == 0 */ 00091 00092 ACE_Service_Config::process_directive ( 00093 ace_svc_desc_LifespanStrategyFactoryImpl 00094 ); 00095 00096 #if !defined (CORBA_E_MICRO) 00097 ACE_Service_Config::process_directive ( 00098 ace_svc_desc_LifespanStrategyPersistentFactoryImpl); 00099 #endif /* CORBA_E_MICRO */ 00100 00101 ACE_Service_Config::process_directive ( 00102 ace_svc_desc_LifespanStrategyTransientFactoryImpl); 00103 00104 ACE_Service_Config::process_directive ( 00105 ace_svc_desc_IdAssignmentStrategyFactoryImpl); 00106 00107 ACE_Service_Config::process_directive ( 00108 ace_svc_desc_IdUniquenessStrategyFactoryImpl); 00109 00110 ACE_Service_Config::process_directive ( 00111 ace_svc_desc_ImplicitActivationStrategyFactoryImpl); 00112 00113 ACE_Service_Config::process_directive ( 00114 ace_svc_desc_RequestProcessingStrategyFactoryImpl); 00115 00116 ACE_Service_Config::process_directive ( 00117 ace_svc_desc_RequestProcessingStrategyAOMOnlyFactoryImpl); 00118 00119 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) 00120 ACE_Service_Config::process_directive ( 00121 ace_svc_desc_RequestProcessingStrategyDefaultServantFactoryImpl); 00122 00123 ACE_Service_Config::process_directive ( 00124 ace_svc_desc_RequestProcessingStrategyServantActivatorFactoryImpl); 00125 00126 ACE_Service_Config::process_directive ( 00127 ace_svc_desc_RequestProcessingStrategyServantLocatorFactoryImpl); 00128 #endif /* TAO_HAS_MINIMUM_POA == 0 */ 00129 00130 ACE_Service_Config::process_directive ( 00131 ace_svc_desc_ServantRetentionStrategyFactoryImpl); 00132 00133 ACE_Service_Config::process_directive ( 00134 ace_svc_desc_ServantRetentionStrategyRetainFactoryImpl 00135 ); 00136 00137 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) 00138 ACE_Service_Config::process_directive ( 00139 ace_svc_desc_ServantRetentionStrategyNonRetainFactoryImpl); 00140 #endif /* TAO_HAS_MINIMUM_POA == 0 */ 00141 00142 // Strategy implementations 00143 00144 ACE_Service_Config::process_directive ( 00145 ace_svc_desc_ThreadStrategyORBControl); 00146 00147 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) 00148 ACE_Service_Config::process_directive ( 00149 ace_svc_desc_ThreadStrategySingle); 00150 #endif /* TAO_HAS_MINIMUM_POA == 0 */ 00151 00152 ACE_Service_Config::process_directive ( 00153 ace_svc_desc_TAO_POA_Current_Factory); 00154 00155 return 00156 ACE_Service_Config::process_directive ( 00157 ace_svc_desc_TAO_Object_Adapter_Factory); 00158 } 00159 00160 TAO_END_VERSIONED_NAMESPACE_DECL