Implementation of CosNotifyChannelAdmin::ConsumerAdmin. More...
#include <ConsumerAdmin.h>


Public Types | |
| typedef TAO_Notify_Refcountable_Guard_T < TAO_Notify_ConsumerAdmin > | Ptr |
Public Member Functions | |
| TAO_Notify_ConsumerAdmin (void) | |
| Constructor. | |
| 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) |
| Create a child of the appropriate type and return it. | |
| 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 (void) |
| virtual ::CosNotifyChannelAdmin::InterFilterGroupOperator | MyOperator (void) |
| virtual ::CosNotifyFilter::MappingFilter_ptr | priority_filter (void) |
| 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) |
| virtual void | set_qos (const CosNotification::QoSProperties &qos) |
| 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. | |
Implementation of CosNotifyChannelAdmin::ConsumerAdmin.
Definition at line 42 of file ConsumerAdmin.h.
Definition at line 47 of file ConsumerAdmin.h.
| TAO_Notify_ConsumerAdmin::TAO_Notify_ConsumerAdmin | ( | void | ) |
| TAO_Notify_ConsumerAdmin::~TAO_Notify_ConsumerAdmin | ( | ) | [virtual] |
| void TAO_Notify_ConsumerAdmin::_add_ref | ( | void | ) | [virtual] |
ServantBase refcount methods.
Definition at line 69 of file ConsumerAdmin.cpp.
{
this->_incr_refcnt ();
}
| void TAO_Notify_ConsumerAdmin::_remove_ref | ( | void | ) | [virtual] |
Definition at line 75 of file ConsumerAdmin.cpp.
{
this->_decr_refcnt ();
}
| CosNotifyFilter::FilterID TAO_Notify_ConsumerAdmin::add_filter | ( | CosNotifyFilter::Filter_ptr | new_filter | ) | [protected, virtual] |
Definition at line 266 of file ConsumerAdmin.cpp.
{
CosNotifyFilter::FilterID fid =
this->filter_admin_.add_filter (new_filter);
this->self_change ();
return fid;
}
| void TAO_Notify_ConsumerAdmin::destroy | ( | void | ) | [virtual] |
TAO_Notify_Container_T requires a destroy method.
Definition at line 88 of file ConsumerAdmin.cpp.
{
this->shutdown ();
this->ec_->remove (this);
this->proxy_container ().destroy ();
}
| TAO_Notify_ProxySupplier * TAO_Notify_ConsumerAdmin::find_proxy_supplier | ( | TAO_Notify::IdVec & | id_path, | |
| size_t | position | |||
| ) |
Definition at line 355 of file ConsumerAdmin.cpp.
{
TAO_Notify_ProxySupplier * result = 0;
size_t path_size = id_path.size ();
if (position < path_size)
{
TAO_Notify_ProxySupplier_Find_Worker find_worker;
TAO_Notify_Proxy * proxy = find_worker.find (id_path[position], this->proxy_container());
result = dynamic_cast <TAO_Notify_ProxySupplier *> (proxy);
}
return result;
}
| const char * TAO_Notify_ConsumerAdmin::get_admin_type_name | ( | void | ) | const [virtual] |
Implements TAO_Notify_Admin.
Definition at line 46 of file ConsumerAdmin.cpp.
{
return "consumer_admin";
}
| CosNotifyFilter::FilterIDSeq * TAO_Notify_ConsumerAdmin::get_all_filters | ( | void | ) | [protected] |
Definition at line 287 of file ConsumerAdmin.cpp.
{
return this->filter_admin_.get_all_filters ();
}
| CosNotifyFilter::Filter_ptr TAO_Notify_ConsumerAdmin::get_filter | ( | CosNotifyFilter::FilterID | filter | ) | [protected] |
Definition at line 281 of file ConsumerAdmin.cpp.
{
return this->filter_admin_.get_filter (filter);
}
| CosNotifyChannelAdmin::ProxySupplier_ptr TAO_Notify_ConsumerAdmin::get_proxy_supplier | ( | CosNotifyChannelAdmin::ProxyID | proxy_id | ) | [protected] |
Definition at line 225 of file ConsumerAdmin.cpp.
{
TAO_Notify_ProxySupplier_Find_Worker find_worker;
return find_worker.resolve (proxy_id, this->proxy_container());
}
| CosNotification::QoSProperties * TAO_Notify_ConsumerAdmin::get_qos | ( | void | ) | [protected] |
Definition at line 239 of file ConsumerAdmin.cpp.
{
return this->TAO_Notify_Object::get_qos ();
}
| void TAO_Notify_ConsumerAdmin::init | ( | TAO_Notify_EventChannel * | ec | ) |
Init.
Definition at line 58 of file ConsumerAdmin.cpp.
{
TAO_Notify_Admin::init (ec);
const CosNotification::QoSProperties &default_ca_qos =
TAO_Notify_PROPERTIES::instance ()->default_consumer_admin_qos_properties ();
this->set_qos (default_ca_qos);
}
| void TAO_Notify_ConsumerAdmin::lifetime_filter | ( | CosNotifyFilter::MappingFilter_ptr | lifetime_filter | ) | [protected, virtual] |
Definition at line 321 of file ConsumerAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}
| CosNotifyFilter::MappingFilter_ptr TAO_Notify_ConsumerAdmin::lifetime_filter | ( | void | ) | [protected] |
Definition at line 314 of file ConsumerAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}
| TAO_Notify::Topology_Object * TAO_Notify_ConsumerAdmin::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 97 of file ConsumerAdmin.cpp.
{
TAO_Notify::Topology_Object* result = this;
if (type == "proxy_push_supplier")
{
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_supplier")
{
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_supplier")
{
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);
}
#if 0
else if (type == "ec_proxy_push_supplier")
{
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, attrs);
}
#endif
else
{
result = TAO_Notify_Admin::load_child (type, id, attrs);
}
return result;
}
| TAO_Notify::Topology_Object * TAO_Notify_ConsumerAdmin::load_proxy | ( | CORBA::Long | id, | |
| CosNotifyChannelAdmin::ClientType | ctype, | |||
| const TAO_Notify::NVPList & | attrs | |||
| ) | [protected] |
Definition at line 143 of file ConsumerAdmin.cpp.
{
TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder();
TAO_Notify_ProxySupplier * proxy =
bld->build_proxy (this
, ctype
, id);
ACE_ASSERT(proxy != 0);
proxy->load_attrs (attrs);
return proxy;
}
| CosNotifyChannelAdmin::EventChannel_ptr TAO_Notify_ConsumerAdmin::MyChannel | ( | void | ) | [protected] |
Definition at line 205 of file ConsumerAdmin.cpp.
{
return this->ec_->_this ();
}
| CosNotifyChannelAdmin::AdminID TAO_Notify_ConsumerAdmin::MyID | ( | void | ) | [protected, virtual] |
= CosNotifyChannelAdmin::ConsumerAdmin methods
Definition at line 199 of file ConsumerAdmin.cpp.
{
return this->id ();
}
| CosNotifyChannelAdmin::InterFilterGroupOperator TAO_Notify_ConsumerAdmin::MyOperator | ( | void | ) | [protected] |
Definition at line 211 of file ConsumerAdmin.cpp.
{
return this->filter_operator_;
}
| CosNotifyChannelAdmin::ProxySupplier_ptr TAO_Notify_ConsumerAdmin::obtain_notification_pull_supplier | ( | CosNotifyChannelAdmin::ClientType | ctype, | |
| CosNotifyChannelAdmin::ProxyID_out | proxy_id | |||
| ) | [protected] |
Definition at line 333 of file ConsumerAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}
| CosNotifyChannelAdmin::ProxySupplier_ptr TAO_Notify_ConsumerAdmin::obtain_notification_push_supplier | ( | CosNotifyChannelAdmin::ClientType | ctype, | |
| CosNotifyChannelAdmin::ProxyID_out | proxy_id | |||
| ) | [protected] |
Definition at line 159 of file ConsumerAdmin.cpp.
{
CosNotification::QoSProperties initial_qos;
CosNotifyChannelAdmin::ProxySupplier_var proxy =
TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this
, ctype
, proxy_id
, initial_qos);
this->self_change ();
return proxy._retn ();
}
| CosNotifyChannelAdmin::ProxySupplier_ptr TAO_Notify_ConsumerAdmin::obtain_notification_push_supplier_with_qos | ( | CosNotifyChannelAdmin::ClientType | ctype, | |
| CosNotifyChannelAdmin::ProxyID_out | proxy_id, | |||
| const CosNotification::QoSProperties & | initial_qos | |||
| ) | [protected, virtual] |
= NotifyExt::ConsumerAdmin methods
Definition at line 175 of file ConsumerAdmin.cpp.
{
CosNotifyChannelAdmin::ProxySupplier_var proxy =
TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this
, ctype
, proxy_id
, initial_qos);
this->self_change ();
return proxy._retn ();
}
| CosEventChannelAdmin::ProxyPullSupplier_ptr TAO_Notify_ConsumerAdmin::obtain_pull_supplier | ( | void | ) | [protected] |
Definition at line 349 of file ConsumerAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}
| CosEventChannelAdmin::ProxyPushSupplier_ptr TAO_Notify_ConsumerAdmin::obtain_push_supplier | ( | void | ) | [protected] |
Definition at line 190 of file ConsumerAdmin.cpp.
{
CosEventChannelAdmin::ProxyPushSupplier_var proxy =
TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this);
this->self_change ();
return proxy._retn ();
}
| CosNotifyFilter::MappingFilter_ptr TAO_Notify_ConsumerAdmin::priority_filter | ( | void | ) | [protected] |
Definition at line 301 of file ConsumerAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}
| void TAO_Notify_ConsumerAdmin::priority_filter | ( | CosNotifyFilter::MappingFilter_ptr | priority_filter | ) | [protected, virtual] |
Definition at line 307 of file ConsumerAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}
| CosNotifyChannelAdmin::ProxyIDSeq * TAO_Notify_ConsumerAdmin::pull_suppliers | ( | void | ) | [protected] |
Definition at line 327 of file ConsumerAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}
| CosNotifyChannelAdmin::ProxyIDSeq * TAO_Notify_ConsumerAdmin::push_suppliers | ( | void | ) | [protected] |
Definition at line 217 of file ConsumerAdmin.cpp.
{
TAO_Notify_Proxy_Seq_Worker seq_worker;
return seq_worker.create (this->proxy_container());
}
| void TAO_Notify_ConsumerAdmin::release | ( | void | ) | [private, virtual] |
Release this object.
Definition at line 81 of file ConsumerAdmin.cpp.
{
delete this;
//@@ inform factory
}
| void TAO_Notify_ConsumerAdmin::remove_all_filters | ( | void | ) | [protected, virtual] |
Definition at line 293 of file ConsumerAdmin.cpp.
{
this->filter_admin_.remove_all_filters ();
}
| void TAO_Notify_ConsumerAdmin::remove_filter | ( | CosNotifyFilter::FilterID | filter | ) | [protected, virtual] |
Definition at line 275 of file ConsumerAdmin.cpp.
{
this->filter_admin_.remove_filter (filter);
}
| void TAO_Notify_ConsumerAdmin::set_qos | ( | const CosNotification::QoSProperties & | qos | ) | [protected, virtual] |
Definition at line 232 of file ConsumerAdmin.cpp.
{
this->TAO_Notify_Object::set_qos (qos);
}
| void TAO_Notify_ConsumerAdmin::subscription_change | ( | const CosNotification::EventTypeSeq & | added, | |
| const CosNotification::EventTypeSeq & | removed | |||
| ) | [protected, virtual] |
Definition at line 245 of file ConsumerAdmin.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);
}
this->self_change ();
}
| void TAO_Notify_ConsumerAdmin::validate_qos | ( | const CosNotification::QoSProperties & | required_qos, | |
| CosNotification::NamedPropertyRangeSeq_out | available_qos | |||
| ) | [protected, virtual] |
Definition at line 341 of file ConsumerAdmin.cpp.
{
throw CORBA::NO_IMPLEMENT ();
}
1.7.0