00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Default_Thread_Lane_Resources_Manager.h 00006 * 00007 * $Id: Default_Thread_Lane_Resources_Manager.h 76551 2007-01-24 13:42:44Z johnnyw $ 00008 * 00009 * @author Irfan Pyarali 00010 */ 00011 // =================================================================== 00012 00013 #ifndef TAO_DEFAULT_THREAD_LANE_RESOURCES_MANAGER_H 00014 #define TAO_DEFAULT_THREAD_LANE_RESOURCES_MANAGER_H 00015 00016 #include /**/ "ace/pre.h" 00017 #include "ace/Service_Config.h" 00018 00019 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00020 # pragma once 00021 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00022 00023 #include "tao/Thread_Lane_Resources_Manager.h" 00024 00025 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00026 00027 /** 00028 * @class TAO_Default_Thread_Lane_Resources_Manager 00029 * 00030 * @brief Simple manager for thread lane resources. 00031 * 00032 00033 * \nosubgrouping 00034 * 00035 **/ 00036 class TAO_Export TAO_Default_Thread_Lane_Resources_Manager 00037 : public TAO_Thread_Lane_Resources_Manager 00038 { 00039 public: 00040 00041 /// Constructor. 00042 TAO_Default_Thread_Lane_Resources_Manager (TAO_ORB_Core &orb_core); 00043 00044 /// Destructor. 00045 ~TAO_Default_Thread_Lane_Resources_Manager (void); 00046 00047 /// Finalize resources. 00048 void finalize (void); 00049 00050 /// Open default resources. 00051 int open_default_resources (void); 00052 00053 /// Shutdown reactor. 00054 void shutdown_reactor (void); 00055 00056 /// Shutdown reactor. 00057 virtual void cleanup_rw_transports (void); 00058 00059 /// Does @a mprofile belong to us? 00060 int is_collocated (const TAO_MProfile &mprofile); 00061 00062 /// @name Accessors 00063 // @{ 00064 00065 TAO_Thread_Lane_Resources &lane_resources (void); 00066 00067 TAO_Thread_Lane_Resources &default_lane_resources (void); 00068 00069 // @} 00070 00071 private: 00072 00073 TAO_Default_Thread_Lane_Resources_Manager (TAO_Default_Thread_Lane_Resources_Manager const &); 00074 void operator= (TAO_Default_Thread_Lane_Resources_Manager const &); 00075 00076 protected: 00077 00078 /// Default lane resources. 00079 TAO_Thread_Lane_Resources * const lane_resources_; 00080 00081 }; 00082 00083 /** 00084 * @class TAO_Default_Thread_Lane_Resources_Manager_Factory 00085 * 00086 * @brief This class is a factory for managers of thread resources. 00087 * 00088 * \nosubgrouping 00089 * 00090 **/ 00091 class TAO_Export TAO_Default_Thread_Lane_Resources_Manager_Factory 00092 : public TAO_Thread_Lane_Resources_Manager_Factory 00093 { 00094 public: 00095 00096 /// Destructor. 00097 virtual ~TAO_Default_Thread_Lane_Resources_Manager_Factory (void); 00098 00099 /// Factory method. 00100 TAO_Thread_Lane_Resources_Manager *create_thread_lane_resources_manager (TAO_ORB_Core &core); 00101 00102 }; 00103 00104 TAO_END_VERSIONED_NAMESPACE_DECL 00105 00106 ACE_STATIC_SVC_DECLARE_EXPORT (TAO, TAO_Default_Thread_Lane_Resources_Manager_Factory) 00107 ACE_FACTORY_DECLARE (TAO, TAO_Default_Thread_Lane_Resources_Manager_Factory) 00108 00109 #include /**/ "ace/post.h" 00110 00111 #endif /* TAO_DEFAULT_THREAD_LANE_RESOURCES_MANAGER_H */