#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 (void) |
ServantBase refcount methods. | |
virtual void | _remove_ref (void) |
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) |
virtual void | destroy (void) |
TAO_Notify_Container_T requires a destroy method. | |
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) |
= NotifyExt::ConsumerAdmin methods | |
virtual CosNotifyChannelAdmin::AdminID | MyID (void) |
= CosNotifyChannelAdmin::ConsumerAdmin methods | |
virtual::CosNotifyChannelAdmin::EventChannel_ptr | MyChannel () |
virtual::CosNotifyChannelAdmin::InterFilterGroupOperator | MyOperator (void) |
virtual::CosNotifyFilter::MappingFilter_ptr | priority_filter () |
virtual void | priority_filter (CosNotifyFilter::MappingFilter_ptr priority_filter) |
virtual::CosNotifyFilter::MappingFilter_ptr | lifetime_filter (void) |
virtual void | lifetime_filter (CosNotifyFilter::MappingFilter_ptr lifetime_filter) |
virtual::CosNotifyChannelAdmin::ProxyIDSeq * | pull_suppliers (void) |
virtual::CosNotifyChannelAdmin::ProxyIDSeq * | push_suppliers (void) |
virtual::CosNotifyChannelAdmin::ProxySupplier_ptr | get_proxy_supplier (CosNotifyChannelAdmin::ProxyID proxy_id) |
virtual::CosNotifyChannelAdmin::ProxySupplier_ptr | obtain_notification_pull_supplier (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id) |
virtual::CosNotifyChannelAdmin::ProxySupplier_ptr | obtain_notification_push_supplier (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id) |
virtual::CosNotification::QoSProperties * | get_qos (void) |
Get the QoS Properties. | |
virtual void | set_qos (const CosNotification::QoSProperties &qos) |
Set the QoS Properties. | |
virtual void | validate_qos (const CosNotification::QoSProperties &required_qos, CosNotification::NamedPropertyRangeSeq_out available_qos) |
virtual void | subscription_change (const CosNotification::EventTypeSeq &added, const CosNotification::EventTypeSeq &removed) |
virtual CosNotifyFilter::FilterID | add_filter (CosNotifyFilter::Filter_ptr new_filter) |
virtual void | remove_filter (CosNotifyFilter::FilterID filter) |
virtual::CosNotifyFilter::Filter_ptr | get_filter (CosNotifyFilter::FilterID filter) |
virtual::CosNotifyFilter::FilterIDSeq * | get_all_filters (void) |
virtual void | remove_all_filters (void) |
virtual::CosEventChannelAdmin::ProxyPushSupplier_ptr | obtain_push_supplier (void) |
virtual::CosEventChannelAdmin::ProxyPullSupplier_ptr | obtain_pull_supplier (void) |
Private Member Functions | |
virtual void | release (void) |
Release this object. |
Definition at line 42 of file ConsumerAdmin.h.
|
Reimplemented from TAO_Notify_Refcountable. Definition at line 47 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 69 of file ConsumerAdmin.cpp. References TAO_Notify_Refcountable::_incr_refcnt().
00070 { 00071 this->_incr_refcnt (); 00072 } |
|
Definition at line 75 of file ConsumerAdmin.cpp. References TAO_Notify_Refcountable::_decr_refcnt().
00076 { 00077 this->_decr_refcnt (); 00078 } |
|
Definition at line 266 of file ConsumerAdmin.cpp. References TAO_Notify_FilterAdmin::add_filter(), CosNotifyFilter::FilterID, and TAO_Notify::Topology_Object::self_change().
00267 { 00268 CosNotifyFilter::FilterID fid = 00269 this->filter_admin_.add_filter (new_filter); 00270 this->self_change (); 00271 return fid; 00272 } |
|
TAO_Notify_Container_T requires a destroy method.
Definition at line 88 of file ConsumerAdmin.cpp. References TAO_Notify_Admin::proxy_container(), and TAO_Notify_Admin::shutdown().
00089 { 00090 this->shutdown (); 00091 this->ec_->remove (this); 00092 this->proxy_container ().destroy (); 00093 } |
|
Definition at line 355 of file ConsumerAdmin.cpp. References 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().
00358 { 00359 TAO_Notify_ProxySupplier * result = 0; 00360 size_t path_size = id_path.size (); 00361 if (position < path_size) 00362 { 00363 TAO_Notify_ProxySupplier_Find_Worker find_worker; 00364 TAO_Notify_Proxy * proxy = find_worker.find (id_path[position], this->proxy_container()); 00365 result = dynamic_cast <TAO_Notify_ProxySupplier *> (proxy); 00366 } 00367 return result; 00368 } |
|
Implements TAO_Notify_Admin. Definition at line 46 of file ConsumerAdmin.cpp.
00047 { 00048 return "consumer_admin"; 00049 } |
|
Definition at line 287 of file ConsumerAdmin.cpp. References TAO_Notify_FilterAdmin::get_all_filters().
00288 { 00289 return this->filter_admin_.get_all_filters (); 00290 } |
|
Definition at line 281 of file ConsumerAdmin.cpp. References CosNotifyFilter::FilterID, and TAO_Notify_FilterAdmin::get_filter().
00282 { 00283 return this->filter_admin_.get_filter (filter); 00284 } |
|
Definition at line 225 of file ConsumerAdmin.cpp. References CosNotifyChannelAdmin::ProxyID, and TAO_Notify_ProxySupplier_Find_Worker.
00226 { 00227 TAO_Notify_ProxySupplier_Find_Worker find_worker; 00228 00229 return find_worker.resolve (proxy_id, this->proxy_container()); 00230 } |
|
Get the QoS Properties.
Reimplemented from TAO_Notify_Object. Definition at line 239 of file ConsumerAdmin.cpp. References TAO_Notify_Object::get_qos().
00240 { 00241 return this->TAO_Notify_Object::get_qos (); 00242 } |
|
Init.
Definition at line 58 of file ConsumerAdmin.cpp. References TAO_Notify_Properties::default_consumer_admin_qos_properties(), TAO_Notify_Admin::init(), TAO_Notify_Properties::instance(), CosNotification::QoSProperties, and set_qos(). Referenced by TAO_Notify_Builder::build_consumer_admin().
00059 { 00060 TAO_Notify_Admin::init (ec); 00061 00062 const CosNotification::QoSProperties &default_ca_qos = 00063 TAO_Notify_PROPERTIES::instance ()->default_consumer_admin_qos_properties (); 00064 00065 this->set_qos (default_ca_qos); 00066 } |
|
Definition at line 321 of file ConsumerAdmin.cpp.
00322 {
00323 throw CORBA::NO_IMPLEMENT ();
00324 }
|
|
Definition at line 314 of file ConsumerAdmin.cpp.
00316 {
00317 throw CORBA::NO_IMPLEMENT ();
00318 }
|
|
Reimplemented from TAO_Notify_Admin. Definition at line 97 of file ConsumerAdmin.cpp. References ACE_DEBUG, ACE_TEXT(), DEBUG_LEVEL, LM_DEBUG, TAO_Notify_Admin::load_child(), and load_proxy().
00099 { 00100 TAO_Notify::Topology_Object* result = this; 00101 if (type == "proxy_push_supplier") 00102 { 00103 if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, 00104 ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") 00105 , static_cast<int> (id) 00106 )); 00107 result = this->load_proxy(id, CosNotifyChannelAdmin::ANY_EVENT, attrs); 00108 } 00109 else if (type == "structured_proxy_push_supplier") 00110 { 00111 if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, 00112 ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") 00113 , static_cast<int> (id) 00114 )); 00115 result = this->load_proxy(id, CosNotifyChannelAdmin::STRUCTURED_EVENT, attrs); 00116 } 00117 else if (type == "sequence_proxy_push_supplier") 00118 { 00119 if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, 00120 ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") 00121 , static_cast<int> (id) 00122 )); 00123 result = this->load_proxy(id, CosNotifyChannelAdmin::SEQUENCE_EVENT, attrs); 00124 } 00125 #if 0 00126 else if (type == "ec_proxy_push_supplier") 00127 { 00128 if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, 00129 ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") 00130 , static_cast<int> (id) 00131 )); 00132 result = this->load_proxy(id, attrs); 00133 } 00134 #endif 00135 else 00136 { 00137 result = TAO_Notify_Admin::load_child (type, id, attrs); 00138 } 00139 return result; 00140 } |
|
Definition at line 143 of file ConsumerAdmin.cpp. References ACE_ASSERT, TAO_Notify_Builder::build_proxy(), TAO_Notify_Properties::builder(), TAO_Notify_Properties::instance(), and TAO_Notify_Object::load_attrs(). Referenced by load_child().
00147 { 00148 TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder(); 00149 TAO_Notify_ProxySupplier * proxy = 00150 bld->build_proxy (this 00151 , ctype 00152 , id); 00153 ACE_ASSERT(proxy != 0); 00154 proxy->load_attrs (attrs); 00155 return proxy; 00156 } |
|
Definition at line 205 of file ConsumerAdmin.cpp.
00206 { 00207 return this->ec_->_this (); 00208 } |
|
= CosNotifyChannelAdmin::ConsumerAdmin methods
Definition at line 199 of file ConsumerAdmin.cpp. References TAO_Notify_Object::id().
00200 { 00201 return this->id (); 00202 } |
|
Definition at line 211 of file ConsumerAdmin.cpp.
00212 { 00213 return this->filter_operator_; 00214 } |
|
Definition at line 333 of file ConsumerAdmin.cpp.
00336 {
00337 throw CORBA::NO_IMPLEMENT ();
00338 }
|
|
Definition at line 159 of file ConsumerAdmin.cpp. References TAO_Notify_Builder::build_proxy(), TAO_Notify_Properties::builder(), TAO_Notify_Properties::instance(), CosNotification::QoSProperties, and TAO_Notify::Topology_Object::self_change().
00162 { 00163 CosNotification::QoSProperties initial_qos; 00164 00165 CosNotifyChannelAdmin::ProxySupplier_var proxy = 00166 TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this 00167 , ctype 00168 , proxy_id 00169 , initial_qos); 00170 this->self_change (); 00171 return proxy._retn (); 00172 } |
|
= NotifyExt::ConsumerAdmin methods
Definition at line 175 of file ConsumerAdmin.cpp. References TAO_Notify_Builder::build_proxy(), TAO_Notify_Properties::builder(), TAO_Notify_Properties::instance(), CosNotification::QoSProperties, and TAO_Notify::Topology_Object::self_change().
00179 { 00180 CosNotifyChannelAdmin::ProxySupplier_var proxy = 00181 TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this 00182 , ctype 00183 , proxy_id 00184 , initial_qos); 00185 this->self_change (); 00186 return proxy._retn (); 00187 } |
|
Definition at line 349 of file ConsumerAdmin.cpp.
00350 {
00351 throw CORBA::NO_IMPLEMENT ();
00352 }
|
|
Definition at line 190 of file ConsumerAdmin.cpp. References TAO_Notify_Builder::build_proxy(), TAO_Notify_Properties::builder(), TAO_Notify_Properties::instance(), and TAO_Notify::Topology_Object::self_change().
00191 { 00192 CosEventChannelAdmin::ProxyPushSupplier_var proxy = 00193 TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this); 00194 this->self_change (); 00195 return proxy._retn (); 00196 } |
|
Definition at line 307 of file ConsumerAdmin.cpp.
00309 {
00310 throw CORBA::NO_IMPLEMENT ();
00311 }
|
|
Definition at line 301 of file ConsumerAdmin.cpp.
00302 {
00303 throw CORBA::NO_IMPLEMENT ();
00304 }
|
|
Definition at line 327 of file ConsumerAdmin.cpp.
00328 {
00329 throw CORBA::NO_IMPLEMENT ();
00330 }
|
|
Definition at line 217 of file ConsumerAdmin.cpp. References TAO_Notify_Seq_Worker_T< TYPE >::create(), and TAO_Notify_Proxy_Seq_Worker.
00218 { 00219 TAO_Notify_Proxy_Seq_Worker seq_worker; 00220 00221 return seq_worker.create (this->proxy_container()); 00222 } |
|
Release this object.
Implements TAO_Notify_Refcountable. Definition at line 81 of file ConsumerAdmin.cpp.
00082 { 00083 delete this; 00084 //@@ inform factory 00085 } |
|
Definition at line 293 of file ConsumerAdmin.cpp. References TAO_Notify_FilterAdmin::remove_all_filters().
00294 { 00295 this->filter_admin_.remove_all_filters (); 00296 } |
|
Definition at line 275 of file ConsumerAdmin.cpp. References CosNotifyFilter::FilterID, and TAO_Notify_FilterAdmin::remove_filter().
00276 { 00277 this->filter_admin_.remove_filter (filter); 00278 } |
|
Set the QoS Properties.
Reimplemented from TAO_Notify_Object. Definition at line 232 of file ConsumerAdmin.cpp. References CosNotification::QoSProperties, and TAO_Notify_Object::set_qos(). Referenced by init().
00233 { 00234 this->TAO_Notify_Object::set_qos (qos); 00235 } |
|
Definition at line 245 of file ConsumerAdmin.cpp. References ACE_GUARD_THROW_EX, TAO_Notify_EventTypeSeq::add_and_remove(), CosNotification::EventTypeSeq, TAO_Notify_Admin::proxy_container(), TAO_Notify::Topology_Object::self_change(), and TAO_SYNCH_MUTEX.
00248 { 00249 TAO_Notify_EventTypeSeq seq_added (added); 00250 TAO_Notify_EventTypeSeq seq_removed (removed); 00251 00252 { 00253 ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 00254 CORBA::INTERNAL ()); 00255 00256 this->subscribed_types_.add_and_remove (seq_added, seq_removed); 00257 00258 TAO_Notify_Subscription_Change_Worker worker (added, removed); 00259 00260 this->proxy_container().collection()->for_each (&worker); 00261 } 00262 this->self_change (); 00263 } |
|
Definition at line 341 of file ConsumerAdmin.cpp. References CosNotification::QoSProperties.
00344 {
00345 throw CORBA::NO_IMPLEMENT ();
00346 }
|