3 //=============================================================================
5 * @file RT_Thread_Lane_Resources_Manager.h
7 * @author Irfan Pyarali
9 // ===================================================================
11 #ifndef TAO_RT_THREAD_LANE_RESOURCES_MANAGER_H
12 #define TAO_RT_THREAD_LANE_RESOURCES_MANAGER_H
14 #include /**/ "ace/pre.h"
15 #include "tao/orbconf.h"
17 #if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "tao/RTCORBA/rtcorba_export.h"
24 #include "tao/Thread_Lane_Resources_Manager.h"
25 #include "ace/Service_Config.h"
27 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
29 class TAO_Thread_Pool_Manager
;
32 * @class TAO_RT_Thread_Lane_Resources_Manager
34 * @brief Manager for thread lane resources.
39 class TAO_RTCORBA_Export TAO_RT_Thread_Lane_Resources_Manager
:
40 public TAO_Thread_Lane_Resources_Manager
44 TAO_RT_Thread_Lane_Resources_Manager (TAO_ORB_Core
&orb_core
);
47 ~TAO_RT_Thread_Lane_Resources_Manager ();
49 /// Finalize resources.
52 /// Open default resources.
53 int open_default_resources ();
56 void shutdown_reactor ();
58 /// Certain ORB policies such as dropping replies on shutdown
59 /// would need cleanup of transports to wake threads up.
60 void close_all_transports ();
62 /// Does @a mprofile belong to us?
63 int is_collocated (const TAO_MProfile
&mprofile
);
67 TAO_Thread_Lane_Resources
&lane_resources ();
69 TAO_Thread_Lane_Resources
&default_lane_resources ();
71 TAO_Thread_Pool_Manager
&tp_manager ();
76 void operator= (const TAO_RT_Thread_Lane_Resources_Manager
&);
77 TAO_RT_Thread_Lane_Resources_Manager (const TAO_RT_Thread_Lane_Resources_Manager
&);
80 /// Default lane resources.
81 TAO_Thread_Lane_Resources
*default_lane_resources_
;
83 /// Thread Pool Manager.
84 TAO_Thread_Pool_Manager
*tp_manager_
;
88 * @class TAO_RT_Thread_Lane_Resources_Manager_Factory
90 * @brief This class is a factory for managers of thread resources.
95 class TAO_RTCORBA_Export TAO_RT_Thread_Lane_Resources_Manager_Factory
96 : public TAO_Thread_Lane_Resources_Manager_Factory
100 TAO_Thread_Lane_Resources_Manager
*create_thread_lane_resources_manager (TAO_ORB_Core
&core
);
104 ACE_STATIC_SVC_DECLARE_EXPORT (TAO_RTCORBA
, TAO_RT_Thread_Lane_Resources_Manager_Factory
)
105 ACE_FACTORY_DECLARE (TAO_RTCORBA
, TAO_RT_Thread_Lane_Resources_Manager_Factory
)
107 TAO_END_VERSIONED_NAMESPACE_DECL
109 #endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_CORBA_MESSAGING != 0 */
111 #include /**/ "ace/post.h"
113 #endif /* TAO_RT_THREAD_LANE_RESOURCES_MANAGER_H */