TAO_CosNotification  2.3.2
Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
TAO_Notify_EventChannelFactory Class Reference

Implementation of CosNotifyChannelAdmin::EventChannelFactory. More...

#include <EventChannelFactory.h>

Inheritance diagram for TAO_Notify_EventChannelFactory:
Inheritance graph
Collaboration diagram for TAO_Notify_EventChannelFactory:
Collaboration graph

Public Types

typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_EventChannelFactoryPtr
- Public Types inherited from TAO_Notify_Object
typedef CORBA::Long ID
 Id for Objects. More...
- Public Types inherited from TAO_Notify_Refcountable
typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_RefcountablePtr

Public Member Functions

 TAO_Notify_EventChannelFactory (void)
 Constructor. More...
void init (PortableServer::POA_ptr poa)
 Init the factory. More...
virtual ~TAO_Notify_EventChannelFactory ()
 Destructor. More...
virtual void _add_ref (void)
 = ServantBase Methods More...
virtual void _remove_ref (void)
virtual void remove (TAO_Notify_EventChannel *channel)
 Remove channel from the <ec_container_> More...
virtual CosNotifyChannelAdmin::EventChannel_ptr create_named_channel (const CosNotification::QoSProperties &initial_qos, const CosNotification::AdminProperties &initial_admin, CosNotifyChannelAdmin::ChannelID_out id, const char *name)
void load_topology (void)
void set_topology_factory (TAO_Notify::Topology_Factory *sf)
virtual bool is_persistent (void) const
 Should this object be saved? More...
virtual void save_persistent (TAO_Notify::Topology_Saver &saver)
virtual bool change_to_parent (void)
 Send change to parent. More...
virtual TAO_Notify::Topology_Objectload_child (const ACE_CString &type, CORBA::Long id, const TAO_Notify::NVPList &attrs)
 Create a child of the appropriate type and return it. More...
CosNotifyChannelAdmin::EventChannelFactory_ptr activate_self (void)
virtual void reconnect (void)
virtual void validate ()
void stop_validator (void)
 at shutdown time, this causes the validator thread to exit. More...
bool handle_change (void)
 Handle change notifications. More...
void load_event_persistence (void)
virtual void save_topology (void)
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 (void) const
 Find the id associated with topology object. More...
- Public Member Functions inherited from TAO_Notify::Topology_Parent
bool child_change (void)
- Public Member Functions inherited from TAO_Notify::Topology_Object
 Topology_Object ()
 The constructor. More...
virtual ~Topology_Object ()
 The destructor. More...
virtual void initialize (Topology_Parent *topology_parent)
 Init this object with data from <rhs>. More...
void get_id_path (IdVec &id_path) const
 Get the path of id's from the root to this object. More...
bool is_changed (void) const
 Is there an unsaved change for this object or its children? More...
- Public Member Functions inherited from TAO_Notify_Object
virtual ~TAO_Notify_Object (void)
 Destructor. More...
ID id (void) const
 This Object's ID. More...
virtual CORBA::Object_ptr activate (PortableServer::Servant servant)
 Activate. More...
virtual CORBA::Object_ptr activate (PortableServer::Servant servant, CORBA::Long id)
 Activate with existing id. More...
void deactivate (void)
 Deactivate. More...
bool has_shutdown (void)
 Have we been shutdown. returns true if shutdown. More...
void execute_task (TAO_Notify_Method_Request &method_request)
CORBA::Object_ptr ref (void)
 Get CORBA Ref. More...
virtual void set_qos (const CosNotification::QoSProperties &qos)
 Set the QoS Properties. More...
CosNotification::QoSPropertiesget_qos (void)
 Get the QoS Properties. More...
bool find_qos_property_value (const char *name, CosNotification::PropertyValue &value) const
virtual TAO_Notify_Timertimer (void)
 Obtain the Timer manager associated with this object. More...
TAO_Notify_Event_Managerevent_manager (void)
 Accessor for the Event Manager. More...
virtual void load_attrs (const TAO_Notify::NVPList &attrs)
TAO_Notify_Worker_Taskget_worker_task (void)
 Allow access to the underlying worker task. More...
- Public Member Functions inherited from TAO_Notify_Refcountable
 TAO_Notify_Refcountable (void)
 Constructor. More...
virtual ~TAO_Notify_Refcountable ()
CORBA::ULong _incr_refcnt (void)
CORBA::ULong _decr_refcnt (void)
- Public Member Functions inherited from TAO_Notify::Topology_Savable
virtual ~Topology_Savable (void)
 Destructor. More...

Protected Member Functions

virtual ::CosNotifyChannelAdmin::EventChannel_ptr create_channel (const CosNotification::QoSProperties &initial_qos, const CosNotification::AdminProperties &initial_admin, CosNotifyChannelAdmin::ChannelID_out id)
 = CosNotifyChannelAdmin Methods More...
virtual ::CosNotifyChannelAdmin::ChannelIDSeqget_all_channels (void)
virtual ::CosNotifyChannelAdmin::EventChannel_ptr get_event_channel (CosNotifyChannelAdmin::ChannelID id)
- Protected Member Functions inherited from TAO_Notify::Topology_Object
bool self_change (void)
 Method to report change in this object. More...
Topology_Parenttopology_parent () const
 pointer to our topological parent More...
bool send_change (void)
 Handle details of propagating change. More...
bool send_deletion_change ()
 Handle details of propagating change for a deleted object. More...
- Protected Member Functions inherited from TAO_Notify_Object
 TAO_Notify_Object (void)
 Constructor. More...
void initialize (TAO_Notify_Object *parent)
 Init this object with data from <rhs>. More...
void inherit_poas (TAO_Notify_Object &parent)
 Uses the poas from the supplied object. More...
void adopt_poa (TAO_Notify_POA_Helper *single)
 Adopts the supplied poa as all are poas. More...
void set_primary_as_proxy_poa ()
 Changes the primary poa to the current proxy poa. More...
TAO_Notify_POA_Helperproxy_poa (void)
 Accessor for the proxy_poa_. More...
TAO_Notify_POA_Helperobject_poa (void)
 Accessor for the object_poa_. More...
TAO_Notify_POA_Helperpoa (void)
 Get the POA assigned to us. More...
void set_event_manager (TAO_Notify_Event_Manager *event_manager)
void set_admin_properties (TAO_Notify_AdminProperties *admin_properties)
TAO_Notify_AdminPropertiesadmin_properties (void)
 Accessor for the Admin Properties. More...
virtual void qos_changed (const TAO_Notify_QoSProperties &qos_properties)
virtual void save_attrs (TAO_Notify::NVPList &attrs)

Private Types

typedef ACE_Unbounded_Set< TAO_Notify::Routing_Slip_PtrRouting_Slip_Set
typedef TAO_Notify_Container_T< TAO_Notify_EventChannelTAO_Notify_EventChannel_Container

Private Member Functions

virtual void destroy (void)
 = Data Members More...
virtual int shutdown (void)
 shutdown More...
virtual NotifyExt::ReconnectionRegistry::ReconnectionID register_callback (NotifyExt::ReconnectionCallback_ptr reconnection)
virtual void unregister_callback (NotifyExt::ReconnectionRegistry::ReconnectionID id)
virtual CORBA::Boolean is_alive (void)
TAO_Notify_EventChannel_Containerec_container ()
virtual void release (void)
 Release this object. More...

Private Attributes

ACE_Auto_Ptr< TAO_Notify_EventChannel_Containerec_container_
 Container for Event Channels. More...
TAO_SYNCH_MUTEX topology_save_lock_
CosNotifyChannelAdmin::EventChannelFactory_var channel_factory_
short topology_save_seq_
 Change-in-progress detector to avoid duplicates. More...
TAO_Notify::Reconnection_Registry reconnect_registry_
bool loading_topology_
Routing_Slip_Set routing_slip_restart_set_
ACE_Auto_Ptr< TAO_Notify_validate_client_Taskvalidate_client_task_
PortableServer::POA_var poa_


class TAO_Notify_Builder

Additional Inherited Members

- Protected Attributes inherited from TAO_Notify::Topology_Object
bool self_changed_
 true if this object changed since last save_persistent More...
bool children_changed_
 true of any of this object's children changed since last save_persistent More...
 A safely-typed copy of parent_;. More...
- Protected Attributes inherited from TAO_Notify_Object
TAO_Notify_QoSProperties qos_properties_
 = Protected data members. More...
 The mutex to serialize access to state variables. More...

Detailed Description

Implementation of CosNotifyChannelAdmin::EventChannelFactory.

Member Typedef Documentation

Constructor & Destructor Documentation

TAO_Notify_EventChannelFactory::TAO_Notify_EventChannelFactory ( void  )


TAO_Notify_EventChannelFactory::~TAO_Notify_EventChannelFactory ( )


Member Function Documentation

void TAO_Notify_EventChannelFactory::_add_ref ( void  )

= ServantBase Methods

void TAO_Notify_EventChannelFactory::_remove_ref ( void  )
CosNotifyChannelAdmin::EventChannelFactory_ptr TAO_Notify_EventChannelFactory::activate_self ( void  )
bool TAO_Notify_EventChannelFactory::change_to_parent ( void  )

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()

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 
CosNotifyChannelAdmin::EventChannel_ptr TAO_Notify_EventChannelFactory::create_named_channel ( const CosNotification::QoSProperties initial_qos,
const CosNotification::AdminProperties initial_admin,
CosNotifyChannelAdmin::ChannelID_out  id,
const char *  name 

This method is called by the Notify_Service when the event channel is automatically created and bound in the name service.

void TAO_Notify_EventChannelFactory::destroy ( void  )

= Data Members

= NotifyExt methods

TAO_Notify_EventChannelFactory::TAO_Notify_EventChannel_Container & TAO_Notify_EventChannelFactory::ec_container ( )
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 ( void  )
CosNotifyChannelAdmin::EventChannel_ptr TAO_Notify_EventChannelFactory::get_event_channel ( CosNotifyChannelAdmin::ChannelID  id)
TAO_Notify_Object::ID TAO_Notify_EventChannelFactory::get_id ( void  ) const

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 ( void  )

Handle change notifications.

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

Init the factory.

CORBA::Boolean TAO_Notify_EventChannelFactory::is_alive ( void  )
bool TAO_Notify_EventChannelFactory::is_persistent ( void  ) const

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.

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 

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_EventChannelFactory::load_event_persistence ( void  )
void TAO_Notify_EventChannelFactory::load_topology ( void  )

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 ( void  )

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)
void TAO_Notify_EventChannelFactory::release ( void  )

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)

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_EventChannelFactory::save_topology ( void  )
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 ( void  )


Reimplemented from TAO_Notify_Object.

void TAO_Notify_EventChannelFactory::stop_validator ( void  )

at shutdown time, this causes the validator thread to exit.

void TAO_Notify_EventChannelFactory::unregister_callback ( NotifyExt::ReconnectionRegistry::ReconnectionID  id)
void TAO_Notify_EventChannelFactory::validate ( )

Friends And Related Function Documentation

friend class TAO_Notify_Builder

Member Data Documentation

CosNotifyChannelAdmin::EventChannelFactory_var TAO_Notify_EventChannelFactory::channel_factory_
ACE_Auto_Ptr< TAO_Notify_EventChannel_Container > TAO_Notify_EventChannelFactory::ec_container_

Container for Event Channels.

bool TAO_Notify_EventChannelFactory::loading_topology_
PortableServer::POA_var TAO_Notify_EventChannelFactory::poa_
TAO_Notify::Reconnection_Registry TAO_Notify_EventChannelFactory::reconnect_registry_
Routing_Slip_Set TAO_Notify_EventChannelFactory::routing_slip_restart_set_
TAO_Notify::Topology_Factory* TAO_Notify_EventChannelFactory::topology_factory_
TAO_SYNCH_MUTEX TAO_Notify_EventChannelFactory::topology_save_lock_
short TAO_Notify_EventChannelFactory::topology_save_seq_

Change-in-progress detector to avoid duplicates.

ACE_Auto_Ptr<TAO_Notify_validate_client_Task> TAO_Notify_EventChannelFactory::validate_client_task_

The documentation for this class was generated from the following files: