TAO_CosNotification
2.4.1
|
Save Notification Service Topology to an XML file. More...
#include <XML_Saver.h>
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... | |
Save Notification Service Topology to an XML file.
TAO_Notify::XML_Saver::XML_Saver | ( | bool | timestamp = true | ) |
Construct an XML_Saver. Initialization is deferred to "open()"
|
virtual |
|
private |
|
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.
id | numeric id for this object |
type | string containing the unique type name for this class of objects |
attrs | a collection of name/value attributes |
changed | true if this object's attributes have changed. |
Implements TAO_Notify::Topology_Saver.
|
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.
|
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.
file_name | the fully qualified file name |
|
private |
|
private |
the name of the output file
|
private |
|
private |
A string consisting of spaces that is our current indentation level.
|
private |
A stream representing our current output.
|
private |
true to enable timestamping