#include <ConsumerAdmin.h>
Inheritance diagram for TAO_Notify_ConsumerAdmin:


Public Types | |
| typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_ConsumerAdmin > | Ptr |
Public Member Functions | |
| TAO_Notify_ConsumerAdmin (void) | |
| Constuctor. | |
| virtual | ~TAO_Notify_ConsumerAdmin () |
| Destructor. | |
| void | init (TAO_Notify_EventChannel *ec) |
| Init. | |
| virtual void | _add_ref () |
| ServantBase refcount methods. | |
| virtual void | _remove_ref () |
| virtual const char * | get_admin_type_name () const |
| virtual TAO_Notify::Topology_Object * | load_child (const ACE_CString &type, CORBA::Long id, const TAO_Notify::NVPList &attrs) |
| TAO_Notify_ProxySupplier * | find_proxy_supplier (TAO_Notify::IdVec &id_path, size_t position) |
Protected Member Functions | |
| TAO_Notify::Topology_Object * | load_proxy (CORBA::Long id, CosNotifyChannelAdmin::ClientType ctype, const TAO_Notify::NVPList &attrs) |
| virtual CosNotifyChannelAdmin::ProxySupplier_ptr | obtain_notification_push_supplier_with_qos (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id, const CosNotification::QoSProperties &initial_qos) throw ( CORBA::SystemException , CosNotifyChannelAdmin::AdminLimitExceeded , CosNotification::UnsupportedQoS ) |
| = NotifyExt::ConsumerAdmin methods | |
| virtual CosNotifyChannelAdmin::AdminID | MyID () throw ( CORBA::SystemException ) |
| = CosNotifyChannelAdmin::ConsumerAdmin methods | |
| virtual::CosNotifyChannelAdmin::EventChannel_ptr | MyChannel () throw ( CORBA::SystemException ) |
| virtual::CosNotifyChannelAdmin::InterFilterGroupOperator | MyOperator () throw ( CORBA::SystemException ) |
| virtual::CosNotifyFilter::MappingFilter_ptr | priority_filter () throw ( CORBA::SystemException ) |
| virtual void | priority_filter (CosNotifyFilter::MappingFilter_ptr priority_filter) throw ( CORBA::SystemException ) |
| virtual::CosNotifyFilter::MappingFilter_ptr | lifetime_filter () throw ( CORBA::SystemException ) |
| virtual void | lifetime_filter (CosNotifyFilter::MappingFilter_ptr lifetime_filter) throw ( CORBA::SystemException ) |
| virtual::CosNotifyChannelAdmin::ProxyIDSeq * | pull_suppliers () throw ( CORBA::SystemException ) |
| virtual::CosNotifyChannelAdmin::ProxyIDSeq * | push_suppliers () throw ( CORBA::SystemException ) |
| virtual::CosNotifyChannelAdmin::ProxySupplier_ptr | get_proxy_supplier (CosNotifyChannelAdmin::ProxyID proxy_id) throw ( CORBA::SystemException , CosNotifyChannelAdmin::ProxyNotFound ) |
| virtual::CosNotifyChannelAdmin::ProxySupplier_ptr | obtain_notification_pull_supplier (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id) throw ( CORBA::SystemException , CosNotifyChannelAdmin::AdminLimitExceeded ) |
| virtual::CosNotifyChannelAdmin::ProxySupplier_ptr | obtain_notification_push_supplier (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id) throw ( CORBA::SystemException , CosNotifyChannelAdmin::AdminLimitExceeded ) |
| virtual void | destroy () throw ( CORBA::SystemException ) |
| virtual::CosNotification::QoSProperties * | get_qos () throw ( CORBA::SystemException ) |
| Get the QoS Properties. | |
| virtual void | set_qos (const CosNotification::QoSProperties &qos) throw ( CORBA::SystemException , CosNotification::UnsupportedQoS ) |
| Set the QoS Properties. | |
| virtual void | validate_qos (const CosNotification::QoSProperties &required_qos, CosNotification::NamedPropertyRangeSeq_out available_qos) throw ( CORBA::SystemException , CosNotification::UnsupportedQoS ) |
| virtual void | subscription_change (const CosNotification::EventTypeSeq &added, const CosNotification::EventTypeSeq &removed) throw ( CORBA::SystemException , CosNotifyComm::InvalidEventType ) |
| virtual CosNotifyFilter::FilterID | add_filter (CosNotifyFilter::Filter_ptr new_filter) throw ( CORBA::SystemException ) |
| virtual void | remove_filter (CosNotifyFilter::FilterID filter) throw ( CORBA::SystemException , CosNotifyFilter::FilterNotFound ) |
| virtual::CosNotifyFilter::Filter_ptr | get_filter (CosNotifyFilter::FilterID filter) throw ( CORBA::SystemException , CosNotifyFilter::FilterNotFound ) |
| virtual::CosNotifyFilter::FilterIDSeq * | get_all_filters () throw ( CORBA::SystemException ) |
| virtual void | remove_all_filters () throw ( CORBA::SystemException ) |
| virtual::CosEventChannelAdmin::ProxyPushSupplier_ptr | obtain_push_supplier () throw ( CORBA::SystemException ) |
| virtual::CosEventChannelAdmin::ProxyPullSupplier_ptr | obtain_pull_supplier () throw ( CORBA::SystemException ) |
Private Member Functions | |
| virtual void | release (void) |
| Release this object. | |
Definition at line 41 of file ConsumerAdmin.h.
|
|
Reimplemented from TAO_Notify_Refcountable. Definition at line 45 of file ConsumerAdmin.h. |
|
|
Constuctor.
Definition at line 40 of file ConsumerAdmin.cpp.
00041 : TAO_Notify_Admin () 00042 { 00043 } |
|
|
Destructor.
Definition at line 53 of file ConsumerAdmin.cpp.
00054 {
00055 }
|
|
|
ServantBase refcount methods.
Definition at line 71 of file ConsumerAdmin.cpp. References TAO_Notify_Refcountable::_incr_refcnt().
00072 {
00073 this->_incr_refcnt ();
00074 }
|
|
|
Definition at line 77 of file ConsumerAdmin.cpp. References TAO_Notify_Refcountable::_decr_refcnt().
00078 {
00079 this->_decr_refcnt ();
00080 }
|
|
|
Definition at line 335 of file ConsumerAdmin.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, and CosNotifyFilter::FilterID.
00339 {
00340 CosNotifyFilter::FilterID fid =
00341 this->filter_admin_.add_filter (new_filter ACE_ENV_ARG_PARAMETER);
00342 ACE_CHECK_RETURN (fid);
00343 this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER);
00344 ACE_CHECK_RETURN (fid);
00345 return fid;
00346 }
|
|
|
Definition at line 90 of file ConsumerAdmin.cpp. References ACE_CHECK, ACE_ENV_ARG_PARAMETER, and ACE_ENV_SINGLE_ARG_PARAMETER.
|
|
||||||||||||
|
Definition at line 471 of file ConsumerAdmin.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, TAO_Notify::IdVec, ACE_Vector< T, DEFAULT_SIZE >::size(), TAO_Notify_Proxy, and TAO_Notify_ProxySupplier_Find_Worker. Referenced by TAO_Notify_EventChannel::find_proxy_supplier().
00475 {
00476 TAO_Notify_ProxySupplier * result = 0;
00477 size_t path_size = id_path.size ();
00478 if (position < path_size)
00479 {
00480 TAO_Notify_ProxySupplier_Find_Worker find_worker;
00481 TAO_Notify_Proxy * proxy = find_worker.find (id_path[position], this->proxy_container() ACE_ENV_ARG_PARAMETER);
00482 ACE_CHECK_RETURN (0);
00483 result = dynamic_cast <TAO_Notify_ProxySupplier *> (proxy);
00484 }
00485 return result;
00486 }
|
|
|
Implements TAO_Notify_Admin. Definition at line 46 of file ConsumerAdmin.cpp.
00047 {
00048 return "consumer_admin";
00049 }
|
|
|
Definition at line 369 of file ConsumerAdmin.cpp. References ACE_ENV_SINGLE_ARG_PARAMETER.
00373 {
00374 return this->filter_admin_.get_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
00375 }
|
|
|
Definition at line 359 of file ConsumerAdmin.cpp. References ACE_ENV_ARG_PARAMETER, and CosNotifyFilter::FilterID.
00364 {
00365 return this->filter_admin_.get_filter (filter ACE_ENV_ARG_PARAMETER);
00366 }
|
|
|
Definition at line 275 of file ConsumerAdmin.cpp. References ACE_ENV_ARG_PARAMETER, CosNotifyChannelAdmin::ProxyID, and TAO_Notify_ProxySupplier_Find_Worker.
00280 {
00281 TAO_Notify_ProxySupplier_Find_Worker find_worker;
00282
00283 return find_worker.resolve (proxy_id, this->proxy_container() ACE_ENV_ARG_PARAMETER);
00284 }
|
|
|
Get the QoS Properties.
Reimplemented from TAO_Notify_Object. Definition at line 297 of file ConsumerAdmin.cpp. References ACE_ENV_SINGLE_ARG_PARAMETER, and TAO_Notify_Object::get_qos().
00301 {
00302 return this->TAO_Notify_Object::get_qos (ACE_ENV_SINGLE_ARG_PARAMETER);
00303 }
|
|
|
Init.
Definition at line 58 of file ConsumerAdmin.cpp. References ACE_CHECK, ACE_ENV_ARG_PARAMETER, TAO_Notify_Admin::init(), TAO_Singleton< TYPE, ACE_LOCK >::instance(), CosNotification::QoSProperties, and set_qos(). Referenced by TAO_Notify_Builder::build_consumer_admin().
00059 {
00060 TAO_Notify_Admin::init (ec ACE_ENV_ARG_PARAMETER);
00061 ACE_CHECK;
00062
00063 const CosNotification::QoSProperties &default_ca_qos =
00064 TAO_Notify_PROPERTIES::instance ()->default_consumer_admin_qos_properties ();
00065
00066 this->set_qos (default_ca_qos ACE_ENV_ARG_PARAMETER);
00067 ACE_CHECK;
00068 }
|
|
|
Definition at line 418 of file ConsumerAdmin.cpp. References ACE_THROW.
00422 {
00423 ACE_THROW (CORBA::NO_IMPLEMENT ());
00424 }
|
|
|
Definition at line 408 of file ConsumerAdmin.cpp. References ACE_THROW_RETURN.
00413 {
00414 ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CosNotifyFilter::MappingFilter::_nil ());
00415 }
|
|
||||||||||||||||
|
Reimplemented from TAO_Notify_Admin. Definition at line 106 of file ConsumerAdmin.cpp. References ACE_CHECK_RETURN, ACE_DEBUG, ACE_ENV_ARG_PARAMETER, ACE_TEXT(), DEBUG_LEVEL, LM_DEBUG, TAO_Notify_Admin::load_child(), and load_proxy().
00108 {
00109 TAO_Notify::Topology_Object* result = this;
00110 if (type == "proxy_push_supplier")
00111 {
00112 if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
00113 ACE_TEXT ("(%P|%t) Admin reload proxy %d\n")
00114 , static_cast<int> (id)
00115 ));
00116 result = this->load_proxy(id, CosNotifyChannelAdmin::ANY_EVENT, attrs ACE_ENV_ARG_PARAMETER);
00117 ACE_CHECK_RETURN (0);
00118 }
00119 else if (type == "structured_proxy_push_supplier")
00120 {
00121 if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
00122 ACE_TEXT ("(%P|%t) Admin reload proxy %d\n")
00123 , static_cast<int> (id)
00124 ));
00125 result = this->load_proxy(id, CosNotifyChannelAdmin::STRUCTURED_EVENT, attrs ACE_ENV_ARG_PARAMETER);
00126 ACE_CHECK_RETURN (0);
00127 }
00128 else if (type == "sequence_proxy_push_supplier")
00129 {
00130 if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
00131 ACE_TEXT ("(%P|%t) Admin reload proxy %d\n")
00132 , static_cast<int> (id)
00133 ));
00134 result = this->load_proxy(id, CosNotifyChannelAdmin::SEQUENCE_EVENT, attrs ACE_ENV_ARG_PARAMETER);
00135 ACE_CHECK_RETURN (0);
00136 }
00137 #if 0
00138 else if (type == "ec_proxy_push_supplier")
00139 {
00140 if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
00141 ACE_TEXT ("(%P|%t) Admin reload proxy %d\n")
00142 , static_cast<int> (id)
00143 ));
00144 result = this->load_proxy(id, attrs ACE_ENV_ARG_PARAMETER);
00145 ACE_CHECK_RETURN (0);
00146 }
00147 #endif
00148 else
00149 {
00150 result = TAO_Notify_Admin::load_child (type, id, attrs ACE_ENV_ARG_PARAMETER);
00151 ACE_CHECK_RETURN (0);
00152 }
00153 return result;
00154 }
|
|
||||||||||||||||
|
Definition at line 157 of file ConsumerAdmin.cpp. References ACE_ASSERT, ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, TAO_Notify_Builder::build_proxy(), TAO_Singleton< TYPE, ACE_LOCK >::instance(), and TAO_Notify_Object::load_attrs(). Referenced by load_child().
00161 {
00162 TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder();
00163 TAO_Notify_ProxySupplier * proxy =
00164 bld->build_proxy (this
00165 , ctype
00166 , id
00167 ACE_ENV_ARG_PARAMETER);
00168 ACE_CHECK_RETURN(0);
00169 ACE_ASSERT(proxy != 0);
00170 proxy->load_attrs (attrs);
00171 return proxy;
00172 }
|
|
|
Definition at line 246 of file ConsumerAdmin.cpp. References ACE_ENV_SINGLE_ARG_PARAMETER.
00250 {
00251 return this->ec_->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
00252 }
|
|
|
= CosNotifyChannelAdmin::ConsumerAdmin methods
Definition at line 237 of file ConsumerAdmin.cpp.
00241 {
00242 return this->id ();
00243 }
|
|
|
Definition at line 255 of file ConsumerAdmin.cpp.
00259 {
00260 return this->filter_operator_;
00261 }
|
|
||||||||||||
|
Definition at line 436 of file ConsumerAdmin.cpp. References ACE_THROW_RETURN.
00444 {
00445 ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CosNotifyChannelAdmin::ProxySupplier::_nil ());
00446 }
|
|
||||||||||||
|
Definition at line 175 of file ConsumerAdmin.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, TAO_Singleton< TYPE, ACE_LOCK >::instance(), and CosNotification::QoSProperties.
00183 {
00184 CosNotification::QoSProperties initial_qos;
00185
00186 CosNotifyChannelAdmin::ProxySupplier_var proxy =
00187 TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this
00188 , ctype
00189 , proxy_id
00190 , initial_qos
00191 ACE_ENV_ARG_PARAMETER);
00192 ACE_CHECK_RETURN (proxy._retn ());
00193 this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER);
00194 ACE_CHECK_RETURN (proxy._retn ());
00195 return proxy._retn ();
00196 }
|
|
||||||||||||||||
|
= NotifyExt::ConsumerAdmin methods
Definition at line 199 of file ConsumerAdmin.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, TAO_Singleton< TYPE, ACE_LOCK >::instance(), and CosNotification::QoSProperties.
00209 {
00210 CosNotifyChannelAdmin::ProxySupplier_var proxy =
00211 TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this
00212 , ctype
00213 , proxy_id
00214 , initial_qos
00215 ACE_ENV_ARG_PARAMETER);
00216 ACE_CHECK_RETURN (proxy._retn ());
00217 this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER);
00218 ACE_CHECK_RETURN (proxy._retn ());
00219 return proxy._retn ();
00220 }
|
|
|
Definition at line 462 of file ConsumerAdmin.cpp. References ACE_THROW_RETURN.
00466 {
00467 ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CosEventChannelAdmin::ProxyPullSupplier::_nil ());
00468 }
|
|
|
Definition at line 223 of file ConsumerAdmin.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, and TAO_Singleton< TYPE, ACE_LOCK >::instance().
00227 {
00228 CosEventChannelAdmin::ProxyPushSupplier_var proxy =
00229 TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this ACE_ENV_ARG_PARAMETER);
00230 ACE_CHECK_RETURN (proxy._retn ());
00231 this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER);
00232 ACE_CHECK_RETURN (proxy._retn ());
00233 return proxy._retn ();
00234 }
|
|
|
Definition at line 398 of file ConsumerAdmin.cpp. References ACE_THROW.
00403 {
00404 ACE_THROW (CORBA::NO_IMPLEMENT ());
00405 }
|
|
|
Definition at line 389 of file ConsumerAdmin.cpp. References ACE_THROW_RETURN.
00393 {
00394 ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CosNotifyFilter::MappingFilter::_nil ());
00395 }
|
|
|
Definition at line 427 of file ConsumerAdmin.cpp. References ACE_THROW_RETURN.
00431 {
00432 ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
00433 }
|
|
|
Definition at line 264 of file ConsumerAdmin.cpp. References ACE_ENV_ARG_PARAMETER, TAO_Notify_Seq_Worker_T< TYPE >::create(), and TAO_Notify_Proxy_Seq_Worker.
00268 {
00269 TAO_Notify_Proxy_Seq_Worker seq_worker;
00270
00271 return seq_worker.create (this->proxy_container() ACE_ENV_ARG_PARAMETER);
00272 }
|
|
|
Release this object.
Implements TAO_Notify_Refcountable. Definition at line 83 of file ConsumerAdmin.cpp.
00084 {
00085 delete this;
00086 //@@ inform factory
00087 }
|
|
|
Definition at line 378 of file ConsumerAdmin.cpp. References ACE_ENV_SINGLE_ARG_PARAMETER.
00382 {
00383 this->filter_admin_.remove_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
00384 }
|
|
|
Definition at line 349 of file ConsumerAdmin.cpp. References ACE_ENV_ARG_PARAMETER, and CosNotifyFilter::FilterID.
00354 {
00355 this->filter_admin_.remove_filter (filter ACE_ENV_ARG_PARAMETER);
00356 }
|
|
|
Set the QoS Properties.
Reimplemented from TAO_Notify_Object. Definition at line 286 of file ConsumerAdmin.cpp. References ACE_ENV_ARG_PARAMETER, CosNotification::QoSProperties, and TAO_Notify_Object::set_qos(). Referenced by init().
00291 {
00292 this->TAO_Notify_Object::set_qos (qos ACE_ENV_ARG_PARAMETER);
00293 }
|
|
||||||||||||
|
Definition at line 306 of file ConsumerAdmin.cpp. References ACE_CHECK, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, ACE_GUARD_THROW_EX, CosNotification::EventTypeSeq, and TAO_SYNCH_MUTEX.
00314 {
00315 TAO_Notify_EventTypeSeq seq_added (added);
00316 TAO_Notify_EventTypeSeq seq_removed (removed);
00317
00318 {
00319 ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_,
00320 CORBA::INTERNAL ());
00321 ACE_CHECK;
00322
00323 this->subscribed_types_.add_and_remove (seq_added, seq_removed);
00324
00325 TAO_Notify_Subscription_Change_Worker worker (added, removed);
00326
00327 this->proxy_container().collection()->for_each (&worker ACE_ENV_ARG_PARAMETER);
00328 ACE_CHECK;
00329 }
00330 this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER);
00331 ACE_CHECK;
00332 }
|
|
||||||||||||
|
Definition at line 449 of file ConsumerAdmin.cpp. References ACE_THROW, and CosNotification::QoSProperties.
00457 {
00458 ACE_THROW (CORBA::NO_IMPLEMENT ());
00459 }
|
1.3.6