Factory.h

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 /**
00003  *  @file Factory.h
00004  *
00005  *  Factory.h,v 1.10 2005/11/27 12:04:11 ossama Exp
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 ACE_ENV_ARG_DECL) = 0;
00079 
00080   /// Create ProxyConsumer Collection
00081   virtual void create (TAO_Notify_ProxyConsumer_Collection*& collection ACE_ENV_ARG_DECL) = 0;
00082 
00083   /// Create EventChannel Collection
00084   virtual void create (TAO_Notify_EventChannel_Collection*& collection ACE_ENV_ARG_DECL) = 0;
00085 
00086   /// Create ConsumerAdmin Collection
00087   virtual void create (TAO_Notify_ConsumerAdmin_Collection*& collection ACE_ENV_ARG_DECL) = 0;
00088 
00089   /// Create SupplierAdmin Collection
00090   virtual void create (TAO_Notify_SupplierAdmin_Collection*& collection ACE_ENV_ARG_DECL) = 0;
00091 
00092   /// Create Proxy Collection
00093   virtual void create (TAO_Notify_Proxy_Collection*& collection ACE_ENV_ARG_DECL) = 0;
00094 
00095   /// Create EventChannelFactory
00096   virtual void create (TAO_Notify_EventChannelFactory*& channel_factory ACE_ENV_ARG_DECL) = 0;
00097 
00098   /// Create EventChannel
00099   virtual void create (TAO_Notify_EventChannel*& channel ACE_ENV_ARG_DECL) = 0;
00100 
00101   /// Create SupplierAdmin
00102   virtual void create (TAO_Notify_SupplierAdmin*& admin ACE_ENV_ARG_DECL) = 0;
00103 
00104   /// Create ConsumerAdmin
00105   virtual void create (TAO_Notify_ConsumerAdmin*& admin ACE_ENV_ARG_DECL) = 0;
00106 
00107   /// Create ProxyPushConsumer
00108   virtual void create (TAO_Notify_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) = 0;
00109 
00110   /// Create ProxyPushSupplier
00111   virtual void create (TAO_Notify_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) = 0;
00112 
00113   /// Create CosEC_ProxyPushConsumer
00114   virtual void create (TAO_Notify_CosEC_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) = 0;
00115 
00116   /// Create CosEC_ProxyPushSupplier
00117   virtual void create (TAO_Notify_CosEC_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) = 0;
00118 
00119   /// Create StructuredProxyPushConsumer
00120   virtual void create (TAO_Notify_StructuredProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) = 0;
00121 
00122   /// Create StructuredProxyPushSupplier
00123   virtual void create (TAO_Notify_StructuredProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) = 0;
00124 
00125   /// Create SequenceProxyPushConsumer
00126   virtual void create (TAO_Notify_SequenceProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) = 0;
00127 
00128   /// Create SequenceProxyPushSupplier
00129   virtual void create (TAO_Notify_SequenceProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) = 0;
00130 };
00131 
00132 TAO_END_VERSIONED_NAMESPACE_DECL
00133 
00134 #include /**/ "ace/post.h"
00135 
00136 #endif /* TAO_Notify_FACTORY_H */

Generated on Thu Nov 9 13:24:11 2006 for TAO_CosNotification by doxygen 1.3.6