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 81301 2008-04-09 18:02:14Z 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, endpoint_set);
00038
00039 bool ignore_address = false;
00040
00041 int const result =
00042 this->lane_resources_->open_acceptor_registry (endpoint_set, ignore_address);
00043
00044 return result;
00045 }
00046
00047 void
00048 TAO_Default_Thread_Lane_Resources_Manager::finalize (void)
00049 {
00050
00051 this->lane_resources_->finalize ();
00052 }
00053
00054 TAO_Thread_Lane_Resources &
00055 TAO_Default_Thread_Lane_Resources_Manager::lane_resources (void)
00056 {
00057 return *this->lane_resources_;
00058 }
00059
00060 TAO_Thread_Lane_Resources &
00061 TAO_Default_Thread_Lane_Resources_Manager::default_lane_resources (void)
00062 {
00063 return this->lane_resources ();
00064 }
00065
00066 void
00067 TAO_Default_Thread_Lane_Resources_Manager::shutdown_reactor (void)
00068 {
00069 this->lane_resources_->shutdown_reactor ();
00070 }
00071
00072 void
00073 TAO_Default_Thread_Lane_Resources_Manager::cleanup_rw_transports (void)
00074 {
00075 this->lane_resources_->cleanup_rw_transports ();
00076 }
00077
00078 int
00079 TAO_Default_Thread_Lane_Resources_Manager::is_collocated (const TAO_MProfile &mprofile)
00080 {
00081 return this->lane_resources_->is_collocated (mprofile);
00082 }
00083
00084
00085
00086 TAO_Default_Thread_Lane_Resources_Manager_Factory::
00087 ~TAO_Default_Thread_Lane_Resources_Manager_Factory (void)
00088 {
00089 }
00090
00091 TAO_Thread_Lane_Resources_Manager *
00092 TAO_Default_Thread_Lane_Resources_Manager_Factory::create_thread_lane_resources_manager (TAO_ORB_Core &core)
00093 {
00094 TAO_Thread_Lane_Resources_Manager *manager = 0;
00095
00096
00097 ACE_NEW_RETURN (manager,
00098 TAO_Default_Thread_Lane_Resources_Manager (core),
00099 0);
00100
00101 return manager;
00102 }
00103
00104
00105
00106 TAO_END_VERSIONED_NAMESPACE_DECL
00107
00108
00109 ACE_STATIC_SVC_DEFINE (TAO_Default_Thread_Lane_Resources_Manager_Factory,
00110 ACE_TEXT ("Default_Thread_Lane_Resources_Manager_Factory"),
00111 ACE_SVC_OBJ_T,
00112 &ACE_SVC_NAME (TAO_Default_Thread_Lane_Resources_Manager_Factory),
00113 ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
00114 0)
00115 ACE_FACTORY_DEFINE (TAO, TAO_Default_Thread_Lane_Resources_Manager_Factory)