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 Types

typedef TAO_Notify_Refcountable_Guard_T<
TAO_Notify_EventChannelFactory
Ptr

Public Member Functions

 TAO_Notify_EventChannelFactory (void)
 Constuctor.
void init (PortableServer::POA_ptr poa)
 Init the factory.
virtual ~TAO_Notify_EventChannelFactory ()
 Destructor.
virtual void _add_ref ()
 = ServantBase Methods
virtual void _remove_ref ()
void remove (TAO_Notify_EventChannel *channel)
 Remove <channel> from the <ec_container_>.
virtual CosNotifyFilter::FilterFactory_ptr get_default_filter_factory ()
 Accesor for the default filter factory shared by all EC's.
void load_topology ()
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)
virtual bool change_to_parent ()
 Send change to parent.
virtual TAO_Notify::Topology_Objectload_child (const ACE_CString &type, CORBA::Long id, const TAO_Notify::NVPList &attrs)
CosNotifyChannelAdmin::EventChannelFactory_ptr activate_self ()
virtual void reconnect ()
bool handle_change ()
 handle change notifications
void load_event_persistence ()
virtual void save_topology () throw (CORBA::SystemException)
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)
TAO_Notify_Objectfollow_id_path (TAO_Notify::IdVec &id_path, size_t position)
virtual TAO_Notify_Object::ID get_id () const
 Find the id associated with topology object.

Private Types

typedef ACE_Unbounded_Set<
TAO_Notify::Routing_Slip_Ptr
Routing_Slip_Set
typedef TAO_Notify_Container_T<
TAO_Notify_EventChannel
TAO_Notify_EventChannel_Container

Private Member Functions

virtual void destroy () throw ( CORBA::SystemException )
 = NotifyExt methods
virtual int shutdown ()
 shutdown
virtual NotifyExt::ReconnectionRegistry::ReconnectionID register_callback (NotifyExt::ReconnectionCallback_ptr reconnection) throw (CORBA::SystemException)
virtual void unregister_callback (NotifyExt::ReconnectionRegistry::ReconnectionID id) throw (CORBA::SystemException)
virtual CORBA::Boolean is_alive () throw (CORBA::SystemException)
virtual ::CosNotifyChannelAdmin::EventChannel_ptr create_channel (const CosNotification::QoSProperties &initial_qos, const CosNotification::AdminProperties &initial_admin, CosNotifyChannelAdmin::ChannelID_out id) throw (CORBA::SystemException, CosNotification::UnsupportedQoS, CosNotification::UnsupportedAdmin)
 = CosNotifyChannelAdmin Methods
virtual ::CosNotifyChannelAdmin::ChannelIDSeqget_all_channels () throw (CORBA::SystemException)
virtual ::CosNotifyChannelAdmin::EventChannel_ptr get_event_channel (CosNotifyChannelAdmin::ChannelID id) throw (CORBA::SystemException, CosNotifyChannelAdmin::ChannelNotFound)
TAO_Notify_EventChannel_Containerec_container ()
virtual void release (void)
 Release this object.

Private Attributes

CosNotifyFilter::FilterFactory_var default_filter_factory_
 = Data Members The default filter factory.
ACE_Auto_Ptr< TAO_Notify_EventChannel_Containerec_container_
 Container for Event Channels.
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_Factorytopology_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 TAO_Notify_Refcountable_Guard_T< TAO_Notify_EventChannelFactory > TAO_Notify_EventChannelFactory::Ptr
 

Reimplemented from TAO_Notify_Refcountable.

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 [private]
 


Constructor & Destructor Documentation

TAO_Notify_EventChannelFactory::TAO_Notify_EventChannelFactory void   ) 
 

Constuctor.

TAO_Notify_EventChannelFactory::~TAO_Notify_EventChannelFactory  )  [virtual]
 

Destructor.


Member Function Documentation

virtual void TAO_Notify_EventChannelFactory::_add_ref  )  [virtual]
 

= ServantBase Methods

virtual void TAO_Notify_EventChannelFactory::_remove_ref  )  [virtual]
 

CosNotifyChannelAdmin::EventChannelFactory_ptr TAO_Notify_EventChannelFactory::activate_self  ) 
 

bool TAO_Notify_EventChannelFactory::change_to_parent  )  [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
throw (CORBA::SystemException, CosNotification::UnsupportedQoS, CosNotification::UnsupportedAdmin) [private]
 

= CosNotifyChannelAdmin Methods

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

= NotifyExt methods

TAO_Notify_EventChannelFactory::TAO_Notify_EventChannel_Container & TAO_Notify_EventChannelFactory::ec_container  )  [private]
 

TAO_Notify_ProxyConsumer * TAO_Notify_EventChannelFactory::find_proxy_consumer TAO_Notify::IdVec id_path,
size_t  position
 

TAO_Notify_ProxySupplier * TAO_Notify_EventChannelFactory::find_proxy_supplier TAO_Notify::IdVec id_path,
size_t  position
 

TAO_Notify_Object* TAO_Notify_EventChannelFactory::follow_id_path TAO_Notify::IdVec id_path,
size_t  position
 

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

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

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

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

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  ) 
 

handle change notifications

void TAO_Notify_EventChannelFactory::init PortableServer::POA_ptr  poa  ) 
 

Init the factory.

virtual CORBA::Boolean TAO_Notify_EventChannelFactory::is_alive  )  throw (CORBA::SystemException) [private, 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
[virtual]
 

void TAO_Notify_EventChannelFactory::load_event_persistence  ) 
 

void TAO_Notify_EventChannelFactory::load_topology  ) 
 

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  )  [virtual]
 

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

void TAO_Notify_EventChannelFactory::release void   )  [private, virtual]
 

Release this object.

Implements TAO_Notify_Refcountable.

void TAO_Notify_EventChannelFactory::remove TAO_Notify_EventChannel channel  ) 
 

Remove <channel> from the <ec_container_>.

void TAO_Notify_EventChannelFactory::save_persistent TAO_Notify::Topology_Saver saver  )  [virtual]
 

void TAO_Notify_EventChannelFactory::save_topology  )  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  )  [private, virtual]
 

shutdown

Reimplemented from TAO_Notify_Object.

void TAO_Notify_EventChannelFactory::unregister_callback NotifyExt::ReconnectionRegistry::ReconnectionID  id  )  throw (CORBA::SystemException) [private, 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_ [private]
 

= Data Members The default filter factory.

ACE_Auto_Ptr< TAO_Notify_EventChannel_Container > TAO_Notify_EventChannelFactory::ec_container_ [private]
 

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 Thu Feb 16 04:06:40 2006 for TAO_CosNotification by  doxygen 1.3.9.1