3 //=============================================================================
5 * @file XtResource_Factory.h
7 * @author Balachandran Natarajan <bala@cs.wustl.edu>
8 * @author Marek Brudka <mbrudka@aster.pl>
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)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
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
41 XtResource_Factory (XtAppContext context
);
43 /// Create or obtain current reactor implementation
44 virtual ACE_Reactor_Impl
*reactor_impl ();
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 */