Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tao / Default_Thread_Lane_Resources_Manager.h
blobabdf8a259e219181a2a4fca77888b7cc081c3636
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Default_Thread_Lane_Resources_Manager.h
7 * @author Irfan Pyarali
8 */
9 // ===================================================================
11 #ifndef TAO_DEFAULT_THREAD_LANE_RESOURCES_MANAGER_H
12 #define TAO_DEFAULT_THREAD_LANE_RESOURCES_MANAGER_H
14 #include /**/ "ace/pre.h"
15 #include "ace/Service_Config.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "tao/Thread_Lane_Resources_Manager.h"
23 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
25 /**
26 * @class TAO_Default_Thread_Lane_Resources_Manager
28 * @brief Simple manager for thread lane resources.
31 * \nosubgrouping
33 **/
34 class TAO_Export TAO_Default_Thread_Lane_Resources_Manager
35 : public TAO_Thread_Lane_Resources_Manager
37 public:
38 /// Constructor.
39 TAO_Default_Thread_Lane_Resources_Manager (TAO_ORB_Core &orb_core);
41 /// Destructor.
42 ~TAO_Default_Thread_Lane_Resources_Manager ();
44 /// Finalize resources.
45 void finalize ();
47 /// Open default resources.
48 int open_default_resources ();
50 /// Shutdown reactor.
51 void shutdown_reactor ();
53 /// Cleanup transports.
54 virtual void close_all_transports ();
56 /// Does @a mprofile belong to us?
57 int is_collocated (const TAO_MProfile &mprofile);
59 /// @name Accessors
60 // @{
61 TAO_Thread_Lane_Resources &lane_resources ();
63 TAO_Thread_Lane_Resources &default_lane_resources ();
65 // @}
67 private:
68 TAO_Default_Thread_Lane_Resources_Manager (TAO_Default_Thread_Lane_Resources_Manager const &);
69 void operator= (TAO_Default_Thread_Lane_Resources_Manager const &);
71 protected:
72 /// Default lane resources.
73 TAO_Thread_Lane_Resources * const lane_resources_;
76 /**
77 * @class TAO_Default_Thread_Lane_Resources_Manager_Factory
79 * @brief This class is a factory for managers of thread resources.
81 * \nosubgrouping
83 **/
84 class TAO_Export TAO_Default_Thread_Lane_Resources_Manager_Factory
85 : public TAO_Thread_Lane_Resources_Manager_Factory
87 public:
88 /// Destructor.
89 virtual ~TAO_Default_Thread_Lane_Resources_Manager_Factory ();
91 /// Factory method.
92 TAO_Thread_Lane_Resources_Manager *create_thread_lane_resources_manager (TAO_ORB_Core &core);
95 ACE_STATIC_SVC_DECLARE_EXPORT (TAO, TAO_Default_Thread_Lane_Resources_Manager_Factory)
96 ACE_FACTORY_DECLARE (TAO, TAO_Default_Thread_Lane_Resources_Manager_Factory)
98 TAO_END_VERSIONED_NAMESPACE_DECL
100 #include /**/ "ace/post.h"
102 #endif /* TAO_DEFAULT_THREAD_LANE_RESOURCES_MANAGER_H */