summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Builder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Builder.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Builder.cpp426
1 files changed, 0 insertions, 426 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Builder.cpp b/TAO/orbsvcs/orbsvcs/Notify/Builder.cpp
deleted file mode 100644
index 7f260d10cca..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Builder.cpp
+++ /dev/null
@@ -1,426 +0,0 @@
-// $Id$
-#include "Builder.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "Builder.inl"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(RT_Notify, TAO_NS_Builder, "$Id$")
-
-#include "ace/Dynamic_Service.h"
-#include "tao/PortableServer/PortableServerC.h"
-#include "Factory.h"
-#include "Properties.h"
-#include "POA_Helper.h"
-#include "ID_Factory.h"
-#include "EventChannelFactory.h"
-#include "EventChannel.h"
-#include "SupplierAdmin.h"
-#include "ConsumerAdmin.h"
-#include "Event_Manager.h"
-#include "Worker_Task.h"
-#include "Reactive_Task.h"
-#include "ThreadPool_Task.h"
-#include "FilterFactory.h"
-#include "Object.h"
-#include "EventType.h"
-#include "Event.h"
-#include "Any/AnyEvent.h"
-#include "Any/ProxyPushConsumer.h"
-#include "Any/ProxyPushSupplier.h"
-#include "Any/CosEC_ProxyPushConsumer.h"
-#include "Any/CosEC_ProxyPushSupplier.h"
-#include "Structured/StructuredProxyPushConsumer.h"
-#include "Structured/StructuredProxyPushSupplier.h"
-#include "Sequence/SequenceProxyPushConsumer.h"
-#include "Sequence/SequenceProxyPushSupplier.h"
-#include "ETCL_FilterFactory.h"
-#include "Container_T.h"
-
-template <class PROXY_IMPL, class PROXY, class PROXY_PTR, class PROXY_VAR, class PARENT>
-class TAO_NS_Proxy_Builder_T
-{
-public:
- PROXY_PTR
- build (PARENT *parent, CosNotifyChannelAdmin::ProxyID_out proxy_id ACE_ENV_ARG_DECL)
- {
- PROXY_VAR proxy_ret;
-
- TAO_NS_Factory* factory = TAO_NS_PROPERTIES::instance ()->factory ();
-
- PROXY_IMPL* proxy = 0;
- factory->create (proxy ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (proxy_ret._retn ());
-
- PortableServer::ServantBase_var servant (proxy);
-
- proxy->init (parent ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (proxy_ret._retn ());
-
- CORBA::Object_var obj = proxy->activate (proxy ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (proxy_ret._retn ());
-
- proxy_id = proxy->id ();
-
- proxy_ret = PROXY::_narrow (obj.in() ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (proxy_ret._retn ());
-
- // insert proxy in admin container.
- parent->insert (proxy ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (PROXY::_nil ());
-
- return proxy_ret._retn ();
- }
-};
-
-// define the ProxyConsumer Builders.
-typedef TAO_NS_Proxy_Builder_T<TAO_NS_ProxyPushConsumer
- , CosNotifyChannelAdmin::ProxyConsumer
- , CosNotifyChannelAdmin::ProxyConsumer_ptr
- , CosNotifyChannelAdmin::ProxyConsumer_var
- , TAO_NS_SupplierAdmin>
-TAO_NS_ProxyPushConsumer_Builder;
-
-typedef TAO_NS_Proxy_Builder_T<TAO_NS_StructuredProxyPushConsumer
- , CosNotifyChannelAdmin::ProxyConsumer
- , CosNotifyChannelAdmin::ProxyConsumer_ptr
- , CosNotifyChannelAdmin::ProxyConsumer_var
- , TAO_NS_SupplierAdmin>
-TAO_NS_StructuredProxyPushConsumer_Builder;
-
-typedef TAO_NS_Proxy_Builder_T<TAO_NS_SequenceProxyPushConsumer
- , CosNotifyChannelAdmin::ProxyConsumer
- , CosNotifyChannelAdmin::ProxyConsumer_ptr
- , CosNotifyChannelAdmin::ProxyConsumer_var
- , TAO_NS_SupplierAdmin>
-TAO_NS_SequenceProxyPushConsumer_Builder;
-
-typedef TAO_NS_Proxy_Builder_T<TAO_NS_CosEC_ProxyPushConsumer
- , CosEventChannelAdmin::ProxyPushConsumer
- , CosEventChannelAdmin::ProxyPushConsumer_ptr
- , CosEventChannelAdmin::ProxyPushConsumer_var
- , TAO_NS_SupplierAdmin>
-TAO_NS_CosEC_ProxyPushConsumer_Builder;
-
-// define the ProxySupplier Builders.
-typedef TAO_NS_Proxy_Builder_T<TAO_NS_ProxyPushSupplier
- , CosNotifyChannelAdmin::ProxySupplier
- , CosNotifyChannelAdmin::ProxySupplier_ptr
- , CosNotifyChannelAdmin::ProxySupplier_var
- , TAO_NS_ConsumerAdmin>
-TAO_NS_ProxyPushSupplier_Builder;
-
-typedef TAO_NS_Proxy_Builder_T<TAO_NS_StructuredProxyPushSupplier
- , CosNotifyChannelAdmin::ProxySupplier
- , CosNotifyChannelAdmin::ProxySupplier_ptr
- , CosNotifyChannelAdmin::ProxySupplier_var
- , TAO_NS_ConsumerAdmin>
-TAO_NS_StructuredProxyPushSupplier_Builder;
-
-typedef TAO_NS_Proxy_Builder_T<TAO_NS_SequenceProxyPushSupplier
- , CosNotifyChannelAdmin::ProxySupplier
- , CosNotifyChannelAdmin::ProxySupplier_ptr
- , CosNotifyChannelAdmin::ProxySupplier_var
- , TAO_NS_ConsumerAdmin>
-TAO_NS_SequenceProxyPushSupplier_Builder;
-
-typedef TAO_NS_Proxy_Builder_T<TAO_NS_CosEC_ProxyPushSupplier
- , CosEventChannelAdmin::ProxyPushSupplier
- , CosEventChannelAdmin::ProxyPushSupplier_ptr
- , CosEventChannelAdmin::ProxyPushSupplier_var
- , TAO_NS_ConsumerAdmin>
-TAO_NS_CosEC_ProxyPushSupplier_Builder;
-
-TAO_NS_Builder::TAO_NS_Builder (void)
-{
- // Init the static members.
- TAO_NS_AnyEvent::event_type_ = TAO_NS_EventType::special ();
-}
-
-TAO_NS_Builder::~TAO_NS_Builder ()
-{
-}
-
-CosNotifyFilter::FilterFactory_ptr
-TAO_NS_Builder::build_filter_factory (ACE_ENV_SINGLE_ARG_DECL)
-{
- TAO_NS_FilterFactory* ff = ACE_Dynamic_Service<TAO_NS_FilterFactory>::instance ("TAO_NS_FilterFactory");
-
- if (ff == 0)
- {
- ACE_NEW_THROW_EX (ff,
- TAO_NS_ETCL_FilterFactory (),
- CORBA::NO_MEMORY ());
- ACE_CHECK_RETURN (CosNotifyFilter::FilterFactory::_nil ());
- }
-
- PortableServer::POA_var default_poa = TAO_NS_PROPERTIES::instance ()->default_poa ();
-
- return ff->create (default_poa ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotifyChannelAdmin::EventChannelFactory_ptr
-TAO_NS_Builder::build_event_channel_factory (PortableServer::POA_ptr poa ACE_ENV_ARG_DECL)
-{
- CosNotifyChannelAdmin::EventChannelFactory_var ecf_ret;
-
- TAO_NS_Factory* factory = TAO_NS_PROPERTIES::instance ()->factory ();
-
- // Create ECF
- TAO_NS_EventChannelFactory* ecf = 0;
- factory->create (ecf ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ecf_ret._retn ());
-
- PortableServer::ServantBase_var servant_var (ecf);
-
- ecf->TAO_NS_EventChannelFactory::init (poa ACE_ENV_ARG_PARAMETER);
-
- CORBA::Object_var obj = ecf->activate (ecf ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ecf_ret._retn ());
-
- ecf_ret = CosNotifyChannelAdmin::EventChannelFactory::_narrow (obj.in() ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ecf_ret._retn ());
-
- return (ecf_ret._retn ());
-}
-
-CosNotifyChannelAdmin::EventChannel_ptr
-TAO_NS_Builder::build_event_channel (TAO_NS_EventChannelFactory* ecf, const CosNotification::QoSProperties & initial_qos, const CosNotification::AdminProperties & initial_admin, CosNotifyChannelAdmin::ChannelID_out id ACE_ENV_ARG_DECL)
-{
- CosNotifyChannelAdmin::EventChannel_var ec_ret;
-
- TAO_NS_Factory* factory = TAO_NS_PROPERTIES::instance ()->factory ();
-
- TAO_NS_EventChannel* ec = 0;
- factory->create (ec ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ec_ret._retn ());
-
- PortableServer::ServantBase_var servant_var (ec);
-
- ec->init (ecf, initial_qos, initial_admin ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ec_ret._retn ());
-
- // insert ec in ec container.
- ecf->ec_container_->insert (ec ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ec_ret._retn ());
-
- CORBA::Object_var obj = ec->activate (ec ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ec_ret._retn ());
-
- // Populate the ID to return.
- id = ec->id ();
-
- ec_ret = CosNotifyChannelAdmin::EventChannel::_narrow (obj.in() ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ec_ret._retn ());
-
- return ec_ret._retn ();
-}
-
-CosNotifyChannelAdmin::ConsumerAdmin_ptr
-TAO_NS_Builder::build_consumer_admin (TAO_NS_EventChannel* ec, CosNotifyChannelAdmin::InterFilterGroupOperator op, CosNotifyChannelAdmin::AdminID_out id ACE_ENV_ARG_DECL)
-{
- CosNotifyChannelAdmin::ConsumerAdmin_var ca_ret;
-
- TAO_NS_Factory* factory = TAO_NS_PROPERTIES::instance ()->factory ();
-
- TAO_NS_ConsumerAdmin* ca = 0;
- factory->create (ca ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ca_ret._retn ());
-
- PortableServer::ServantBase_var servant_var (ca);
-
- ca->init (ec ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ca_ret._retn ());
-
- ca->filter_operator (op);
-
- CORBA::Object_var obj = ca->activate (ca ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ca_ret._retn ());
-
- id = ca->id ();
-
- ca_ret = CosNotifyChannelAdmin::ConsumerAdmin::_narrow (obj.in() ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ca_ret._retn ());
-
- // insert admin in CA container.
- ec->ca_container_->insert (ca ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (ca_ret._retn ());
-
- return ca_ret._retn ();
-}
-
-CosNotifyChannelAdmin::SupplierAdmin_ptr
-TAO_NS_Builder::build_supplier_admin (TAO_NS_EventChannel* ec, CosNotifyChannelAdmin::InterFilterGroupOperator op, CosNotifyChannelAdmin::AdminID_out id ACE_ENV_ARG_DECL)
-{
- CosNotifyChannelAdmin::SupplierAdmin_var sa_ret;
-
- TAO_NS_Factory* factory = TAO_NS_PROPERTIES::instance ()->factory ();
-
- TAO_NS_SupplierAdmin* sa = 0;
- factory->create (sa ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (sa_ret._retn ());
-
- PortableServer::ServantBase_var servant_var (sa);
-
- sa->init (ec ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (sa_ret._retn ());
-
- sa->filter_operator (op);
-
- CORBA::Object_var obj = sa->activate (sa ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (sa_ret._retn ());
-
- id = sa->id ();
-
- sa_ret = CosNotifyChannelAdmin::SupplierAdmin::_narrow (obj.in() ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (sa_ret._retn ());
-
- // insert admin in SA container.
- ec->sa_container_->insert (sa ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (sa_ret._retn ());
-
- return sa_ret._retn ();
-}
-
-CosNotifyChannelAdmin::ProxyConsumer_ptr
-TAO_NS_Builder::build_proxy(TAO_NS_SupplierAdmin* sa
- , CosNotifyChannelAdmin::ClientType ctype
- , CosNotifyChannelAdmin::ProxyID_out proxy_id
- ACE_ENV_ARG_DECL)
-{
- switch (ctype)
- {
- case CosNotifyChannelAdmin::ANY_EVENT:
- {
- TAO_NS_ProxyPushConsumer_Builder pb;
- return pb.build (sa, proxy_id ACE_ENV_ARG_PARAMETER);
- }
- break;
-
- case CosNotifyChannelAdmin::STRUCTURED_EVENT:
- {
- TAO_NS_StructuredProxyPushConsumer_Builder pb;
- return pb.build (sa, proxy_id ACE_ENV_ARG_PARAMETER);
- }
- break;
-
- case CosNotifyChannelAdmin::SEQUENCE_EVENT:
- {
- TAO_NS_SequenceProxyPushConsumer_Builder pb;
- return pb.build (sa, proxy_id ACE_ENV_ARG_PARAMETER);
- }
- break;
-
- default:
- ACE_THROW_RETURN (CORBA::BAD_PARAM (),
- CosNotifyChannelAdmin::ProxyConsumer::_nil ());
- }
-}
-
-CosNotifyChannelAdmin::ProxySupplier_ptr
-TAO_NS_Builder::build_proxy(TAO_NS_ConsumerAdmin* ca
- , CosNotifyChannelAdmin::ClientType ctype
- , CosNotifyChannelAdmin::ProxyID_out proxy_id
- ACE_ENV_ARG_DECL)
-{
- switch (ctype)
- {
- case CosNotifyChannelAdmin::ANY_EVENT:
- {
- TAO_NS_ProxyPushSupplier_Builder pb;
- return pb.build (ca, proxy_id ACE_ENV_ARG_PARAMETER);
- }
- break;
-
- case CosNotifyChannelAdmin::STRUCTURED_EVENT:
- {
- TAO_NS_StructuredProxyPushSupplier_Builder pb;
- return pb.build (ca, proxy_id ACE_ENV_ARG_PARAMETER);
- }
- break;
-
- case CosNotifyChannelAdmin::SEQUENCE_EVENT:
- {
- TAO_NS_SequenceProxyPushSupplier_Builder pb;
- return pb.build (ca, proxy_id ACE_ENV_ARG_PARAMETER);
- }
- break;
-
- default:
- ACE_THROW_RETURN (CORBA::BAD_PARAM (),
- CosNotifyChannelAdmin::ProxySupplier::_nil ());
- }
-}
-
-CosEventChannelAdmin::ProxyPushSupplier_ptr
-TAO_NS_Builder::build_proxy (TAO_NS_ConsumerAdmin* ca ACE_ENV_ARG_DECL)
-{
- CosNotifyChannelAdmin::ProxyID proxy_id;
-
- TAO_NS_CosEC_ProxyPushSupplier_Builder pb;
-
- return pb.build (ca, proxy_id ACE_ENV_ARG_PARAMETER);
-}
-
-CosEventChannelAdmin::ProxyPushConsumer_ptr
-TAO_NS_Builder::build_proxy (TAO_NS_SupplierAdmin* sa ACE_ENV_ARG_DECL)
-{
- CosNotifyChannelAdmin::ProxyID proxy_id;
-
- TAO_NS_CosEC_ProxyPushConsumer_Builder pb;
-
- return pb.build (sa, proxy_id ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_NS_Builder::apply_reactive_concurrency (TAO_NS_Object& object ACE_ENV_ARG_DECL)
-{
- TAO_NS_Reactive_Task* worker_task;
-
- ACE_NEW_THROW_EX (worker_task,
- TAO_NS_Reactive_Task (),
- CORBA::NO_MEMORY ());
- ACE_CHECK;
-
- worker_task->init (object.admin_properties_ ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- object.worker_task_own (worker_task);
-
- object.worker_task_->_decr_refcnt ();
-}
-
-void
-TAO_NS_Builder::apply_thread_pool_concurrency (TAO_NS_Object& object, const NotifyExt::ThreadPoolParams& tp_params ACE_ENV_ARG_DECL)
-{
- TAO_NS_ThreadPool_Task* worker_task;
-
- ACE_NEW_THROW_EX (worker_task,
- TAO_NS_ThreadPool_Task (),
- CORBA::NO_MEMORY ());
- ACE_CHECK;
-
- worker_task->init (tp_params, object.admin_properties_ ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- object.worker_task_own (worker_task);
-
- object.worker_task_->_decr_refcnt ();
-}
-
-void
-TAO_NS_Builder::apply_lane_concurrency (TAO_NS_Object& object, const NotifyExt::ThreadPoolLanesParams& /*tpl_params*/ ACE_ENV_ARG_DECL)
-{
- // No lane support
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class ACE_Dynamic_Service<TAO_NS_FilterFactory>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Dynamic_Service<TAO_NS_FilterFactory>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */