00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file TkResource_Factory.h 00006 * 00007 * $Id: TkResource_Factory.h 78128 2007-04-20 08:07:58Z johnnyw $ 00008 * 00009 * @author Balachandran Natarajan <bala@cs.wustl.edu> 00010 * @author Marek Brudka <mbrudka@aster.pl> 00011 */ 00012 //============================================================================= 00013 #ifndef TAO_TKRESOURCE_FACTORY_H 00014 #define TAO_TKRESOURCE_FACTORY_H 00015 #include /**/ "ace/pre.h" 00016 #include "ace/TkReactor/TkReactor.h" 00017 #include "tao/TkResource/TAO_TkResource_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 TkResource_Factory 00031 * 00032 * @brief TAO_GUI_Resource_Factory for creating TkReactor. 00033 * 00034 * This factory is intended for creating TkReactor 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_TkResource_Loader. 00038 */ 00039 00040 class TAO_TkResource_Export TkResource_Factory : public GUIResource_Factory 00041 { 00042 public: 00043 00044 TkResource_Factory (); 00045 00046 protected: 00047 00048 /// Create or obtain current reactor implementation 00049 virtual ACE_Reactor_Impl *reactor_impl (void); 00050 00051 private: 00052 /// Reactor created by this factory. 00053 ACE_TkReactor *reactor_impl_; 00054 }; 00055 } 00056 00057 TAO_END_VERSIONED_NAMESPACE_DECL 00058 00059 #include /**/ "ace/post.h" 00060 #endif /* TAO_TKRESOURCE_FACTORY_H */