00001
00002
00003 #include "tao/Default_Thread_Lane_Resources_Manager.h"
00004 #include "tao/Thread_Lane_Resources.h"
00005 #include "tao/Exception.h"
00006 #include "tao/Environment.h"
00007 #include "tao/ORB_Core.h"
00008 #include "ace/Log_Msg.h"
00009
00010
00011 ACE_RCSID (tao,
00012 Default_Thread_Lane_Resources_Manager,
00013 "Default_Thread_Lane_Resources_Manager.cpp,v 1.15 2006/04/19 08:39:06 jwillemsen Exp")
00014
00015
00016 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00017
00018 TAO_Default_Thread_Lane_Resources_Manager::TAO_Default_Thread_Lane_Resources_Manager (TAO_ORB_Core &orb_core)
00019 : TAO_Thread_Lane_Resources_Manager (orb_core),
00020 lane_resources_ (new TAO_Thread_Lane_Resources (orb_core))
00021 {
00022 }
00023
00024 TAO_Default_Thread_Lane_Resources_Manager::~TAO_Default_Thread_Lane_Resources_Manager (void)
00025 {
00026
00027 delete this->lane_resources_;
00028 }
00029
00030 int
00031 TAO_Default_Thread_Lane_Resources_Manager::open_default_resources (ACE_ENV_SINGLE_ARG_DECL)
00032 {
00033 TAO_ORB_Parameters * const params =
00034 this->orb_core_->orb_params ();
00035
00036 TAO_EndpointSet endpoint_set;
00037
00038 params->get_endpoint_set (TAO_DEFAULT_LANE,
00039 endpoint_set);
00040
00041 bool ignore_address = false;
00042
00043 int const result =
00044 this->lane_resources_->open_acceptor_registry (endpoint_set,
00045 ignore_address
00046 ACE_ENV_ARG_PARAMETER);
00047 ACE_CHECK_RETURN (-1);
00048
00049 return result;
00050 }
00051
00052 void
00053 TAO_Default_Thread_Lane_Resources_Manager::finalize (void)
00054 {
00055
00056 this->lane_resources_->finalize ();
00057 }
00058
00059 TAO_Thread_Lane_Resources &
00060 TAO_Default_Thread_Lane_Resources_Manager::lane_resources (void)
00061 {
00062 return *this->lane_resources_;
00063 }
00064
00065 TAO_Thread_Lane_Resources &
00066 TAO_Default_Thread_Lane_Resources_Manager::default_lane_resources (void)
00067 {
00068 return this->lane_resources ();
00069 }
00070
00071 void
00072 TAO_Default_Thread_Lane_Resources_Manager::shutdown_reactor (void)
00073 {
00074 this->lane_resources_->shutdown_reactor ();
00075 }
00076
00077 void
00078 TAO_Default_Thread_Lane_Resources_Manager::cleanup_rw_transports (void)
00079 {
00080 this->lane_resources_->cleanup_rw_transports ();
00081 }
00082
00083 int
00084 TAO_Default_Thread_Lane_Resources_Manager::is_collocated (const TAO_MProfile &mprofile)
00085 {
00086 return this->lane_resources_->is_collocated (mprofile);
00087 }
00088
00089
00090
00091 TAO_Default_Thread_Lane_Resources_Manager_Factory::
00092 ~TAO_Default_Thread_Lane_Resources_Manager_Factory (void)
00093 {
00094 }
00095
00096 TAO_Thread_Lane_Resources_Manager *
00097 TAO_Default_Thread_Lane_Resources_Manager_Factory::create_thread_lane_resources_manager (TAO_ORB_Core &core)
00098 {
00099 TAO_Thread_Lane_Resources_Manager *manager = 0;
00100
00101
00102 ACE_NEW_RETURN (manager,
00103 TAO_Default_Thread_Lane_Resources_Manager (core),
00104 0);
00105
00106 return manager;
00107 }
00108
00109
00110
00111 TAO_END_VERSIONED_NAMESPACE_DECL
00112
00113
00114 ACE_STATIC_SVC_DEFINE (TAO_Default_Thread_Lane_Resources_Manager_Factory,
00115 ACE_TEXT ("Default_Thread_Lane_Resources_Manager_Factory"),
00116 ACE_SVC_OBJ_T,
00117 &ACE_SVC_NAME (TAO_Default_Thread_Lane_Resources_Manager_Factory),
00118 ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
00119 0)
00120 ACE_FACTORY_DEFINE (TAO, TAO_Default_Thread_Lane_Resources_Manager_Factory)