00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file FoxResource_Factory.h 00006 * 00007 * $Id: FoxResource_Factory.h 78087 2007-04-18 10:20:49Z johnnyw $ 00008 * 00009 * @author Balachandran Natarajan <bala@cs.wustl.edu> 00010 * @author Marek Brudka <mbrudka@aster.pl> 00011 */ 00012 //============================================================================= 00013 #ifndef TAO_TOXRESOURCE_FACTORY_H 00014 #define TAO_TOXRESOURCE_FACTORY_H 00015 #include /**/ "ace/pre.h" 00016 #include "ace/FoxReactor/FoxReactor.h" 00017 #include "tao/FoxResource/TAO_FoxResource_Export.h" 00018 #include "tao/GUIResource_Factory.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 # pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00025 00026 namespace TAO 00027 { 00028 00029 /** 00030 * @class FoxResource_Factory 00031 * 00032 * @brief TAO_GUI_Resource_Factory for creating FoxReactor. 00033 * 00034 * This factory is intended for creating FoxReactor for ORB. This 00035 * factory can be feed into ORB using 00036 * TAO_ORB_Core::set_gui_resource_factory method which is usually 00037 * done by TAO_FoxResource_Loader. 00038 */ 00039 00040 class TAO_FoxResource_Export FoxResource_Factory : public GUIResource_Factory 00041 { 00042 public: 00043 00044 FoxResource_Factory (FXApp *app); 00045 00046 protected: 00047 00048 /// Create or obtain current reactor implementation 00049 virtual ACE_Reactor_Impl *reactor_impl (void); 00050 00051 private: 00052 00053 /// Reactor created by this factory. 00054 ACE_FoxReactor *reactor_impl_; 00055 00056 FXApp *fxapp_; 00057 }; 00058 } 00059 00060 TAO_END_VERSIONED_NAMESPACE_DECL 00061 00062 #include /**/ "ace/post.h" 00063 #endif /* TAO_TOXRESOURCE_FACTORY_H */