TAO_CosNotification
2.0.8
|
Implementation of CosNotifyChannelAdmin::EventChannel. More...
#include <EventChannel.h>
Public Types | |
typedef TAO_Notify_Refcountable_Guard_T < TAO_Notify_EventChannel > | Ptr |
typedef CosNotifyChannelAdmin::ChannelIDSeq | SEQ |
typedef CosNotifyChannelAdmin::ChannelIDSeq_var | SEQ_VAR |
Public Member Functions | |
TAO_Notify_EventChannel (void) | |
Constructor. | |
virtual | ~TAO_Notify_EventChannel () |
Destructor. | |
void | init (TAO_Notify_EventChannelFactory *ecf, const CosNotification::QoSProperties &initial_qos, const CosNotification::AdminProperties &initial_admin) |
Init. | |
void | init (TAO_Notify::Topology_Parent *parent) |
Init (for reload) | |
void | remove (TAO_Notify_ConsumerAdmin *consumer_admin) |
Remove ConsumerAdmin from its container. | |
void | remove (TAO_Notify_SupplierAdmin *supplier_admin) |
Remove SupplierAdmin from its container. | |
virtual void | _add_ref (void) |
ServantBase refcount methods. | |
virtual void | _remove_ref (void) |
virtual void | save_persistent (TAO_Notify::Topology_Saver &saver) |
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. | |
virtual void | reconnect (void) |
virtual void | validate () |
virtual TAO_Notify_Object::ID | get_id () const |
Find the id associated with topology object. | |
TAO_Notify_ProxyConsumer * | find_proxy_consumer (TAO_Notify::IdVec &id_path, size_t position) |
TAO_Notify_ProxySupplier * | find_proxy_supplier (TAO_Notify::IdVec &id_path, size_t position) |
virtual void | cleanup_proxy (CosNotifyChannelAdmin::ProxyID id, bool is_supplier, bool experienced_timeout) |
virtual int | shutdown (void) |
Shutdown. | |
virtual void | load_attrs (const TAO_Notify::NVPList &attrs) |
virtual void | destroy (void) |
TAO_Notify_Container_T requires a destroy method. | |
virtual CosNotifyChannelAdmin::ConsumerAdmin_ptr | get_consumeradmin (CosNotifyChannelAdmin::AdminID id) |
This is public to allow TAO_MonitorConsumerAdmin access. | |
virtual CosNotifyChannelAdmin::SupplierAdmin_ptr | get_supplieradmin (CosNotifyChannelAdmin::AdminID id) |
This is public to allow TAO_MonitorSupplierAdmin access. | |
TAO_Notify_FilterFactory * | default_filter_factory_servant () const |
Protected Member Functions | |
virtual ::CosNotifyChannelAdmin::EventChannelFactory_ptr | MyFactory () |
=CosNotifyChannelAdmin::EventChannel methods | |
virtual ::CosNotifyChannelAdmin::ConsumerAdmin_ptr | default_consumer_admin (void) |
virtual ::CosNotifyChannelAdmin::SupplierAdmin_ptr | default_supplier_admin (void) |
virtual ::CosNotifyFilter::FilterFactory_ptr | default_filter_factory (void) |
virtual ::CosNotifyChannelAdmin::ConsumerAdmin_ptr | new_for_consumers (CosNotifyChannelAdmin::InterFilterGroupOperator op, CosNotifyChannelAdmin::AdminID_out id) |
virtual ::CosNotifyChannelAdmin::SupplierAdmin_ptr | new_for_suppliers (CosNotifyChannelAdmin::InterFilterGroupOperator op, CosNotifyChannelAdmin::AdminID_out id) |
virtual ::CosNotifyChannelAdmin::AdminIDSeq * | get_all_consumeradmins (void) |
virtual ::CosNotifyChannelAdmin::AdminIDSeq * | get_all_supplieradmins (void) |
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 ::CosNotification::AdminProperties * | get_admin (void) |
virtual void | set_admin (const CosNotification::AdminProperties &admin) |
virtual ::CosEventChannelAdmin::ConsumerAdmin_ptr | for_consumers (void) |
virtual ::CosEventChannelAdmin::SupplierAdmin_ptr | for_suppliers (void) |
Private Types | |
typedef TAO_Notify_Container_T < TAO_Notify_ConsumerAdmin > | TAO_Notify_ConsumerAdmin_Container |
typedef TAO_Notify_Container_T < TAO_Notify_SupplierAdmin > | TAO_Notify_SupplierAdmin_Container |
Private Member Functions | |
virtual void | save_attrs (TAO_Notify::NVPList &attrs) |
TAO_Notify_ConsumerAdmin_Container & | ca_container () |
TAO_Notify_SupplierAdmin_Container & | sa_container () |
virtual void | release (void) |
The release method is called when the refcount reaches 0. | |
Private Attributes | |
TAO_Notify_EventChannelFactory::Ptr | ecf_ |
TAO_SYNCH_MUTEX | default_admin_mutex_ |
CosNotifyChannelAdmin::ConsumerAdmin_var | default_consumer_admin_ |
Default Consumer Admin. | |
CosNotifyChannelAdmin::SupplierAdmin_var | default_supplier_admin_ |
Default Supplier Admin. | |
ACE_Auto_Ptr < TAO_Notify_ConsumerAdmin_Container > | ca_container_ |
ConsumerAdmin Container. | |
ACE_Auto_Ptr < TAO_Notify_SupplierAdmin_Container > | sa_container_ |
SupplierAdmin Container. | |
CosNotifyFilter::FilterFactory_var | default_filter_factory_ |
The default filter factory. | |
TAO_Notify_FilterFactory * | default_filter_factory_servant_ |
Friends | |
class | TAO_Notify_Builder |
Implementation of CosNotifyChannelAdmin::EventChannel.
Reimplemented from TAO_Notify_Refcountable.
typedef CosNotifyChannelAdmin::ChannelIDSeq_var TAO_Notify_EventChannel::SEQ_VAR |
typedef TAO_Notify_Container_T<TAO_Notify_ConsumerAdmin> TAO_Notify_EventChannel::TAO_Notify_ConsumerAdmin_Container [private] |
typedef TAO_Notify_Container_T<TAO_Notify_SupplierAdmin> TAO_Notify_EventChannel::TAO_Notify_SupplierAdmin_Container [private] |
TAO_Notify_EventChannel::TAO_Notify_EventChannel | ( | void | ) |
Constructor.
TAO_Notify_EventChannel::~TAO_Notify_EventChannel | ( | ) | [virtual] |
Destructor.
void TAO_Notify_EventChannel::_add_ref | ( | void | ) | [virtual] |
ServantBase refcount methods.
void TAO_Notify_EventChannel::_remove_ref | ( | void | ) | [virtual] |
TAO_Notify_EventChannel::TAO_Notify_ConsumerAdmin_Container & TAO_Notify_EventChannel::ca_container | ( | ) | [private] |
void TAO_Notify_EventChannel::cleanup_proxy | ( | CosNotifyChannelAdmin::ProxyID | id, |
bool | is_supplier, | ||
bool | experienced_timeout | ||
) | [virtual] |
CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel::default_consumer_admin | ( | void | ) | [protected] |
CosNotifyFilter::FilterFactory_ptr TAO_Notify_EventChannel::default_filter_factory | ( | void | ) | [protected] |
TAO_Notify_FilterFactory * TAO_Notify_EventChannel::default_filter_factory_servant | ( | ) | const |
CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel::default_supplier_admin | ( | void | ) | [protected] |
void TAO_Notify_EventChannel::destroy | ( | void | ) | [virtual] |
TAO_Notify_Container_T requires a destroy method.
TAO_Notify_ProxyConsumer * TAO_Notify_EventChannel::find_proxy_consumer | ( | TAO_Notify::IdVec & | id_path, |
size_t | position | ||
) |
TAO_Notify_ProxySupplier * TAO_Notify_EventChannel::find_proxy_supplier | ( | TAO_Notify::IdVec & | id_path, |
size_t | position | ||
) |
CosEventChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel::for_consumers | ( | void | ) | [protected] |
CosEventChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel::for_suppliers | ( | void | ) | [protected] |
CosNotification::AdminProperties * TAO_Notify_EventChannel::get_admin | ( | void | ) | [protected] |
CosNotifyChannelAdmin::AdminIDSeq * TAO_Notify_EventChannel::get_all_consumeradmins | ( | void | ) | [protected] |
CosNotifyChannelAdmin::AdminIDSeq * TAO_Notify_EventChannel::get_all_supplieradmins | ( | void | ) | [protected] |
CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel::get_consumeradmin | ( | CosNotifyChannelAdmin::AdminID | id | ) | [virtual] |
This is public to allow TAO_MonitorConsumerAdmin access.
virtual TAO_Notify_Object::ID TAO_Notify_EventChannel::get_id | ( | void | ) | const [inline, virtual] |
Find the id associated with topology object.
A bit of a hack because id is unknown to Topology_Object the get_id returns the same thing as id -- we just need someone to find it for us.
Reimplemented from TAO_Notify::Topology_Object.
CosNotification::QoSProperties * TAO_Notify_EventChannel::get_qos | ( | void | ) | [protected] |
Get the QoS Properties.
Reimplemented from TAO_Notify_Object.
CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel::get_supplieradmin | ( | CosNotifyChannelAdmin::AdminID | id | ) | [virtual] |
This is public to allow TAO_MonitorSupplierAdmin access.
void TAO_Notify_EventChannel::init | ( | TAO_Notify_EventChannelFactory * | ecf, |
const CosNotification::QoSProperties & | initial_qos, | ||
const CosNotification::AdminProperties & | initial_admin | ||
) |
Init.
void TAO_Notify_EventChannel::init | ( | TAO_Notify::Topology_Parent * | parent | ) |
Init (for reload)
void TAO_Notify_EventChannel::load_attrs | ( | const TAO_Notify::NVPList & | attrs | ) | [virtual] |
Load our attributes. Each derived type should call the superclass load first before loading its own attributes.
Reimplemented from TAO_Notify_Object.
TAO_Notify::Topology_Object * TAO_Notify_EventChannel::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::Topology_Object.
CosNotifyChannelAdmin::EventChannelFactory_ptr TAO_Notify_EventChannel::MyFactory | ( | void | ) | [protected] |
=CosNotifyChannelAdmin::EventChannel methods
CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel::new_for_consumers | ( | CosNotifyChannelAdmin::InterFilterGroupOperator | op, |
CosNotifyChannelAdmin::AdminID_out | id | ||
) | [protected] |
CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel::new_for_suppliers | ( | CosNotifyChannelAdmin::InterFilterGroupOperator | op, |
CosNotifyChannelAdmin::AdminID_out | id | ||
) | [protected] |
void TAO_Notify_EventChannel::reconnect | ( | void | ) | [virtual] |
Re-establish connections that we had before a shutdown.
After a topology restore, this method is called so we can reconnect to any external objects with whom we were interacting. We should call the reconnect() method on all of our children to give them the chance to do the same.
Reimplemented from TAO_Notify::Topology_Savable.
void TAO_Notify_EventChannel::release | ( | void | ) | [private, virtual] |
The release method is called when the refcount reaches 0.
Implements TAO_Notify_Refcountable.
void TAO_Notify_EventChannel::remove | ( | TAO_Notify_ConsumerAdmin * | consumer_admin | ) |
Remove ConsumerAdmin from its container.
void TAO_Notify_EventChannel::remove | ( | TAO_Notify_SupplierAdmin * | supplier_admin | ) |
Remove SupplierAdmin from its container.
TAO_Notify_EventChannel::TAO_Notify_SupplierAdmin_Container & TAO_Notify_EventChannel::sa_container | ( | ) | [private] |
void TAO_Notify_EventChannel::save_attrs | ( | TAO_Notify::NVPList & | attrs | ) | [private, virtual] |
Called by derived types to save their attributes. Each derived type should call its superclass version before saving its own attrs.
Reimplemented from TAO_Notify_Object.
void TAO_Notify_EventChannel::save_persistent | ( | TAO_Notify::Topology_Saver & | saver | ) | [virtual] |
Save our state to a Topology_Saver.
Use the methods of a Topology_Saver to store all information we want persisted. This function is called by our parent, which gives us a saver to use. In turn, we must call this function on all of our children. The implementation should look like: bool change = this->self_changed_; this->self_changed_ = false; this->children_changed_ = false; if (is_persistent ()) { bool want_all_children = saver.begin_object( this->id(), type, attrs, change); for all children { if (want_all_children || child.is_changed()) { child.save_persistent(saver); } } for all deleted children { saver.delete_child(child_type, child_id); } saver.end_object(this->id(), type); )
Implements TAO_Notify::Topology_Savable.
void TAO_Notify_EventChannel::set_admin | ( | const CosNotification::AdminProperties & | admin | ) | [protected, virtual] |
void TAO_Notify_EventChannel::set_qos | ( | const CosNotification::QoSProperties & | qos | ) | [protected, virtual] |
Set the QoS Properties.
Reimplemented from TAO_Notify_Object.
int TAO_Notify_EventChannel::shutdown | ( | void | ) | [virtual] |
Shutdown.
Reimplemented from TAO_Notify_Object.
void TAO_Notify_EventChannel::validate | ( | ) | [virtual] |
void TAO_Notify_EventChannel::validate_qos | ( | const CosNotification::QoSProperties & | required_qos, |
CosNotification::NamedPropertyRangeSeq_out | available_qos | ||
) | [protected, virtual] |
friend class TAO_Notify_Builder [friend] |
Reimplemented from TAO_Notify_Object.
ConsumerAdmin Container.
CosNotifyChannelAdmin::ConsumerAdmin_var TAO_Notify_EventChannel::default_consumer_admin_ [private] |
Default Consumer Admin.
CosNotifyFilter::FilterFactory_var TAO_Notify_EventChannel::default_filter_factory_ [private] |
The default filter factory.
CosNotifyChannelAdmin::SupplierAdmin_var TAO_Notify_EventChannel::default_supplier_admin_ [private] |
Default Supplier Admin.
= Data Members The parent object.
SupplierAdmin Container.