XtResource_Factory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file   XtResource_Factory.h
00006  *
00007  *  XtResource_Factory.h,v 1.2 2005/01/23 01:30:31 mbrudka Exp
00008  *
00009  *  @author Balachandran Natarajan <bala@cs.wustl.edu>
00010  *  @author Marek Brudka <mbrudka@aster.pl>
00011  */
00012 //=============================================================================
00013 #ifndef TAO_XTRESOURCE_FACTORY_H
00014 #define TAO_XTRESOURCE_FACTORY_H
00015 #include /**/ "ace/pre.h"
00016 #include /**/ <X11/Intrinsic.h>
00017 #include "tao/TAO_XtResource_Export.h"
00018 #include "ace/XtReactor.h"
00019 #include "tao/GUIResource_Factory.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 namespace TAO
00026 {
00027 
00028   /**
00029    * @class XtResource_Factory
00030    *
00031    * @brief TAO_GUI_Resource_Factory for creating XtReactor.
00032    *
00033    * This factory is intended for creating XtReactor for ORB. This
00034    * factory can be feed into ORB using
00035    * TAO_ORB_Core::set_gui_resource_factory method which is usually
00036    * done by TAO_XtResource_Loader.
00037    */
00038 
00039   class TAO_XtResource_Export XtResource_Factory : public GUIResource_Factory
00040   {
00041   public:
00042     XtResource_Factory (XtAppContext context);
00043 
00044     /// Create or obtain current reactor implementation
00045     virtual ACE_Reactor_Impl *reactor_impl (void);
00046 
00047   private:
00048 
00049     /// Reactor created by this factory.
00050     ACE_XtReactor *reactor_impl_;
00051 
00052     /// Xt context for XtReactor
00053     XtAppContext  context_;
00054 
00055     /// for internal locking
00056     TAO_SYNCH_MUTEX lock_;
00057   };
00058 }
00059 
00060 #include /**/ "ace/post.h"
00061 #endif /* TAO_XTRESOURCE_FACTORY_H */

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