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