TAO_CosNotification  2.2.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
TAO_Notify::Topology_Savable Class Referenceabstract

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

#include <Topology_Object.h>

Inheritance diagram for TAO_Notify::Topology_Savable:
Inheritance graph
Collaboration diagram for TAO_Notify::Topology_Savable:
Collaboration graph

Public Member Functions

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

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 ( void  )
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_EventChannelFactory, TAO_Notify_EventChannel, and TAO_Notify_Admin.

virtual void TAO_Notify::Topology_Savable::save_persistent ( Topology_Saver saver)
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); 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); )

Implemented in TAO_Notify_EventChannelFactory, TAO_Notify_Proxy, TAO_Notify_ETCL_Filter, TAO_Notify_EventChannel, TAO_Notify_Admin, TAO_Notify_EventType, TAO_Notify_EventTypeSeq, TAO_Notify_ETCL_FilterFactory, TAO_Notify::Reconnection_Registry, TAO_Notify_FilterAdmin, and TAO_Notify_Constraint_Expr.


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