TAO_Notify::Topology_Object Class Reference

Base class for Persistent Topology Objects. More...

#include <Topology_Object.h>

Inheritance diagram for TAO_Notify::Topology_Object:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Topology_Object ()
 The constructor.
virtual ~Topology_Object ()
 The destructor.
virtual void initialize (Topology_Parent *topology_parent ACE_ENV_ARG_DECL)
 Init this object with data from <rhs>.
virtual Topology_Objectload_child (const ACE_CString &, CORBA::Long, const NVPList &ACE_ENV_ARG_DECL_NOT_USED)
 Create a child of the appropriate type and return it.
virtual TAO_Notify_Object::ID get_id () const
 Find the id associated with topology object.
void get_id_path (IdVec &id_path) const
 Get the path of id's from the root to this object.
bool is_changed () const
 Is there an unsaved change for this object or its children?

Protected Member Functions

virtual bool is_persistent () const
 Should this object be saved?
bool self_change (ACE_ENV_SINGLE_ARG_DECL)
 Method to report change in this object.
Topology_Parenttopology_parent () const
 pointer to our topological parent
bool send_change (ACE_ENV_SINGLE_ARG_DECL)
 Handle details of propagating change.

Protected Attributes

bool self_changed_
 true if this object changed since last save_persistent
bool children_changed_
 true of any of this object's children changed since last save_persistent
Topology_Parenttopology_parent_
 A safely-typed copy of parent_;.

Private Member Functions

virtual bool change_to_parent (ACE_ENV_SINGLE_ARG_DECL)
 Send change to parent.

Detailed Description

Base class for Persistent Topology Objects.

Topology objects must be derived from this class to allow themselves to be persisted. Note: virtual inheritance from TopologySavable is unnecessary, but HP ACC compiler warns if it's not there.


Constructor & Destructor Documentation

TAO_Notify::Topology_Object::Topology_Object  ) 
 

The constructor.

TAO_Notify::Topology_Object::~Topology_Object  )  [virtual]
 

The destructor.


Member Function Documentation

bool TAO_Notify::Topology_Object::change_to_parent ACE_ENV_SINGLE_ARG_DECL   )  [private, 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 in TAO_Notify_EventChannelFactory.

TAO_Notify_Object::ID TAO_Notify::Topology_Object::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 in TAO_Notify_EventChannel, and TAO_Notify_EventChannelFactory.

void TAO_Notify::Topology_Object::get_id_path IdVec id_path  )  const
 

Get the path of id's from the root to this object.

void TAO_Notify::Topology_Object::initialize Topology_Parent *topology_parent  ACE_ENV_ARG_DECL  )  [virtual]
 

Init this object with data from <rhs>.

bool TAO_Notify::Topology_Object::is_changed  )  const
 

Is there an unsaved change for this object or its children?

bool TAO_Notify::Topology_Object::is_persistent  )  const [protected, 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 in TAO_Notify_EventChannelFactory.

Topology_Object * TAO_Notify::Topology_Object::load_child const ACE_CString ,
CORBA::Long  ,
const NVPList ACE_ENV_ARG_DECL_NOT_USED
[virtual]
 

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.

bool TAO_Notify::Topology_Object::self_change ACE_ENV_SINGLE_ARG_DECL   )  [protected]
 

Method to report change in this object.

see also Topology_Parent::child_change ()

Returns:
false if save will never happen

bool TAO_Notify::Topology_Object::send_change ACE_ENV_SINGLE_ARG_DECL   )  [protected]
 

Handle details of propagating change.

Returns:
false if save will never happen

Topology_Parent * TAO_Notify::Topology_Object::topology_parent  )  const [protected]
 

pointer to our topological parent

Returns:
0 if none


Member Data Documentation

bool TAO_Notify::Topology_Object::children_changed_ [protected]
 

true of any of this object's children changed since last save_persistent

bool TAO_Notify::Topology_Object::self_changed_ [protected]
 

true if this object changed since last save_persistent

Topology_Parent* TAO_Notify::Topology_Object::topology_parent_ [protected]
 

A safely-typed copy of parent_;.


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