/* static */ RTCORBA::ServerProtocolPolicy_ptr TAO_POA_RT_Policy_Validator::server_protocol_policy_from_thread_pool (TAO_Thread_Pool *thread_pool, TAO_ORB_Core &orb_core) { RTCORBA::ProtocolList protocols; if (thread_pool) { TAO_Thread_Lane **lanes = thread_pool->lanes (); for (CORBA::ULong i = 0; i != thread_pool->number_of_lanes (); ++i) { TAO_Thread_Lane_Resources &resources = lanes[i]->resources (); TAO_Acceptor_Registry &acceptor_registry = resources.acceptor_registry (); TAO_POA_RT_Policy_Validator::server_protocol_policy_from_acceptor_registry (protocols, acceptor_registry, orb_core); } } else { TAO_Thread_Lane_Resources_Manager &thread_lane_resources_manager = orb_core.thread_lane_resources_manager (); TAO_Thread_Lane_Resources &resources = thread_lane_resources_manager.default_lane_resources (); TAO_Acceptor_Registry &acceptor_registry = resources.acceptor_registry (); TAO_POA_RT_Policy_Validator::server_protocol_policy_from_acceptor_registry (protocols, acceptor_registry, orb_core); } // Set ServerProtocolPolicy. TAO_ServerProtocolPolicy *server_protocol_policy = 0; ACE_NEW_RETURN (server_protocol_policy, TAO_ServerProtocolPolicy (protocols), 0); return server_protocol_policy; }