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

TAO_Notify::Topology_Savable Class Reference

Interface to be implemented by savable topology objects. More...

#include <Topology_Object.h>

Inheritance diagram for TAO_Notify::Topology_Savable:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual ~Topology_Savable (void)
 Destructor.
virtual void save_persistent (Topology_Saver &saver ACE_ENV_ARG_DECL)=0
virtual void reconnect (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)

Detailed Description

Interface to be implemented by savable topology objects.


Constructor & Destructor Documentation

TAO_Notify::Topology_Savable::~Topology_Savable void   )  [virtual]
 

Destructor.


Member Function Documentation

void TAO_Notify::Topology_Savable::reconnect ACE_ENV_SINGLE_ARG_DECL_NOT_USED   )  [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 in TAO_Notify_Admin, TAO_Notify_EventChannel, and TAO_Notify_EventChannelFactory.

virtual void TAO_Notify::Topology_Savable::save_persistent Topology_Saver &saver  ACE_ENV_ARG_DECL  )  [pure 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); )

Implemented in TAO_Notify::Reconnection_Registry.


The documentation for this class was generated from the following files:
Generated on Tue Dec 20 23:47:41 2005 for TAO_CosNotification by  doxygen 1.3.9.1