diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp | 379 |
1 files changed, 0 insertions, 379 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp deleted file mode 100644 index c816c90acd0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp +++ /dev/null @@ -1,379 +0,0 @@ -// $Id$ - -#include "EventChannel.h" - -#if ! defined (__ACE_INLINE__) -#include "EventChannel.inl" -#endif /* __ACE_INLINE__ */ - -#include "Container_T.h" -#include "EventChannelFactory.h" -#include "ConsumerAdmin.h" -#include "SupplierAdmin.h" -#include "Event_Manager.h" -#include "Properties.h" -#include "Factory.h" -#include "Builder.h" -#include "Find_Worker_T.h" -#include "Seq_Worker_T.h" - -ACE_RCSID(RT_Notify, TAO_NS_EventChannel, "$Id$") - -TAO_NS_EventChannel::TAO_NS_EventChannel (void) - : ecf_ (0) - , ca_container_ (0) - , sa_container_ (0) -{ -} - -TAO_NS_EventChannel::~TAO_NS_EventChannel () -{ - delete this->event_manager_; // The EventChannel always owns the EventManager. - - this->ecf_->_decr_refcnt (); -} - -void -TAO_NS_EventChannel::init (TAO_NS_EventChannelFactory* ecf - , const CosNotification::QoSProperties & initial_qos - , const CosNotification::AdminProperties & initial_admin - ACE_ENV_ARG_DECL) -{ - this->TAO_NS_Object::init (ecf); - - this->ecf_ = ecf; - - this->ecf_->_incr_refcnt (); - - // Init ca_container_ - ACE_NEW_THROW_EX (this->ca_container_, - TAO_NS_ConsumerAdmin_Container (), - CORBA::INTERNAL ()); - ACE_CHECK; - - this->ca_container_->init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Init ca_container_ - ACE_NEW_THROW_EX (this->sa_container_, - TAO_NS_SupplierAdmin_Container (), - CORBA::INTERNAL ()); - ACE_CHECK; - - this->sa_container_->init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO_NS_AdminProperties* admin_properties = 0; - - // Set the admin properties. - ACE_NEW_THROW_EX (admin_properties, - TAO_NS_AdminProperties (), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - this->admin_properties_ = admin_properties; - - // create the event manager. @@ use factory - ACE_NEW_THROW_EX (this->event_manager_, - TAO_NS_Event_Manager (), - CORBA::INTERNAL ()); - ACE_CHECK; - - this->event_manager_->init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - const CosNotification::QoSProperties &default_ec_qos = - TAO_NS_PROPERTIES::instance ()->default_event_channel_qos_properties (); - - this->set_qos (default_ec_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->set_qos (initial_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->set_admin (initial_admin ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosNotifyChannelAdmin::AdminID id; - - // Set the default ConsumerAdmin. - this->default_consumer_admin_ = this->new_for_consumers (CosNotifyChannelAdmin::OR_OP, id ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Set the default SupplierAdmin. - this->default_supplier_admin_ = this->new_for_suppliers (CosNotifyChannelAdmin::OR_OP, id ACE_ENV_ARG_PARAMETER); -} - -void -TAO_NS_EventChannel::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_NS_EventChannel::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -void -TAO_NS_EventChannel::release (void) -{ - delete this; - //@@ inform factory -} - -int -TAO_NS_EventChannel::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - if (TAO_NS_Object::shutdown (ACE_ENV_SINGLE_ARG_PARAMETER) == 1) - return 1; - - this->ca_container_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - - this->sa_container_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - - delete this->ca_container_; - delete this->sa_container_; - - this->event_manager_->shutdown (); - - return 0; -} - -void -TAO_NS_EventChannel::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - if (this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER) == 1) - return; - - ACE_CHECK; - - this->ecf_->remove (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_NS_EventChannel::remove (TAO_NS_ConsumerAdmin* consumer_admin ACE_ENV_ARG_DECL) -{ - this->ca_container_->remove (consumer_admin ACE_ENV_ARG_PARAMETER); -} - -void -TAO_NS_EventChannel::remove (TAO_NS_SupplierAdmin* supplier_admin ACE_ENV_ARG_DECL) -{ - this->sa_container_->remove (supplier_admin ACE_ENV_ARG_PARAMETER); -} - -void -TAO_NS_EventChannel::set_qos (const CosNotification::QoSProperties & qos ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotification::UnsupportedQoS - )) -{ - this->TAO_NS_Object::set_qos (qos ACE_ENV_ARG_PARAMETER); -} - -CosNotification::QoSProperties* -TAO_NS_EventChannel::get_qos (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->TAO_NS_Object::get_qos (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::EventChannelFactory_ptr -TAO_NS_EventChannel::MyFactory (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->ecf_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ConsumerAdmin_ptr -TAO_NS_EventChannel::default_consumer_admin (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return CosNotifyChannelAdmin::ConsumerAdmin::_duplicate (this->default_consumer_admin_.in ()); -} - -CosNotifyChannelAdmin::SupplierAdmin_ptr -TAO_NS_EventChannel::default_supplier_admin (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return CosNotifyChannelAdmin::SupplierAdmin::_duplicate (this->default_supplier_admin_.in ()); -} - -::CosNotifyFilter::FilterFactory_ptr TAO_NS_EventChannel::default_filter_factory (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->ecf_->get_default_filter_factory (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -::CosNotifyChannelAdmin::ConsumerAdmin_ptr -TAO_NS_EventChannel::new_for_consumers (CosNotifyChannelAdmin::InterFilterGroupOperator op, - CosNotifyChannelAdmin::AdminID_out id ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) - -{ - return TAO_NS_PROPERTIES::instance()->builder()->build_consumer_admin (this, op, id ACE_ENV_ARG_PARAMETER); -} - -::CosNotifyChannelAdmin::SupplierAdmin_ptr -TAO_NS_EventChannel::new_for_suppliers (CosNotifyChannelAdmin::InterFilterGroupOperator op, - CosNotifyChannelAdmin::AdminID_out id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return TAO_NS_PROPERTIES::instance()->builder()->build_supplier_admin (this, op, id ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ConsumerAdmin_ptr -TAO_NS_EventChannel::get_consumeradmin (CosNotifyChannelAdmin::AdminID id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::AdminNotFound - )) -{ - TAO_NS_Find_Worker_T<TAO_NS_ConsumerAdmin - , CosNotifyChannelAdmin::ConsumerAdmin - , CosNotifyChannelAdmin::ConsumerAdmin_ptr - , CosNotifyChannelAdmin::AdminNotFound> find_worker; - - return find_worker.resolve (id, *this->ca_container_ ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::SupplierAdmin_ptr -TAO_NS_EventChannel::get_supplieradmin (CosNotifyChannelAdmin::AdminID id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::AdminNotFound - )) -{ - TAO_NS_Find_Worker_T<TAO_NS_SupplierAdmin - , CosNotifyChannelAdmin::SupplierAdmin - , CosNotifyChannelAdmin::SupplierAdmin_ptr - , CosNotifyChannelAdmin::AdminNotFound> find_worker; - - return find_worker.resolve (id, *this->sa_container_ ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::AdminIDSeq* -TAO_NS_EventChannel::get_all_consumeradmins (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_NS_Seq_Worker_T<TAO_NS_ConsumerAdmin> seq_worker; - - return seq_worker.create (*this->ca_container_ ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::AdminIDSeq* -TAO_NS_EventChannel::get_all_supplieradmins (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_NS_Seq_Worker_T<TAO_NS_SupplierAdmin> seq_worker; - - return seq_worker.create (*this->sa_container_ ACE_ENV_ARG_PARAMETER); -} - -void -TAO_NS_EventChannel::set_admin (const CosNotification::AdminProperties & admin ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotification::UnsupportedAdmin - )) -{ - this->admin_properties_->init (admin); -} - -CosNotification::AdminProperties* -TAO_NS_EventChannel::get_admin (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - CosNotification::AdminProperties_var properties; - - ACE_NEW_THROW_EX (properties, - CosNotification::AdminProperties (), - CORBA::NO_MEMORY ()); - - this->admin_properties_->populate (properties); - - return properties._retn (); -} - -CosEventChannelAdmin::ConsumerAdmin_ptr -TAO_NS_EventChannel::for_consumers (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return CosEventChannelAdmin::ConsumerAdmin::_duplicate (this->default_consumer_admin_.in ()); -} - -CosEventChannelAdmin::SupplierAdmin_ptr -TAO_NS_EventChannel::for_suppliers (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return CosEventChannelAdmin::SupplierAdmin::_duplicate (this->default_supplier_admin_.in ()); -} - -void -TAO_NS_EventChannel::validate_qos (const CosNotification::QoSProperties & /*required_qos*/, - CosNotification::NamedPropertyRangeSeq_out /*available_qos*/ - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotification::UnsupportedQoS - )) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) - -template class TAO_NS_Find_Worker_T<TAO_NS_ConsumerAdmin>; -template class TAO_NS_Find_Worker_T<TAO_NS_SupplierAdmin>; -template class TAO_NS_Seq_Worker_T<TAO_NS_ConsumerAdmin>; -template class TAO_NS_Seq_Worker_T<TAO_NS_SupplierAdmin>; -template class TAO_NS_Container_T <TAO_NS_ConsumerAdmin>; -template class TAO_NS_Container_T <TAO_NS_SupplierAdmin>; - -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) - -#pragma instantiate TAO_NS_Find_Worker_T<TAO_NS_ConsumerAdmin> -#pragma instantiate TAO_NS_Find_Worker_T<TAO_NS_SupplierAdmin> -#pragma instantiate TAO_NS_Seq_Worker_T<TAO_NS_ConsumerAdmin> -#pragma instantiate TAO_NS_Seq_Worker_T<TAO_NS_SupplierAdmin> -#pragma instantiate TAO_NS_Container_T <TAO_NS_ConsumerAdmin> -#pragma instantiate TAO_NS_Container_T <TAO_NS_SupplierAdmin> - -#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ |