Implementation of CosNotifyChannelAdmin::SupplierAdmin. More...
#include <SupplierAdmin.h>
Public Types | |
typedef TAO_Notify_Refcountable_Guard_T < TAO_Notify_SupplierAdmin > | Ptr |
Public Member Functions | |
TAO_Notify_SupplierAdmin (void) | |
Constructor. | |
virtual | ~TAO_Notify_SupplierAdmin () |
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) |
Create a child of the appropriate type and return it. | |
TAO_Notify_ProxyConsumer * | find_proxy_consumer (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) |
CosNotifyChannelAdmin::ProxyConsumer_ptr | obtain_notification_push_consumer_with_qos (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id, const CosNotification::QoSProperties &initial_qos) |
= NotifyExt::SupplierAdmin methods | |
virtual CosNotifyChannelAdmin::AdminID | MyID (void) |
= CosNotifyChannelAdmin::SupplierAdmin methods | |
virtual ::CosNotifyChannelAdmin::EventChannel_ptr | MyChannel (void) |
virtual ::CosNotifyChannelAdmin::InterFilterGroupOperator | MyOperator (void) |
virtual ::CosNotifyChannelAdmin::ProxyIDSeq * | pull_consumers (void) |
virtual ::CosNotifyChannelAdmin::ProxyIDSeq * | push_consumers (void) |
virtual ::CosNotifyChannelAdmin::ProxyConsumer_ptr | get_proxy_consumer (CosNotifyChannelAdmin::ProxyID proxy_id) |
virtual ::CosNotifyChannelAdmin::ProxyConsumer_ptr | obtain_notification_pull_consumer (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id) |
virtual ::CosNotifyChannelAdmin::ProxyConsumer_ptr | obtain_notification_push_consumer (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id) |
virtual ::CosNotification::QoSProperties * | get_qos (void) |
virtual void | set_qos (const CosNotification::QoSProperties &qos) |
virtual void | validate_qos (const CosNotification::QoSProperties &required_qos, CosNotification::NamedPropertyRangeSeq_out available_qos) |
virtual void | offer_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::ProxyPushConsumer_ptr | obtain_push_consumer () |
virtual ::CosEventChannelAdmin::ProxyPullConsumer_ptr | obtain_pull_consumer () |
Private Member Functions | |
virtual void | release (void) |
Release. |
Implementation of CosNotifyChannelAdmin::SupplierAdmin.
Definition at line 40 of file SupplierAdmin.h.
Definition at line 45 of file SupplierAdmin.h.
TAO_Notify_SupplierAdmin::TAO_Notify_SupplierAdmin | ( | void | ) |
TAO_Notify_SupplierAdmin::~TAO_Notify_SupplierAdmin | ( | ) | [virtual] |
void TAO_Notify_SupplierAdmin::_add_ref | ( | void | ) | [virtual] |
ServantBase refcount methods.
Definition at line 63 of file SupplierAdmin.cpp.
{ this->_incr_refcnt (); }
void TAO_Notify_SupplierAdmin::_remove_ref | ( | void | ) | [virtual] |
Definition at line 69 of file SupplierAdmin.cpp.
{ this->_decr_refcnt (); }
CosNotifyFilter::FilterID TAO_Notify_SupplierAdmin::add_filter | ( | CosNotifyFilter::Filter_ptr | new_filter | ) | [protected, virtual] |
Definition at line 249 of file SupplierAdmin.cpp.
{ CosNotifyFilter::FilterID fid = this->filter_admin_.add_filter (new_filter); this->self_change (); return fid; }
void TAO_Notify_SupplierAdmin::destroy | ( | void | ) | [virtual] |
TAO_Notify_Container_T requires a destroy method.
Definition at line 82 of file SupplierAdmin.cpp.
{ this->shutdown (); this->ec_->remove (this); this->proxy_container ().destroy (); }
TAO_Notify_ProxyConsumer * TAO_Notify_SupplierAdmin::find_proxy_consumer | ( | TAO_Notify::IdVec & | id_path, | |
size_t | position | |||
) |
Definition at line 282 of file SupplierAdmin.cpp.
{ TAO_Notify_ProxyConsumer * result = 0; size_t path_size = id_path.size (); if (position < path_size) { TAO_Notify_ProxyConsumer_Find_Worker find_worker; TAO_Notify_Proxy * proxy = find_worker.find (id_path[position], this->proxy_container()); result = dynamic_cast <TAO_Notify_ProxyConsumer *> (proxy); } return result; }
const char * TAO_Notify_SupplierAdmin::get_admin_type_name | ( | void | ) | const [virtual] |
Implements TAO_Notify_Admin.
Definition at line 42 of file SupplierAdmin.cpp.
{ return "supplier_admin"; }
CosNotifyFilter::FilterIDSeq * TAO_Notify_SupplierAdmin::get_all_filters | ( | void | ) | [protected] |
Definition at line 270 of file SupplierAdmin.cpp.
{ return this->filter_admin_.get_all_filters (); }
CosNotifyFilter::Filter_ptr TAO_Notify_SupplierAdmin::get_filter | ( | CosNotifyFilter::FilterID | filter | ) | [protected] |
Definition at line 264 of file SupplierAdmin.cpp.
{ return this->filter_admin_.get_filter (filter); }
CosNotifyChannelAdmin::ProxyConsumer_ptr TAO_Notify_SupplierAdmin::get_proxy_consumer | ( | CosNotifyChannelAdmin::ProxyID | proxy_id | ) | [protected] |
Definition at line 221 of file SupplierAdmin.cpp.
{ TAO_Notify_ProxyConsumer_Find_Worker find_worker; return find_worker.resolve (proxy_id, this->proxy_container()); }
CosNotification::QoSProperties * TAO_Notify_SupplierAdmin::get_qos | ( | void | ) | [protected] |
Definition at line 149 of file SupplierAdmin.cpp.
{ return this->TAO_Notify_Object::get_qos (); }
void TAO_Notify_SupplierAdmin::init | ( | TAO_Notify_EventChannel * | ec | ) |
Init.
Definition at line 52 of file SupplierAdmin.cpp.
{ TAO_Notify_Admin::init (ec); const CosNotification::QoSProperties &default_sa_qos = TAO_Notify_PROPERTIES::instance ()->default_supplier_admin_qos_properties (); this->set_qos (default_sa_qos); }
TAO_Notify::Topology_Object * TAO_Notify_SupplierAdmin::load_child | ( | const ACE_CString & | type, | |
CORBA::Long | id, | |||
const TAO_Notify::NVPList & | attrs | |||
) | [virtual] |
Create a child of the appropriate type and return it.
Use "type" as passed in to determine what kind of child (supporting the Topology_Object interface) to create and return. Inform it of its new ID.
Reimplemented from TAO_Notify_Admin.
Definition at line 90 of file SupplierAdmin.cpp.
{ TAO_Notify::Topology_Object* result = this; if (type == "proxy_push_consumer") { if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") , static_cast<int> (id) )); result = this->load_proxy(id, CosNotifyChannelAdmin::ANY_EVENT, attrs); } else if (type == "structured_proxy_push_consumer") { if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") , static_cast<int> (id) )); result = this->load_proxy(id, CosNotifyChannelAdmin::STRUCTURED_EVENT, attrs); } else if (type == "sequence_proxy_push_consumer") { if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") , static_cast<int> (id) )); result = this->load_proxy(id, CosNotifyChannelAdmin::SEQUENCE_EVENT, attrs); } else { result = TAO_Notify_Admin::load_child (type, id, attrs); } return result; }
TAO_Notify::Topology_Object * TAO_Notify_SupplierAdmin::load_proxy | ( | CORBA::Long | id, | |
CosNotifyChannelAdmin::ClientType | ctype, | |||
const TAO_Notify::NVPList & | attrs | |||
) | [protected] |
Definition at line 126 of file SupplierAdmin.cpp.
{ TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder(); TAO_Notify_ProxyConsumer * proxy = bld->build_proxy (this , ctype , id); ACE_ASSERT(proxy != 0); proxy->load_attrs (attrs); return proxy; }
CosNotifyChannelAdmin::EventChannel_ptr TAO_Notify_SupplierAdmin::MyChannel | ( | void | ) | [protected] |
Definition at line 201 of file SupplierAdmin.cpp.
{ return this->ec_->_this (); }
CosNotifyChannelAdmin::AdminID TAO_Notify_SupplierAdmin::MyID | ( | void | ) | [protected, virtual] |
= CosNotifyChannelAdmin::SupplierAdmin methods
Definition at line 195 of file SupplierAdmin.cpp.
{ return this->id (); }
CosNotifyChannelAdmin::InterFilterGroupOperator TAO_Notify_SupplierAdmin::MyOperator | ( | void | ) | [protected] |
Definition at line 207 of file SupplierAdmin.cpp.
{ return this->filter_operator_; }
CosNotifyChannelAdmin::ProxyConsumer_ptr TAO_Notify_SupplierAdmin::obtain_notification_pull_consumer | ( | CosNotifyChannelAdmin::ClientType | ctype, | |
CosNotifyChannelAdmin::ProxyID_out | proxy_id | |||
) | [protected] |
Definition at line 320 of file SupplierAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}
CosNotifyChannelAdmin::ProxyConsumer_ptr TAO_Notify_SupplierAdmin::obtain_notification_push_consumer | ( | CosNotifyChannelAdmin::ClientType | ctype, | |
CosNotifyChannelAdmin::ProxyID_out | proxy_id | |||
) | [protected] |
Definition at line 155 of file SupplierAdmin.cpp.
{ CosNotification::QoSProperties initial_qos; CosNotifyChannelAdmin::ProxyConsumer_var proxy = TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this , ctype , proxy_id , initial_qos); this->self_change (); return proxy._retn (); }
CosNotifyChannelAdmin::ProxyConsumer_ptr TAO_Notify_SupplierAdmin::obtain_notification_push_consumer_with_qos | ( | CosNotifyChannelAdmin::ClientType | ctype, | |
CosNotifyChannelAdmin::ProxyID_out | proxy_id, | |||
const CosNotification::QoSProperties & | initial_qos | |||
) | [protected] |
= NotifyExt::SupplierAdmin methods
Definition at line 171 of file SupplierAdmin.cpp.
{ CosNotifyChannelAdmin::ProxyConsumer_var proxy = TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this , ctype , proxy_id, initial_qos); this->self_change (); return proxy._retn (); }
CosEventChannelAdmin::ProxyPullConsumer_ptr TAO_Notify_SupplierAdmin::obtain_pull_consumer | ( | void | ) | [protected] |
Definition at line 300 of file SupplierAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}
CosEventChannelAdmin::ProxyPushConsumer_ptr TAO_Notify_SupplierAdmin::obtain_push_consumer | ( | void | ) | [protected] |
Definition at line 186 of file SupplierAdmin.cpp.
{ CosEventChannelAdmin::ProxyPushConsumer_var proxy = TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this); this->self_change (); return proxy._retn (); }
void TAO_Notify_SupplierAdmin::offer_change | ( | const CosNotification::EventTypeSeq & | added, | |
const CosNotification::EventTypeSeq & | removed | |||
) | [protected, virtual] |
Definition at line 229 of file SupplierAdmin.cpp.
{ TAO_Notify_EventTypeSeq seq_added (added); TAO_Notify_EventTypeSeq seq_removed (removed); { ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, CORBA::INTERNAL ()); this->subscribed_types_.add_and_remove (seq_added, seq_removed); TAO_Notify_Subscription_Change_Worker worker (added, removed); this->proxy_container().collection ()->for_each (&worker); } }
CosNotifyChannelAdmin::ProxyIDSeq * TAO_Notify_SupplierAdmin::pull_consumers | ( | void | ) | [protected] |
Definition at line 306 of file SupplierAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}
CosNotifyChannelAdmin::ProxyIDSeq * TAO_Notify_SupplierAdmin::push_consumers | ( | void | ) | [protected] |
Definition at line 213 of file SupplierAdmin.cpp.
{ TAO_Notify_Proxy_Seq_Worker seq_worker; return seq_worker.create (this->proxy_container()); }
void TAO_Notify_SupplierAdmin::release | ( | void | ) | [private, virtual] |
void TAO_Notify_SupplierAdmin::remove_all_filters | ( | void | ) | [protected, virtual] |
Definition at line 276 of file SupplierAdmin.cpp.
{ this->filter_admin_.remove_all_filters (); }
void TAO_Notify_SupplierAdmin::remove_filter | ( | CosNotifyFilter::FilterID | filter | ) | [protected, virtual] |
Definition at line 258 of file SupplierAdmin.cpp.
{ this->filter_admin_.remove_filter (filter); }
void TAO_Notify_SupplierAdmin::set_qos | ( | const CosNotification::QoSProperties & | qos | ) | [protected, virtual] |
Definition at line 143 of file SupplierAdmin.cpp.
{ this->TAO_Notify_Object::set_qos (qos); }
void TAO_Notify_SupplierAdmin::validate_qos | ( | const CosNotification::QoSProperties & | required_qos, | |
CosNotification::NamedPropertyRangeSeq_out | available_qos | |||
) | [protected, virtual] |
Definition at line 313 of file SupplierAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}