TAO_CosNotification  2.3.2
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TAO_Notify::XML_Saver Class Reference

Save Notification Service Topology to an XML file. More...

#include <XML_Saver.h>

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

Public Member Functions

 XML_Saver (bool timestamp=true)
 
virtual ~XML_Saver ()
 
bool open (const ACE_TString &file_name, size_t backup_count)
 
virtual bool begin_object (CORBA::Long id, const ACE_CString &type, const NVPList &attrs, bool changed)
 Begin the storage of an object. More...
 
virtual void end_object (CORBA::Long id, const ACE_CString &type)
 End the storage of an object. More...
 
virtual void close (void)
 Close the saver. More...
 
- Public Member Functions inherited from TAO_Notify::Topology_Saver
virtual ~Topology_Saver ()
 The destructor. More...
 
virtual void delete_child (CORBA::Long id, const ACE_CString &type)
 Report deleted children to the saver. More...
 

Private Member Functions

void backup_file_name (ACE_TCHAR *file_path, size_t nfile)
 

Private Attributes

FILE * output_
 A stream representing our current output. More...
 
bool close_out_
 
ACE_TString base_name_
 the name of the output file More...
 
size_t backup_count_
 
bool timestamp_
 true to enable timestamping More...
 
ACE_CString indent_
 A string consisting of spaces that is our current indentation level. More...
 

Detailed Description

Save Notification Service Topology to an XML file.

Constructor & Destructor Documentation

TAO_Notify::XML_Saver::XML_Saver ( bool  timestamp = true)

Construct an XML_Saver. Initialization is deferred to "open()"

TAO_Notify::XML_Saver::~XML_Saver ( )
virtual

Member Function Documentation

void TAO_Notify::XML_Saver::backup_file_name ( ACE_TCHAR file_path,
size_t  nfile 
)
private
bool TAO_Notify::XML_Saver::begin_object ( CORBA::Long  id,
const ACE_CString type,
const NVPList attrs,
bool  changed 
)
virtual

Begin the storage of an object.

Call this function with the type and ID of an object to be stored. This object may have children, and this will necessitate nested calls to begin_object. Design principle: Names should be descriptive enough to allow the objects' parent to create an instance of the desired class. This instance will be registered with the poa using the id. The instance itself should will load its own attributes. Example <proxy type="push_supplier" events="any" id="20"...> is not a good design because the name "proxy" is not descriptive enough. "<structured_proxy_push_supplier id="20"...> is better because this allows the parent to create the correct type of object without decoding attributes.

Parameters
idnumeric id for this object
typestring containing the unique type name for this class of objects
attrsa collection of name/value attributes
changedtrue if this object's attributes have changed.
Returns
bool want_all_children. If true even changed children should be saved.

Implements TAO_Notify::Topology_Saver.

void TAO_Notify::XML_Saver::close ( void  )
virtual

Close the saver.

This is not pure virtual. The default implementation does nothing.

There should be a corresponding open, but the signature may vary based on the type of saver, so we can't include it in the interface.

Reimplemented from TAO_Notify::Topology_Saver.

void TAO_Notify::XML_Saver::end_object ( CORBA::Long  id,
const ACE_CString type 
)
virtual

End the storage of an object.

This function should be called to end the scope of the current object and commit it to the persistent store.

Implements TAO_Notify::Topology_Saver.

bool TAO_Notify::XML_Saver::open ( const ACE_TString file_name,
size_t  backup_count 
)

Open the output file.

Parameters
file_namethe fully qualified file name
Returns
true if successful

Member Data Documentation

size_t TAO_Notify::XML_Saver::backup_count_
private
ACE_TString TAO_Notify::XML_Saver::base_name_
private

the name of the output file

bool TAO_Notify::XML_Saver::close_out_
private
ACE_CString TAO_Notify::XML_Saver::indent_
private

A string consisting of spaces that is our current indentation level.

FILE* TAO_Notify::XML_Saver::output_
private

A stream representing our current output.

bool TAO_Notify::XML_Saver::timestamp_
private

true to enable timestamping


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