#include <SupplierAdmin.h>
Inheritance diagram for TAO_Notify_SupplierAdmin:


Public Types | |
| typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_SupplierAdmin > | Ptr |
Public Member Functions | |
| TAO_Notify_SupplierAdmin (void) | |
| Constuctor. | |
| virtual | ~TAO_Notify_SupplierAdmin () |
| 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_ProxyConsumer * | find_proxy_consumer (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) |
| CosNotifyChannelAdmin::ProxyConsumer_ptr | obtain_notification_push_consumer_with_qos (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id, const CosNotification::QoSProperties &initial_qos) throw (CORBA::SystemException, CosNotifyChannelAdmin::AdminLimitExceeded, CosNotification::UnsupportedQoS) |
| = NotifyExt::SupplierAdmin methods | |
| virtual CosNotifyChannelAdmin::AdminID | MyID () throw (CORBA::SystemException) |
| = CosNotifyChannelAdmin::SupplierAdmin methods | |
| virtual::CosNotifyChannelAdmin::EventChannel_ptr | MyChannel () throw (CORBA::SystemException) |
| virtual::CosNotifyChannelAdmin::InterFilterGroupOperator | MyOperator () throw (CORBA::SystemException) |
| virtual::CosNotifyChannelAdmin::ProxyIDSeq * | pull_consumers () throw (CORBA::SystemException) |
| virtual::CosNotifyChannelAdmin::ProxyIDSeq * | push_consumers () throw (CORBA::SystemException) |
| virtual::CosNotifyChannelAdmin::ProxyConsumer_ptr | get_proxy_consumer (CosNotifyChannelAdmin::ProxyID proxy_id) throw (CORBA::SystemException, CosNotifyChannelAdmin::ProxyNotFound) |
| virtual::CosNotifyChannelAdmin::ProxyConsumer_ptr | obtain_notification_pull_consumer (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id) throw (CORBA::SystemException, CosNotifyChannelAdmin::AdminLimitExceeded) |
| virtual::CosNotifyChannelAdmin::ProxyConsumer_ptr | obtain_notification_push_consumer (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 | offer_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::ProxyPushConsumer_ptr | obtain_push_consumer () throw (CORBA::SystemException) |
| virtual::CosEventChannelAdmin::ProxyPullConsumer_ptr | obtain_pull_consumer () throw (CORBA::SystemException) |
Private Member Functions | |
| virtual void | release (void) |
| Release. | |
Definition at line 40 of file SupplierAdmin.h.
|
|
Reimplemented from TAO_Notify_Refcountable. Definition at line 45 of file SupplierAdmin.h. |
|
|
Constuctor.
Definition at line 36 of file SupplierAdmin.cpp.
00037 : TAO_Notify_Admin () 00038 { 00039 } |
|
|
Destructor.
Definition at line 47 of file SupplierAdmin.cpp.
00048 {
00049 }
|
|
|
ServantBase refcount methods.
Definition at line 64 of file SupplierAdmin.cpp. References TAO_Notify_Refcountable::_incr_refcnt().
00065 {
00066 this->_incr_refcnt ();
00067 }
|
|
|
Definition at line 70 of file SupplierAdmin.cpp. References TAO_Notify_Refcountable::_decr_refcnt().
00071 {
00072 this->_decr_refcnt ();
00073 }
|
|
|
Definition at line 316 of file SupplierAdmin.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, and CosNotifyFilter::FilterID.
00320 {
00321 CosNotifyFilter::FilterID fid =
00322 this->filter_admin_.add_filter (new_filter ACE_ENV_ARG_PARAMETER);
00323 ACE_CHECK_RETURN (fid);
00324 this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER);
00325 ACE_CHECK_RETURN (fid);
00326 return fid;
00327 }
|
|
|
Definition at line 83 of file SupplierAdmin.cpp. References ACE_CHECK, ACE_ENV_ARG_PARAMETER, and ACE_ENV_SINGLE_ARG_PARAMETER.
|
|
||||||||||||
|
Definition at line 413 of file SupplierAdmin.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, TAO_Notify::IdVec, ACE_Vector< T, DEFAULT_SIZE >::size(), TAO_Notify_Proxy, and TAO_Notify_ProxyConsumer_Find_Worker. Referenced by TAO_Notify_EventChannel::find_proxy_consumer().
00417 {
00418 TAO_Notify_ProxyConsumer * result = 0;
00419 size_t path_size = id_path.size ();
00420 if (position < path_size)
00421 {
00422 TAO_Notify_ProxyConsumer_Find_Worker find_worker;
00423 TAO_Notify_Proxy * proxy = find_worker.find (id_path[position], this->proxy_container() ACE_ENV_ARG_PARAMETER);
00424 ACE_CHECK_RETURN (0);
00425 result = dynamic_cast <TAO_Notify_ProxyConsumer *> (proxy);
00426 }
00427 return result;
00428 }
|
|
|
Implements TAO_Notify_Admin. Definition at line 42 of file SupplierAdmin.cpp.
00043 {
00044 return "supplier_admin";
00045 }
|
|
|
Definition at line 350 of file SupplierAdmin.cpp. References ACE_ENV_SINGLE_ARG_PARAMETER.
00354 {
00355 return this->filter_admin_.get_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
00356 }
|
|
|
Definition at line 340 of file SupplierAdmin.cpp. References ACE_ENV_ARG_PARAMETER, and CosNotifyFilter::FilterID.
00345 {
00346 return this->filter_admin_.get_filter (filter ACE_ENV_ARG_PARAMETER);
00347 }
|
|
|
Definition at line 277 of file SupplierAdmin.cpp. References ACE_ENV_ARG_PARAMETER, CosNotifyChannelAdmin::ProxyID, and TAO_Notify_ProxyConsumer_Find_Worker.
00282 {
00283 TAO_Notify_ProxyConsumer_Find_Worker find_worker;
00284
00285 return find_worker.resolve (proxy_id, this->proxy_container() ACE_ENV_ARG_PARAMETER);
00286 }
|
|
|
Get the QoS Properties.
Reimplemented from TAO_Notify_Object. Definition at line 167 of file SupplierAdmin.cpp. References ACE_ENV_SINGLE_ARG_PARAMETER, and TAO_Notify_Object::get_qos().
00171 {
00172 return this->TAO_Notify_Object::get_qos (ACE_ENV_SINGLE_ARG_PARAMETER);
00173 }
|
|
|
Init.
Definition at line 52 of file SupplierAdmin.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_supplier_admin().
00053 {
00054 TAO_Notify_Admin::init (ec ACE_ENV_ARG_PARAMETER);
00055 ACE_CHECK;
00056
00057 const CosNotification::QoSProperties &default_sa_qos =
00058 TAO_Notify_PROPERTIES::instance ()->default_supplier_admin_qos_properties ();
00059
00060 this->set_qos (default_sa_qos ACE_ENV_ARG_PARAMETER);
00061 }
|
|
||||||||||||||||
|
Reimplemented from TAO_Notify_Admin. Definition at line 98 of file SupplierAdmin.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().
00100 {
00101 TAO_Notify::Topology_Object* result = this;
00102 if (type == "proxy_push_consumer")
00103 {
00104 if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
00105 ACE_TEXT ("(%P|%t) Admin reload proxy %d\n")
00106 , static_cast<int> (id)
00107 ));
00108 result = this->load_proxy(id, CosNotifyChannelAdmin::ANY_EVENT, attrs ACE_ENV_ARG_PARAMETER);
00109 ACE_CHECK_RETURN (0);
00110 }
00111 else if (type == "structured_proxy_push_consumer")
00112 {
00113 if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
00114 ACE_TEXT ("(%P|%t) Admin reload proxy %d\n")
00115 , static_cast<int> (id)
00116 ));
00117 result = this->load_proxy(id, CosNotifyChannelAdmin::STRUCTURED_EVENT, attrs ACE_ENV_ARG_PARAMETER);
00118 ACE_CHECK_RETURN (0);
00119 }
00120 else if (type == "sequence_proxy_push_consumer")
00121 {
00122 if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
00123 ACE_TEXT ("(%P|%t) Admin reload proxy %d\n")
00124 , static_cast<int> (id)
00125 ));
00126 result = this->load_proxy(id, CosNotifyChannelAdmin::SEQUENCE_EVENT, attrs ACE_ENV_ARG_PARAMETER);
00127 ACE_CHECK_RETURN (0);
00128 }
00129 else
00130 {
00131 result = TAO_Notify_Admin::load_child (type, id, attrs ACE_ENV_ARG_PARAMETER);
00132 ACE_CHECK_RETURN (0);
00133 }
00134 return result;
00135 }
|
|
||||||||||||||||
|
Definition at line 138 of file SupplierAdmin.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().
00142 {
00143 TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder();
00144 TAO_Notify_ProxyConsumer * proxy =
00145 bld->build_proxy (this
00146 , ctype
00147 , id
00148 ACE_ENV_ARG_PARAMETER);
00149 ACE_CHECK_RETURN(0);
00150 ACE_ASSERT(proxy != 0);
00151 proxy->load_attrs (attrs);
00152 return proxy;
00153 }
|
|
|
Definition at line 248 of file SupplierAdmin.cpp. References ACE_ENV_SINGLE_ARG_PARAMETER.
00252 {
00253 return this->ec_->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
00254 }
|
|
|
= CosNotifyChannelAdmin::SupplierAdmin methods
Definition at line 239 of file SupplierAdmin.cpp.
00243 {
00244 return this->id ();
00245 }
|
|
|
Definition at line 257 of file SupplierAdmin.cpp.
00261 {
00262 return this->filter_operator_;
00263 }
|
|
||||||||||||
|
Definition at line 401 of file SupplierAdmin.cpp. References ACE_THROW_RETURN.
00408 {
00409 ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CosNotifyChannelAdmin::ProxyConsumer::_nil ());
00410 }
|
|
||||||||||||
|
Definition at line 176 of file SupplierAdmin.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, TAO_Singleton< TYPE, ACE_LOCK >::instance(), and CosNotification::QoSProperties.
00184 {
00185 CosNotification::QoSProperties initial_qos;
00186
00187 CosNotifyChannelAdmin::ProxyConsumer_var proxy =
00188 TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this
00189 , ctype
00190 , proxy_id
00191 , initial_qos
00192 ACE_ENV_ARG_PARAMETER);
00193 ACE_CHECK_RETURN (proxy._retn ());
00194 this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER);
00195 ACE_CHECK_RETURN (proxy._retn ());
00196 return proxy._retn ();
00197 }
|
|
||||||||||||||||
|
= NotifyExt::SupplierAdmin methods
Definition at line 200 of file SupplierAdmin.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, TAO_Singleton< TYPE, ACE_LOCK >::instance(), and CosNotification::QoSProperties.
00210 {
00211 CosNotifyChannelAdmin::ProxyConsumer_var proxy =
00212 TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this
00213 , ctype
00214 , proxy_id,
00215 initial_qos
00216 ACE_ENV_ARG_PARAMETER);
00217 ACE_CHECK_RETURN (proxy._retn ());
00218 this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER);
00219 ACE_CHECK_RETURN (proxy._retn ());
00220 return proxy._retn ();
00221 }
|
|
|
Definition at line 370 of file SupplierAdmin.cpp. References ACE_THROW_RETURN.
00374 {
00375 ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CosEventChannelAdmin::ProxyPullConsumer::_nil ());
00376 }
|
|
|
Definition at line 225 of file SupplierAdmin.cpp. References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, and TAO_Singleton< TYPE, ACE_LOCK >::instance().
00229 {
00230 CosEventChannelAdmin::ProxyPushConsumer_var proxy =
00231 TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this ACE_ENV_ARG_PARAMETER);
00232 ACE_CHECK_RETURN (proxy._retn ());
00233 this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER);
00234 ACE_CHECK_RETURN (proxy._retn ());
00235 return proxy._retn ();
00236 }
|
|
||||||||||||
|
Definition at line 289 of file SupplierAdmin.cpp. References ACE_CHECK, ACE_ENV_ARG_PARAMETER, ACE_GUARD_THROW_EX, CosNotification::EventTypeSeq, and TAO_SYNCH_MUTEX.
00298 {
00299 TAO_Notify_EventTypeSeq seq_added (added);
00300 TAO_Notify_EventTypeSeq seq_removed (removed);
00301
00302 {
00303 ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_,
00304 CORBA::INTERNAL ());
00305 ACE_CHECK;
00306
00307 this->subscribed_types_.add_and_remove (seq_added, seq_removed);
00308
00309 TAO_Notify_Subscription_Change_Worker worker (added, removed);
00310
00311 this->proxy_container().collection ()->for_each (&worker ACE_ENV_ARG_PARAMETER);
00312 }
00313 }
|
|
|
Definition at line 379 of file SupplierAdmin.cpp. References ACE_THROW_RETURN.
00383 {
00384 ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
00385 }
|
|
|
Definition at line 266 of file SupplierAdmin.cpp. References ACE_ENV_ARG_PARAMETER, TAO_Notify_Seq_Worker_T< TYPE >::create(), and TAO_Notify_Proxy_Seq_Worker.
00270 {
00271 TAO_Notify_Proxy_Seq_Worker seq_worker;
00272
00273 return seq_worker.create (this->proxy_container() ACE_ENV_ARG_PARAMETER);
00274 }
|
|
|
Release.
Implements TAO_Notify_Refcountable. Definition at line 76 of file SupplierAdmin.cpp.
00077 {
00078 delete this;
00079 //@@ inform factory
00080 }
|
|
|
Definition at line 359 of file SupplierAdmin.cpp. References ACE_ENV_SINGLE_ARG_PARAMETER.
00363 {
00364 this->filter_admin_.remove_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
00365 }
|
|
|
Definition at line 330 of file SupplierAdmin.cpp. References ACE_ENV_ARG_PARAMETER, and CosNotifyFilter::FilterID.
00335 {
00336 this->filter_admin_.remove_filter (filter ACE_ENV_ARG_PARAMETER);
00337 }
|
|
|
Set the QoS Properties.
Reimplemented from TAO_Notify_Object. Definition at line 157 of file SupplierAdmin.cpp. References ACE_ENV_ARG_PARAMETER, CosNotification::QoSProperties, and TAO_Notify_Object::set_qos(). Referenced by init().
00162 {
00163 this->TAO_Notify_Object::set_qos (qos ACE_ENV_ARG_PARAMETER);
00164 }
|
|
||||||||||||
|
Definition at line 389 of file SupplierAdmin.cpp. References ACE_THROW, and CosNotification::QoSProperties.
00396 {
00397 ACE_THROW (CORBA::NO_IMPLEMENT ());
00398 }
|
1.3.6