Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

TAO_Notify_EventChannelFactory Class Reference

Implementation of CosNotifyChannelAdmin::EventChannelFactory. More...

#include <EventChannelFactory.h>

Inheritance diagram for TAO_Notify_EventChannelFactory:

Inheritance graph
[legend]
Collaboration diagram for TAO_Notify_EventChannelFactory:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Notify_EventChannelFactory (void)
 Constuctor.
void init (PortableServer::POA_ptr poa ACE_ENV_ARG_DECL)
 Init the factory.
virtual ~TAO_Notify_EventChannelFactory ()
 Destructor.
virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL)
 = ServantBase Methods
virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL)
virtual void release (void)
 Release this object.
void remove (TAO_Notify_EventChannel *channel ACE_ENV_ARG_DECL)
 Remove <channel> from the <ec_container_>.
virtual CosNotifyFilter::FilterFactory_ptr get_default_filter_factory (ACE_ENV_SINGLE_ARG_DECL)
 Accesor for the default filter factory shared by all EC's.
void load_topology (ACE_ENV_SINGLE_ARG_DECL)
void set_topology_factory (TAO_Notify::Topology_Factory *sf)
virtual bool is_persistent () const
 Should this object be saved?
virtual void save_persistent (TAO_Notify::Topology_Saver &saver ACE_ENV_ARG_DECL)
virtual bool change_to_parent (ACE_ENV_SINGLE_ARG_DECL)
 Send change to parent.
virtual TAO_Notify::Topology_Object * load_child (const ACE_CString &type, CORBA::Long id, const TAO_Notify::NVPList &attrs ACE_ENV_ARG_DECL)
CosNotifyChannelAdmin::EventChannelFactory_ptr activate_self (ACE_ENV_SINGLE_ARG_DECL)
virtual void reconnect (ACE_ENV_SINGLE_ARG_DECL)
bool handle_change (ACE_ENV_SINGLE_ARG_DECL)
 handle change notifications
void load_event_persistence (ACE_ENV_SINGLE_ARG_DECL)
virtual void save_topology (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
TAO_Notify_ProxyConsumer * find_proxy_consumer (TAO_Notify::IdVec &id_path, size_t position ACE_ENV_ARG_DECL)
TAO_Notify_ProxySupplier * find_proxy_supplier (TAO_Notify::IdVec &id_path, size_t position ACE_ENV_ARG_DECL)
TAO_Notify_Object * follow_id_path (TAO_Notify::IdVec &id_path, size_t position ACE_ENV_ARG_DECL)
virtual TAO_Notify_Object::ID get_id () const
 Find the id associated with topology object.

Protected Types

typedef TAO_Notify_Container_T<
TAO_Notify_EventChannel > 
TAO_Notify_EventChannel_Container

Protected Member Functions

virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) throw ( CORBA::SystemException )
 = NotifyExt methods
virtual int shutdown (ACE_ENV_SINGLE_ARG_DECL)
 shutdown
virtual NotifyExt::ReconnectionRegistry::ReconnectionID register_callback (NotifyExt::ReconnectionCallback_ptr reconnection ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
virtual void unregister_callback (NotifyExt::ReconnectionRegistry::ReconnectionID id ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
virtual CORBA::Boolean is_alive (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
virtual ::CosNotifyChannelAdmin::EventChannel_ptr create_channel (const CosNotification::QoSProperties &initial_qos, const CosNotification::AdminProperties &initial_admin, CosNotifyChannelAdmin::ChannelID_out id ACE_ENV_ARG_DECL) throw (CORBA::SystemException, CosNotification::UnsupportedQoS, CosNotification::UnsupportedAdmin)
 = CosNotifyChannelAdmin Methods
virtual ::CosNotifyChannelAdmin::ChannelIDSeq * get_all_channels (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
virtual ::CosNotifyChannelAdmin::EventChannel_ptr get_event_channel (CosNotifyChannelAdmin::ChannelID id ACE_ENV_ARG_DECL) throw (CORBA::SystemException, CosNotifyChannelAdmin::ChannelNotFound)

Protected Attributes

TAO_Notify_EventChannel_Container * ec_container_
CosNotifyFilter::FilterFactory_var default_filter_factory_
 The default filter factory.

Private Types

typedef ACE_Unbounded_Set<
TAO_Notify::Routing_Slip_Ptr > 
Routing_Slip_Set

Private Attributes

TAO_SYNCH_MUTEX topology_save_lock_
CosNotifyChannelAdmin::EventChannelFactory_var channel_factory_
short topology_save_seq_
 change-in-progress detector to avoid duplicates
TAO_Notify::Topology_Factory * topology_factory_
TAO_Notify::Reconnection_Registry reconnect_registry_
bool loading_topology_
Routing_Slip_Set routing_slip_restart_set_

Friends

class TAO_Notify_Builder

Detailed Description

Implementation of CosNotifyChannelAdmin::EventChannelFactory.


Member Typedef Documentation

typedef ACE_Unbounded_Set<TAO_Notify::Routing_Slip_Ptr> TAO_Notify_EventChannelFactory::Routing_Slip_Set [private]
 

typedef TAO_Notify_Container_T<TAO_Notify_EventChannel> TAO_Notify_EventChannelFactory::TAO_Notify_EventChannel_Container [protected]
 


Constructor & Destructor Documentation

TAO_Notify_EventChannelFactory::TAO_Notify_EventChannelFactory (  void   ) 
 

Constuctor.

TAO_Notify_EventChannelFactory::~TAO_Notify_EventChannelFactory (   )  [virtual]
 

Destructor.


Member Function Documentation

void TAO_Notify_EventChannelFactory::_add_ref (  ACE_ENV_SINGLE_ARG_DECL   )  [virtual]
 

= ServantBase Methods

void TAO_Notify_EventChannelFactory::_remove_ref (  ACE_ENV_SINGLE_ARG_DECL   )  [virtual]
 

CosNotifyChannelAdmin::EventChannelFactory_ptr TAO_Notify_EventChannelFactory::activate_self (  ACE_ENV_SINGLE_ARG_DECL   ) 
 

bool TAO_Notify_EventChannelFactory::change_to_parent (  ACE_ENV_SINGLE_ARG_DECL   )  [virtual]
 

Send change to parent.

Override this if you don't expect to have a parent (top level of tree) private virtual because this should only be called from send_change()

Returns:
false if save will never happen

Reimplemented from TAO_Notify::Topology_Object.

CosNotifyChannelAdmin::EventChannel_ptr TAO_Notify_EventChannelFactory::create_channel (  const CosNotification::QoSProperties &  initial_qos,
const CosNotification::AdminProperties &  initial_admin,
CosNotifyChannelAdmin::ChannelID_out id  ACE_ENV_ARG_DECL
)  throw (CORBA::SystemException, CosNotification::UnsupportedQoS, CosNotification::UnsupportedAdmin) [protected]
 

= CosNotifyChannelAdmin Methods

void TAO_Notify_EventChannelFactory::destroy (  ACE_ENV_SINGLE_ARG_DECL   )  throw ( CORBA::SystemException ) [protected, virtual]
 

= NotifyExt methods

TAO_Notify_ProxyConsumer * TAO_Notify_EventChannelFactory::find_proxy_consumer (  TAO_Notify::IdVec &  id_path,
size_t position  ACE_ENV_ARG_DECL
) 
 

TAO_Notify_ProxySupplier * TAO_Notify_EventChannelFactory::find_proxy_supplier (  TAO_Notify::IdVec &  id_path,
size_t position  ACE_ENV_ARG_DECL
) 
 

TAO_Notify_Object* TAO_Notify_EventChannelFactory::follow_id_path (  TAO_Notify::IdVec &  id_path,
size_t position  ACE_ENV_ARG_DECL
) 
 

CosNotifyChannelAdmin::ChannelIDSeq * TAO_Notify_EventChannelFactory::get_all_channels (  ACE_ENV_SINGLE_ARG_DECL   )  throw (CORBA::SystemException) [protected]
 

CosNotifyFilter::FilterFactory_ptr TAO_Notify_EventChannelFactory::get_default_filter_factory (  ACE_ENV_SINGLE_ARG_DECL   )  [virtual]
 

Accesor for the default filter factory shared by all EC's.

CosNotifyChannelAdmin::EventChannel_ptr TAO_Notify_EventChannelFactory::get_event_channel (  CosNotifyChannelAdmin::ChannelID id  ACE_ENV_ARG_DECL  )  throw (CORBA::SystemException, CosNotifyChannelAdmin::ChannelNotFound) [protected]
 

TAO_Notify_Object::ID TAO_Notify_EventChannelFactory::get_id (   )  const [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.

bool TAO_Notify_EventChannelFactory::handle_change (  ACE_ENV_SINGLE_ARG_DECL   ) 
 

handle change notifications

void TAO_Notify_EventChannelFactory::init (  PortableServer::POA_ptr poa  ACE_ENV_ARG_DECL  ) 
 

Init the factory.

CORBA::Boolean TAO_Notify_EventChannelFactory::is_alive (  ACE_ENV_SINGLE_ARG_DECL   )  throw (CORBA::SystemException) [protected, virtual]
 

bool TAO_Notify_EventChannelFactory::is_persistent (   )  const [virtual]
 

Should this object be saved?

This is a way for send_change() and save_persistent() to find out if this object has a persistent QoS connection property.

Returns:
true (default) if object should be saved.

Reimplemented from TAO_Notify::Topology_Object.

TAO_Notify::Topology_Object * TAO_Notify_EventChannelFactory::load_child (  const ACE_CString &  type,
CORBA::Long  id,
const TAO_Notify::NVPList &attrs  ACE_ENV_ARG_DECL
)  [virtual]
 

void TAO_Notify_EventChannelFactory::load_event_persistence (  ACE_ENV_SINGLE_ARG_DECL   ) 
 

void TAO_Notify_EventChannelFactory::load_topology (  ACE_ENV_SINGLE_ARG_DECL   ) 
 

Use the registered Topology_Factory to create a loader, and load the topology. If no Topology_Factory is registered then nothing will be loaded.

void TAO_Notify_EventChannelFactory::reconnect (  ACE_ENV_SINGLE_ARG_DECL   )  [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.

NotifyExt::ReconnectionRegistry::ReconnectionID TAO_Notify_EventChannelFactory::register_callback (  NotifyExt::ReconnectionCallback_ptr reconnection  ACE_ENV_ARG_DECL  )  throw (CORBA::SystemException) [protected, virtual]
 

void TAO_Notify_EventChannelFactory::release (  void   )  [virtual]
 

Release this object.

Implements TAO_Notify_Refcountable.

void TAO_Notify_EventChannelFactory::remove (  TAO_Notify_EventChannel *channel  ACE_ENV_ARG_DECL  ) 
 

Remove <channel> from the <ec_container_>.

void TAO_Notify_EventChannelFactory::save_persistent (  TAO_Notify::Topology_Saver &saver  ACE_ENV_ARG_DECL  )  [virtual]
 

void TAO_Notify_EventChannelFactory::save_topology (  ACE_ENV_SINGLE_ARG_DECL   )  throw (CORBA::SystemException) [virtual]
 

void TAO_Notify_EventChannelFactory::set_topology_factory (  TAO_Notify::Topology_Factory *  sf  ) 
 

Use the passed in saver factory to generate topology saver objects. Does not take ownership.

int TAO_Notify_EventChannelFactory::shutdown (  ACE_ENV_SINGLE_ARG_DECL   )  [protected, virtual]
 

shutdown

Reimplemented from TAO_Notify_Object.

void TAO_Notify_EventChannelFactory::unregister_callback (  NotifyExt::ReconnectionRegistry::ReconnectionID id  ACE_ENV_ARG_DECL  )  throw (CORBA::SystemException) [protected, virtual]
 


Friends And Related Function Documentation

friend class TAO_Notify_Builder [friend]
 

Reimplemented from TAO_Notify_Object.


Member Data Documentation

CosNotifyChannelAdmin::EventChannelFactory_var TAO_Notify_EventChannelFactory::channel_factory_ [private]
 

CosNotifyFilter::FilterFactory_var TAO_Notify_EventChannelFactory::default_filter_factory_ [protected]
 

The default filter factory.

TAO_Notify_EventChannel_Container* TAO_Notify_EventChannelFactory::ec_container_ [protected]
 

= Data Members Container for Event Channels.

bool TAO_Notify_EventChannelFactory::loading_topology_ [private]
 

TAO_Notify::Reconnection_Registry TAO_Notify_EventChannelFactory::reconnect_registry_ [private]
 

Routing_Slip_Set TAO_Notify_EventChannelFactory::routing_slip_restart_set_ [private]
 

TAO_Notify::Topology_Factory* TAO_Notify_EventChannelFactory::topology_factory_ [private]
 

TAO_SYNCH_MUTEX TAO_Notify_EventChannelFactory::topology_save_lock_ [private]
 

short TAO_Notify_EventChannelFactory::topology_save_seq_ [private]
 

change-in-progress detector to avoid duplicates


The documentation for this class was generated from the following files:
Generated on Sun May 15 13:27:47 2005 for TAO_CosNotification by  doxygen 1.3.9.1