00001 /** 00002 * @file MC_Default_Factory.h 00003 * 00004 * $Id: MC_Default_Factory.h 87253 2009-10-28 23:29:32Z dai_y $ 00005 * 00006 * @author Chad Elliott <elliott_c@ociweb.com> 00007 */ 00008 00009 #ifndef TAO_MC_DEFAULT_FACTORY_H 00010 #define TAO_MC_DEFAULT_FACTORY_H 00011 00012 #include /**/ "ace/pre.h" 00013 00014 #include "tao/orbconf.h" 00015 00016 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00017 # pragma once 00018 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00019 00020 #include "orbsvcs/Notify/Default_Factory.h" 00021 00022 #include "orbsvcs/Notify/MonitorControlExt/notify_mc_ext_export.h" 00023 00024 #if defined (TAO_HAS_MONITOR_FRAMEWORK) && (TAO_HAS_MONITOR_FRAMEWORK == 1) 00025 00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00027 00028 /** 00029 * @class TAO_MC_Default_Factory 00030 * 00031 * @brief Implemetation of the TAO_Default_Factory interface for Monitoring 00032 * 00033 */ 00034 class TAO_Notify_MC_Ext_Export TAO_MC_Default_Factory: 00035 public TAO_Notify_Default_Factory 00036 { 00037 public: 00038 #if !defined (__GNUC__) || (__GNUC__ >= 3) 00039 /// Instruct the compiler that we want the create 00040 /// methods from the base class as well 00041 using TAO_Notify_Default_Factory::create; 00042 #endif /* !__GNUC__ || __GNUC__ >= 3 */ 00043 00044 /// Create the channel factory. 00045 virtual void create (TAO_Notify_EventChannelFactory*& factory, 00046 const char* name); 00047 00048 /// Create the event channel 00049 virtual void create (TAO_Notify_EventChannel*& ec, 00050 const char* name); 00051 00052 /// Create the supplier admin 00053 virtual void create (TAO_Notify_SupplierAdmin*& admin); 00054 00055 /// Create the consumer admin 00056 virtual void create (TAO_Notify_ConsumerAdmin*& admin); 00057 00058 /// Create ProxyPushSupplier 00059 virtual void create (TAO_Notify_ProxyPushSupplier*& proxy); 00060 // /// Create CosEC_ProxyPushSupplier 00061 // virtual void create (TAO_Notify_CosEC_ProxyPushSupplier*& proxy); 00062 00063 /// Create StructuredProxyPushSupplier 00064 virtual void create (TAO_Notify_StructuredProxyPushSupplier*& proxy); 00065 00066 /// Create SequenceProxyPushSupplier 00067 virtual void create (TAO_Notify_SequenceProxyPushSupplier*& proxy); 00068 }; 00069 00070 TAO_END_VERSIONED_NAMESPACE_DECL 00071 00072 #endif /* TAO_HAS_MONITOR_FRAMEWORK==1 */ 00073 00074 #include /**/ "ace/post.h" 00075 00076 #endif /* TAO_MC_DEFAULT_FACTORY_H */