Factory.h

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 /**
00003  *  @file Factory.h
00004  *
00005  *  $Id: Factory.h 79084 2007-07-30 13:13:45Z elliott_c $
00006  *
00007  *  @author Pradeep Gore <pradeep@oomworks.com>
00008  *
00009  *
00010  */
00011 
00012 #ifndef TAO_Notify_FACTORY_H
00013 #define TAO_Notify_FACTORY_H
00014 
00015 #include /**/ "ace/pre.h"
00016 
00017 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00018 # pragma once
00019 #endif /* ACE_LACKS_PRAGMA_ONCE */
00020 
00021 #include "tao/Versioned_Namespace.h"
00022 #include "ace/CORBA_macros.h"
00023 #include "ace/Service_Object.h"
00024 
00025 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00026 class ACE_Lock;
00027 ACE_END_VERSIONED_NAMESPACE_DECL
00028 
00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00030 
00031 class TAO_Notify_Object;
00032 class TAO_Notify_EventChannelFactory;
00033 class TAO_Notify_EventChannel;
00034 class TAO_Notify_SupplierAdmin;
00035 class TAO_Notify_ConsumerAdmin;
00036 class TAO_Notify_ProxyPushConsumer;
00037 class TAO_Notify_CosEC_ProxyPushSupplier;
00038 class TAO_Notify_CosEC_ProxyPushConsumer;
00039 class TAO_Notify_ProxyPushSupplier;
00040 class TAO_Notify_StructuredProxyPushConsumer;
00041 class TAO_Notify_StructuredProxyPushSupplier;
00042 class TAO_Notify_SequenceProxyPushConsumer;
00043 class TAO_Notify_SequenceProxyPushSupplier;
00044 class TAO_Notify_ProxyConsumer;
00045 class TAO_Notify_ProxySupplier;
00046 class TAO_Notify_ConsumerAdmin;
00047 class TAO_Notify_SupplierAdmin;
00048 class TAO_Notify_Proxy;
00049 class TAO_Notify_Consumer;
00050 class TAO_Notify_Supplier;
00051 class TAO_Notify_Peer;
00052 
00053 namespace CORBA
00054 {
00055   class Environment;
00056 }
00057 
00058 template <class PROXY> class TAO_ESF_Proxy_Collection;
00059 
00060 typedef TAO_ESF_Proxy_Collection<TAO_Notify_ProxyConsumer> TAO_Notify_ProxyConsumer_Collection;
00061 typedef TAO_ESF_Proxy_Collection<TAO_Notify_ProxySupplier> TAO_Notify_ProxySupplier_Collection;
00062 
00063 typedef TAO_ESF_Proxy_Collection<TAO_Notify_EventChannel> TAO_Notify_EventChannel_Collection;
00064 typedef TAO_ESF_Proxy_Collection<TAO_Notify_ConsumerAdmin> TAO_Notify_ConsumerAdmin_Collection;
00065 typedef TAO_ESF_Proxy_Collection<TAO_Notify_SupplierAdmin> TAO_Notify_SupplierAdmin_Collection;
00066 typedef TAO_ESF_Proxy_Collection<TAO_Notify_Proxy> TAO_Notify_Proxy_Collection;
00067 
00068 /**
00069  * @class TAO_Notify_Factory
00070  *
00071  * @brief Factory interface for creating Notify Objects.
00072  *
00073  */
00074 class /*TAO_Notify_Serv_Export*/ TAO_Notify_Factory : public ACE_Service_Object
00075 {
00076 public:
00077   /// Create ProxySupplier Collection
00078   virtual void create (TAO_Notify_ProxySupplier_Collection*& collection) = 0;
00079 
00080   /// Create ProxyConsumer Collection
00081   virtual void create (TAO_Notify_ProxyConsumer_Collection*& collection) = 0;
00082 
00083   /// Create EventChannel Collection
00084   virtual void create (TAO_Notify_EventChannel_Collection*& collection) = 0;
00085 
00086   /// Create ConsumerAdmin Collection
00087   virtual void create (TAO_Notify_ConsumerAdmin_Collection*& collection) = 0;
00088 
00089   /// Create SupplierAdmin Collection
00090   virtual void create (TAO_Notify_SupplierAdmin_Collection*& collection) = 0;
00091 
00092   /// Create Proxy Collection
00093   virtual void create (TAO_Notify_Proxy_Collection*& collection) = 0;
00094 
00095   /// Create EventChannelFactory
00096   virtual void create (TAO_Notify_EventChannelFactory*& channel_factory,
00097                        const char* factory_name) = 0;
00098 
00099   /// Create EventChannel
00100   virtual void create (TAO_Notify_EventChannel*& channel,
00101                        const char* ec_name) = 0;
00102 
00103   /// Create SupplierAdmin
00104   virtual void create (TAO_Notify_SupplierAdmin*& admin) = 0;
00105 
00106   /// Create ConsumerAdmin
00107   virtual void create (TAO_Notify_ConsumerAdmin*& admin) = 0;
00108 
00109   /// Create ProxyPushConsumer
00110   virtual void create (TAO_Notify_ProxyPushConsumer*& proxy) = 0;
00111 
00112   /// Create ProxyPushSupplier
00113   virtual void create (TAO_Notify_ProxyPushSupplier*& proxy) = 0;
00114 
00115   /// Create CosEC_ProxyPushConsumer
00116   virtual void create (TAO_Notify_CosEC_ProxyPushConsumer*& proxy) = 0;
00117 
00118   /// Create CosEC_ProxyPushSupplier
00119   virtual void create (TAO_Notify_CosEC_ProxyPushSupplier*& proxy) = 0;
00120 
00121   /// Create StructuredProxyPushConsumer
00122   virtual void create (TAO_Notify_StructuredProxyPushConsumer*& proxy) = 0;
00123 
00124   /// Create StructuredProxyPushSupplier
00125   virtual void create (TAO_Notify_StructuredProxyPushSupplier*& proxy) = 0;
00126 
00127   /// Create SequenceProxyPushConsumer
00128   virtual void create (TAO_Notify_SequenceProxyPushConsumer*& proxy) = 0;
00129 
00130   /// Create SequenceProxyPushSupplier
00131   virtual void create (TAO_Notify_SequenceProxyPushSupplier*& proxy) = 0;
00132 };
00133 
00134 TAO_END_VERSIONED_NAMESPACE_DECL
00135 
00136 #include /**/ "ace/post.h"
00137 
00138 #endif /* TAO_Notify_FACTORY_H */

Generated on Tue Feb 2 17:45:29 2010 for TAO_CosNotification by  doxygen 1.4.7