TAO_Notify_EventChannel Class Reference

Implementation of CosNotifyChannelAdmin::EventChannel. More...

#include <EventChannel.h>

Inheritance diagram for TAO_Notify_EventChannel:

Inheritance graph
[legend]
Collaboration diagram for TAO_Notify_EventChannel:

Collaboration graph
[legend]

List of all members.

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)
 Constuctor.
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
TAO_Notify_Object::ID 
get_id () const
 Find the id associated with topology object.
TAO_Notify_ProxyConsumerfind_proxy_consumer (TAO_Notify::IdVec &id_path, size_t position)
TAO_Notify_ProxySupplierfind_proxy_supplier (TAO_Notify::IdVec &id_path, size_t position)
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.

Protected Member Functions

virtual
::CosNotifyChannelAdmin::EventChannelFactory_ptr 
MyFactory ()
 =CosNotifyChannelAdminEventChannel methods
virtual
::CosNotifyChannelAdmin::ConsumerAdmin_ptr 
default_consumer_admin ()
virtual
::CosNotifyChannelAdmin::SupplierAdmin_ptr 
default_supplier_admin ()
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::ConsumerAdmin_ptr 
get_consumeradmin (CosNotifyChannelAdmin::AdminID id)
virtual
::CosNotifyChannelAdmin::SupplierAdmin_ptr 
get_supplieradmin (CosNotifyChannelAdmin::AdminID 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_Containerca_container ()
TAO_Notify_SupplierAdmin_Containersa_container ()
virtual void release (void)
 Release.

Private Attributes

TAO_Notify_EventChannelFactory::Ptr ecf_
TAO_SYNCH_MUTEX default_admin_mutex_
CosNotifyChannelAdmin::ConsumerAdmin_var default_consumer_admin_
CosNotifyChannelAdmin::SupplierAdmin_var 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.

Friends

class TAO_Notify_Builder


Detailed Description

Implementation of CosNotifyChannelAdmin::EventChannel.

Member Typedef Documentation

typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_EventChannel > TAO_Notify_EventChannel::Ptr

Reimplemented from TAO_Notify_Refcountable.

typedef CosNotifyChannelAdmin::ChannelIDSeq TAO_Notify_EventChannel::SEQ

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]


Constructor & Destructor Documentation

TAO_Notify_EventChannel::TAO_Notify_EventChannel ( void   ) 

Constuctor.

TAO_Notify_EventChannel::~TAO_Notify_EventChannel (  )  [virtual]

Destructor.


Member Function Documentation

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::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.

void TAO_Notify_EventChannel::_add_ref ( void   )  [virtual]

ServantBase refcount methods.

void TAO_Notify_EventChannel::_remove_ref ( void   )  [virtual]

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.

TAO_Notify::Topology_Object * TAO_Notify_EventChannel::load_child ( const ACE_CString ,
CORBA::Long  ,
const TAO_Notify::NVPList  
) [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.

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.

virtual TAO_Notify_Object::ID TAO_Notify_EventChannel::get_id (  )  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.

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 
)

int TAO_Notify_EventChannel::shutdown ( void   )  [virtual]

Shutdown.

Reimplemented from TAO_Notify_Object.

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.

void TAO_Notify_EventChannel::destroy ( void   )  [virtual]

TAO_Notify_Container_T requires a destroy method.

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.

CosNotifyChannelAdmin::EventChannelFactory_ptr TAO_Notify_EventChannel::MyFactory ( void   )  [protected]

=CosNotifyChannelAdminEventChannel methods

CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel::default_consumer_admin ( void   )  [protected]

CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel::default_supplier_admin ( void   )  [protected]

CosNotifyFilter::FilterFactory_ptr TAO_Notify_EventChannel::default_filter_factory ( void   )  [protected]

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]

CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel::get_consumeradmin ( CosNotifyChannelAdmin::AdminID  id  )  [protected]

CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel::get_supplieradmin ( CosNotifyChannelAdmin::AdminID  id  )  [protected]

CosNotifyChannelAdmin::AdminIDSeq * TAO_Notify_EventChannel::get_all_consumeradmins ( void   )  [protected]

CosNotifyChannelAdmin::AdminIDSeq * TAO_Notify_EventChannel::get_all_supplieradmins ( void   )  [protected]

CosNotification::QoSProperties * TAO_Notify_EventChannel::get_qos ( void   )  [protected]

Get the QoS Properties.

Reimplemented from TAO_Notify_Object.

void TAO_Notify_EventChannel::set_qos ( const CosNotification::QoSProperties qos  )  [protected, virtual]

Set the QoS Properties.

Reimplemented from TAO_Notify_Object.

void TAO_Notify_EventChannel::validate_qos ( const CosNotification::QoSProperties required_qos,
CosNotification::NamedPropertyRangeSeq_out  available_qos 
) [protected, virtual]

CosNotification::AdminProperties * TAO_Notify_EventChannel::get_admin ( void   )  [protected]

void TAO_Notify_EventChannel::set_admin ( const CosNotification::AdminProperties admin  )  [protected, virtual]

CosEventChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel::for_consumers ( void   )  [protected]

CosEventChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel::for_suppliers ( void   )  [protected]

TAO_Notify_EventChannel::TAO_Notify_ConsumerAdmin_Container & TAO_Notify_EventChannel::ca_container (  )  [private]

TAO_Notify_EventChannel::TAO_Notify_SupplierAdmin_Container & TAO_Notify_EventChannel::sa_container (  )  [private]

void TAO_Notify_EventChannel::release ( void   )  [private, virtual]

Release.

Implements TAO_Notify_Refcountable.


Friends And Related Function Documentation

friend class TAO_Notify_Builder [friend]

Reimplemented from TAO_Notify_Object.


Member Data Documentation

TAO_Notify_EventChannelFactory::Ptr TAO_Notify_EventChannel::ecf_ [private]

= Data Members The parent object.

TAO_SYNCH_MUTEX TAO_Notify_EventChannel::default_admin_mutex_ [private]

CosNotifyChannelAdmin::ConsumerAdmin_var TAO_Notify_EventChannel::default_consumer_admin_ [private]

CosNotifyChannelAdmin::SupplierAdmin_var TAO_Notify_EventChannel::default_supplier_admin_ [private]

ACE_Auto_Ptr< TAO_Notify_ConsumerAdmin_Container > TAO_Notify_EventChannel::ca_container_ [private]

ConsumerAdmin Container.

ACE_Auto_Ptr< TAO_Notify_SupplierAdmin_Container > TAO_Notify_EventChannel::sa_container_ [private]

SupplierAdmin Container.


The documentation for this class was generated from the following files:
Generated on Mon Sep 3 04:35:38 2007 for TAO_CosNotification by  doxygen 1.5.3