TAO_Notify::Reconnection_Registry Class Reference

Implementation of ReconnectionRegistry. More...

#include <Reconnection_Registry.h>

Inheritance diagram for TAO_Notify::Reconnection_Registry:

Inheritance graph
[legend]
Collaboration diagram for TAO_Notify::Reconnection_Registry:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Reconnection_Registry (Topology_Parent &parent)
 Constructor.
virtual ~Reconnection_Registry ()
 Destructor.
::NotifyExt::ReconnectionRegistry::ReconnectionID register_callback (::NotifyExt::ReconnectionCallback_ptr callback ACE_ENV_ARG_DECL)
 add a new callback to the registry
void unregister_callback (::NotifyExt::ReconnectionRegistry::ReconnectionID id ACE_ENV_ARG_DECL)
CORBA::Boolean is_alive (ACE_ENV_SINGLE_ARG_DECL)
virtual void save_persistent (Topology_Saver &saver ACE_ENV_ARG_DECL)
virtual Topology_Objectload_child (const ACE_CString &type, CORBA::Long id, const NVPList &attrs ACE_ENV_ARG_DECL)
void send_reconnect (CosNotifyChannelAdmin::EventChannelFactory_ptr dest_factory ACE_ENV_ARG_DECL)

Private Types

typedef ACE_Hash_Map_Manager_Ex<
NotifyExt::ReconnectionRegistry::ReconnectionID,
ACE_CString, ACE_Hash< NotifyExt::ReconnectionRegistry::ReconnectionID >,
ACE_Equal_To< NotifyExt::ReconnectionRegistry::ReconnectionID >,
ACE_SYNCH_NULL_MUTEX
Reconnection_Registry_Type
 The registry consists of a map from ReconnectionID to stringified IOR.

Private Member Functions

void release (void)
 The release method is called when the refcount reaches 0.

Private Attributes

Reconnection_Registry_Type reconnection_registry_
::NotifyExt::ReconnectionRegistry::ReconnectionID highest_id_

Detailed Description

Implementation of ReconnectionRegistry.


Member Typedef Documentation

typedef ACE_Hash_Map_Manager_Ex<NotifyExt::ReconnectionRegistry::ReconnectionID, ACE_CString, ACE_Hash<NotifyExt::ReconnectionRegistry::ReconnectionID>, ACE_Equal_To<NotifyExt::ReconnectionRegistry::ReconnectionID>, ACE_SYNCH_NULL_MUTEX> TAO_Notify::Reconnection_Registry::Reconnection_Registry_Type [private]
 

The registry consists of a map from ReconnectionID to stringified IOR.


Constructor & Destructor Documentation

TAO_Notify::Reconnection_Registry::Reconnection_Registry Topology_Parent parent  ) 
 

Constructor.

TAO_Notify::Reconnection_Registry::~Reconnection_Registry  )  [virtual]
 

Destructor.


Member Function Documentation

CORBA::Boolean TAO_Notify::Reconnection_Registry::is_alive ACE_ENV_SINGLE_ARG_DECL   ) 
 

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

::NotifyExt::ReconnectionRegistry::ReconnectionID TAO_Notify::Reconnection_Registry::register_callback ::NotifyExt::ReconnectionCallback_ptr callback  ACE_ENV_ARG_DECL  ) 
 

add a new callback to the registry

void TAO_Notify::Reconnection_Registry::release void   )  [private, virtual]
 

The release method is called when the refcount reaches 0.

Implements TAO_Notify_Refcountable.

void TAO_Notify::Reconnection_Registry::save_persistent Topology_Saver &saver  ACE_ENV_ARG_DECL  )  [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 ACE_ENV_ARG_PARAMETER); ACE_CHECK; for all children { if (want_all_children || child.is_changed()) { child.save_persistent(saver ACE_ENV_ARG_PARAMETER); ACE_CHECK; } } for all deleted children { saver.delete_child(child_type, child_id); } saver.end_object(this->id(), type ACE_ENV_ARG_PARAMETER); )

Implements TAO_Notify::Topology_Savable.

void TAO_Notify::Reconnection_Registry::send_reconnect CosNotifyChannelAdmin::EventChannelFactory_ptr dest_factory  ACE_ENV_ARG_DECL  ) 
 

void TAO_Notify::Reconnection_Registry::unregister_callback ::NotifyExt::ReconnectionRegistry::ReconnectionID id  ACE_ENV_ARG_DECL  ) 
 


Member Data Documentation

::NotifyExt::ReconnectionRegistry::ReconnectionID TAO_Notify::Reconnection_Registry::highest_id_ [private]
 

Reconnection_Registry_Type TAO_Notify::Reconnection_Registry::reconnection_registry_ [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Nov 23 16:23:55 2005 for TAO_CosNotification by  doxygen 1.4.5