Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tao / XtResource / XtResource_Factory.h
blobe50f217c27bf17e5025b5854ce1eaed33cec733a
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file XtResource_Factory.h
7 * @author Balachandran Natarajan <bala@cs.wustl.edu>
8 * @author Marek Brudka <mbrudka@aster.pl>
9 */
10 //=============================================================================
11 #ifndef TAO_XTRESOURCE_FACTORY_H
12 #define TAO_XTRESOURCE_FACTORY_H
13 #include /**/ "ace/pre.h"
14 #include /**/ <X11/Intrinsic.h>
15 #include "tao/XtResource/TAO_XtResource_Export.h"
16 #include "ace/XtReactor/XtReactor.h"
17 #include "tao/GUIResource_Factory.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 # pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
25 namespace TAO
27 /**
28 * @class XtResource_Factory
30 * @brief TAO_GUI_Resource_Factory for creating XtReactor.
32 * This factory is intended for creating XtReactor for ORB. This
33 * factory can be feed into ORB using
34 * TAO_ORB_Core::set_gui_resource_factory method which is usually
35 * done by TAO_XtResource_Loader.
38 class TAO_XtResource_Export XtResource_Factory : public GUIResource_Factory
40 public:
41 XtResource_Factory (XtAppContext context);
43 /// Create or obtain current reactor implementation
44 virtual ACE_Reactor_Impl *reactor_impl ();
46 private:
47 /// Reactor created by this factory.
48 ACE_XtReactor *reactor_impl_;
50 /// Xt context for XtReactor
51 XtAppContext context_;
53 /// for internal locking
54 TAO_SYNCH_MUTEX lock_;
58 TAO_END_VERSIONED_NAMESPACE_DECL
60 #include /**/ "ace/post.h"
61 #endif /* TAO_XTRESOURCE_FACTORY_H */