Default_Thread_Lane_Resources_Manager.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Default_Thread_Lane_Resources_Manager.h
00006  *
00007  *  Default_Thread_Lane_Resources_Manager.h,v 1.13 2005/11/02 07:13:02 ossama Exp
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 (ACE_ENV_SINGLE_ARG_DECL);
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 */

Generated on Thu Nov 9 11:54:10 2006 for TAO by doxygen 1.3.6