Default_Factory.cpp

Go to the documentation of this file.
00001 // Default_Factory.cpp,v 1.15 2006/03/15 21:29:09 jtc Exp
00002 
00003 #include "orbsvcs/Notify/Default_Factory.h"
00004 
00005 ACE_RCSID (Notify,
00006            TAO_Notify_Default_Factory,
00007            "Default_Factory.cpp,v 1.15 2006/03/15 21:29:09 jtc Exp")
00008 
00009 #include "orbsvcs/Notify/EventChannelFactory.h"
00010 #include "orbsvcs/Notify/EventChannel.h"
00011 #include "orbsvcs/Notify/Admin.h"
00012 #include "orbsvcs/Notify/Proxy.h"
00013 #include "orbsvcs/Notify/SupplierAdmin.h"
00014 #include "orbsvcs/Notify/ConsumerAdmin.h"
00015 #include "orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h"
00016 #include "orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h"
00017 #include "orbsvcs/Notify/Any/ProxyPushConsumer.h"
00018 #include "orbsvcs/Notify/Any/ProxyPushSupplier.h"
00019 #include "orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h"
00020 #include "orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h"
00021 #include "orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h"
00022 #include "orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h"
00023 #include "orbsvcs/Notify/Supplier.h"
00024 
00025 #include "orbsvcs/ESF/ESF_Proxy_List.h"
00026 #include "orbsvcs/ESF/ESF_Copy_On_Write.h"
00027 
00028 
00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00030 
00031 template <class PROXY>
00032 class COW_Collection_Default_Factory
00033 {
00034 public:
00035   typedef ACE_TYPENAME TAO_ESF_Proxy_List<PROXY>::Iterator PROXY_ITER;
00036   typedef TAO_ESF_Copy_On_Write<PROXY, TAO_ESF_Proxy_List<PROXY>,PROXY_ITER, ACE_SYNCH> COLLECTION;
00037   typedef TAO_ESF_Proxy_Collection<PROXY> BASE_COLLECTION;
00038 
00039   void create (BASE_COLLECTION* &collection ACE_ENV_ARG_DECL)
00040   {
00041     ACE_NEW_THROW_EX (collection,
00042                       COLLECTION (),
00043                       CORBA::INTERNAL ());
00044   }
00045 };
00046 
00047 TAO_Notify_Default_Factory::TAO_Notify_Default_Factory (void)
00048 {
00049 }
00050 
00051 TAO_Notify_Default_Factory::~TAO_Notify_Default_Factory ()
00052 {
00053 }
00054 
00055 void
00056 TAO_Notify_Default_Factory::create (TAO_Notify_ProxySupplier_Collection* &collection ACE_ENV_ARG_DECL)
00057 {
00058   COW_Collection_Default_Factory<TAO_Notify_ProxySupplier> f;
00059   f.create (collection ACE_ENV_ARG_PARAMETER);
00060 }
00061 
00062 void
00063 TAO_Notify_Default_Factory::create (TAO_Notify_ProxyConsumer_Collection* &collection ACE_ENV_ARG_DECL)
00064 {
00065   COW_Collection_Default_Factory<TAO_Notify_ProxyConsumer> f;
00066   f.create (collection ACE_ENV_ARG_PARAMETER);
00067 }
00068 
00069 void
00070 TAO_Notify_Default_Factory::create (TAO_Notify_EventChannel_Collection* &collection ACE_ENV_ARG_DECL)
00071 {
00072   COW_Collection_Default_Factory<TAO_Notify_EventChannel> f;
00073   f.create (collection ACE_ENV_ARG_PARAMETER);
00074 }
00075 
00076 void
00077 TAO_Notify_Default_Factory::create (TAO_Notify_ConsumerAdmin_Collection* &collection ACE_ENV_ARG_DECL)
00078 {
00079   COW_Collection_Default_Factory<TAO_Notify_ConsumerAdmin> f;
00080   f.create (collection ACE_ENV_ARG_PARAMETER);
00081 }
00082 
00083 void
00084 TAO_Notify_Default_Factory::create (TAO_Notify_SupplierAdmin_Collection* &collection ACE_ENV_ARG_DECL)
00085 {
00086   COW_Collection_Default_Factory<TAO_Notify_SupplierAdmin> f;
00087   f.create (collection ACE_ENV_ARG_PARAMETER);
00088 }
00089 
00090 void
00091 TAO_Notify_Default_Factory::create (TAO_Notify_Proxy_Collection* &collection ACE_ENV_ARG_DECL)
00092 {
00093   COW_Collection_Default_Factory<TAO_Notify_Proxy> f;
00094   f.create (collection ACE_ENV_ARG_PARAMETER);
00095 }
00096 
00097 void
00098 TAO_Notify_Default_Factory::create (TAO_Notify_EventChannelFactory*& factory ACE_ENV_ARG_DECL)
00099 {
00100   ACE_NEW_THROW_EX (factory,
00101                     TAO_Notify_EventChannelFactory (),
00102                     CORBA::NO_MEMORY ());
00103 }
00104 
00105 void
00106 TAO_Notify_Default_Factory::create (TAO_Notify_EventChannel*& channel ACE_ENV_ARG_DECL)
00107 {
00108   ACE_NEW_THROW_EX (channel,
00109                     TAO_Notify_EventChannel (),
00110                     CORBA::NO_MEMORY ());
00111 }
00112 
00113 
00114 void
00115 TAO_Notify_Default_Factory::create (TAO_Notify_SupplierAdmin*& admin ACE_ENV_ARG_DECL)
00116 {
00117   ACE_NEW_THROW_EX (admin,
00118                     TAO_Notify_SupplierAdmin (),
00119                     CORBA::NO_MEMORY ());
00120 }
00121 
00122 void
00123 TAO_Notify_Default_Factory::create (TAO_Notify_ConsumerAdmin*& admin ACE_ENV_ARG_DECL)
00124 {
00125   ACE_NEW_THROW_EX (admin,
00126                     TAO_Notify_ConsumerAdmin (),
00127                     CORBA::NO_MEMORY ());
00128 }
00129 
00130 void
00131 TAO_Notify_Default_Factory::create (TAO_Notify_StructuredProxyPushConsumer*& proxy ACE_ENV_ARG_DECL)
00132 {
00133   ACE_NEW_THROW_EX (proxy,
00134                     TAO_Notify_StructuredProxyPushConsumer (),
00135                     CORBA::NO_MEMORY ());
00136 }
00137 
00138 void
00139 TAO_Notify_Default_Factory::create (TAO_Notify_StructuredProxyPushSupplier*& proxy ACE_ENV_ARG_DECL)
00140 {
00141   ACE_NEW_THROW_EX (proxy,
00142                     TAO_Notify_StructuredProxyPushSupplier (),
00143                     CORBA::NO_MEMORY ());
00144 }
00145 
00146 void
00147 TAO_Notify_Default_Factory::create (TAO_Notify_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL)
00148 {
00149   ACE_NEW_THROW_EX (proxy,
00150                     TAO_Notify_ProxyPushConsumer (),
00151                     CORBA::NO_MEMORY ());
00152 }
00153 
00154 void
00155 TAO_Notify_Default_Factory::create (TAO_Notify_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL)
00156 {
00157   ACE_NEW_THROW_EX (proxy,
00158                     TAO_Notify_ProxyPushSupplier (),
00159                     CORBA::NO_MEMORY ());
00160 }
00161 
00162 void
00163 TAO_Notify_Default_Factory::create (TAO_Notify_CosEC_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL)
00164 {
00165   ACE_NEW_THROW_EX (proxy,
00166                     TAO_Notify_CosEC_ProxyPushConsumer (),
00167                     CORBA::NO_MEMORY ());
00168 }
00169 
00170 void
00171 TAO_Notify_Default_Factory::create (TAO_Notify_CosEC_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL)
00172 {
00173   ACE_NEW_THROW_EX (proxy,
00174                     TAO_Notify_CosEC_ProxyPushSupplier (),
00175                     CORBA::NO_MEMORY ());
00176 }
00177 
00178 void
00179 TAO_Notify_Default_Factory::create (TAO_Notify_SequenceProxyPushConsumer*& proxy ACE_ENV_ARG_DECL)
00180 {
00181   ACE_NEW_THROW_EX (proxy,
00182                     TAO_Notify_SequenceProxyPushConsumer (),
00183                     CORBA::NO_MEMORY ());
00184 }
00185 
00186 void
00187 TAO_Notify_Default_Factory::create (TAO_Notify_SequenceProxyPushSupplier*& proxy ACE_ENV_ARG_DECL)
00188 {
00189   ACE_NEW_THROW_EX (proxy,
00190                     TAO_Notify_SequenceProxyPushSupplier (),
00191                     CORBA::NO_MEMORY ());
00192 }
00193 
00194 TAO_END_VERSIONED_NAMESPACE_DECL
00195 
00196 ACE_FACTORY_DEFINE (TAO_Notify_Serv, TAO_Notify_Default_Factory)
00197 

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