BALL::XDRPersistenceManager Class Reference
[Object Persistence.]

#include <BALL/CONCEPT/XDRPersistenceManager.h>

Inheritance diagram for BALL::XDRPersistenceManager:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Constructors and Destructors

 XDRPersistenceManager ()
 XDRPersistenceManager (std::istream &is)
 XDRPersistenceManager (std::ostream &os)
 XDRPersistenceManager (std::istream &is, std::ostream &os)
Layer 0 methods

virtual void writeHeader (const char *type_name, const char *name, LongSize ptr)
virtual bool checkHeader (const char *type_name, const char *name, LongSize &ptr)
virtual void writeTrailer (const char *name=0)
virtual bool checkTrailer (const char *name=0)
virtual void writeStreamHeader ()
virtual void writeStreamTrailer ()
virtual bool checkStreamHeader ()
virtual bool checkStreamTrailer ()
virtual bool getObjectHeader (String &type_name, LongSize &ptr)
virtual void writeName (const char *name)
virtual bool checkName (const char *name)
virtual void writeStorableHeader (const char *type_name, const char *name)
virtual bool checkStorableHeader (const char *type_name, const char *name)
virtual void writePrimitiveHeader (const char *type_name, const char *name)
virtual bool checkPrimitiveHeader (const char *type_name, const char *name)
virtual void writeStorableTrailer ()
virtual bool checkStorableTrailer ()
virtual void writePrimitiveTrailer ()
virtual bool checkPrimitiveTrailer ()
virtual void writeObjectPointerHeader (const char *type_name, const char *name)
virtual bool checkObjectPointerHeader (const char *type_name, const char *name)
virtual void writeObjectReferenceHeader (const char *type_name, const char *name)
virtual bool checkObjectReferenceHeader (const char *type_name, const char *name)
virtual void writeObjectPointerArrayHeader (const char *type_name, const char *name, Size size)
virtual bool checkObjectPointerArrayHeader (const char *type_name, const char *name, Size &size)
virtual void writeObjectPointerArrayTrailer ()
virtual bool checkObjectPointerArrayTrailer ()
virtual void initializeOutputStream ()
virtual void finalizeOutputStream ()
virtual void initializeInputStream ()
virtual void finalizeInputStream ()
Put methods for primitive data types.

virtual void put (const char c)
virtual void put (const Byte b)
virtual void put (const Index i)
virtual void put (const Size s)
virtual void put (const bool b)
virtual void put (const Real f)
virtual void put (const DoubleReal d)
virtual void put (const string &s)
virtual void put (const LongSize p)
Get methods for primitive data types.

virtual void get (char &c)
virtual void get (Byte &c)
virtual void get (Index &s)
virtual void get (Size &s)
virtual void get (bool &b)
virtual void get (Real &f)
virtual void get (DoubleReal &d)
virtual void get (string &s)
virtual void get (LongSize &p)

void setHandleStreamsExternally (bool handle_externally)

Static Public Attributes

Constants

static const Size STREAM_HEADER
static const Size STREAM_TRAILER
static const Size OBJECT_HEADER
static const Size OBJECT_TRAILER

Private Attributes

XDR xdr_in_
XDR xdr_out_
bool streams_handled_externally_

Detailed Description

XDR-format-based persistence manager. This class implements a persistence manager that reads and writes its objects in a portable binary format.

See also:
TextPersistenceManager

Definition at line 24 of file XDRPersistenceManager.h.


Constructor & Destructor Documentation

BALL::XDRPersistenceManager::XDRPersistenceManager (  ) 

Default constructor.

BALL::XDRPersistenceManager::XDRPersistenceManager ( std::istream &  is  ) 

Detailed constructor with an input stream

BALL::XDRPersistenceManager::XDRPersistenceManager ( std::ostream &  os  ) 

Detailed constructor with an output stream

BALL::XDRPersistenceManager::XDRPersistenceManager ( std::istream &  is,
std::ostream &  os 
)

Detailed constructor with an input stream and an output stream.


Member Function Documentation

virtual bool BALL::XDRPersistenceManager::checkHeader ( const char *  type_name,
const char *  name,
LongSize ptr 
) [virtual]

Check for an object header. This method reads an int form the input stream (using xdr_int) and returns true if the value read equals OBJECT_HEADER .

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkName ( const char *  name  )  [virtual]

Check for variable/member name.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkObjectPointerArrayHeader ( const char *  type_name,
const char *  name,
Size size 
) [virtual]

Check for header for an array of pointers to PersistentObjects.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkObjectPointerArrayTrailer (  )  [virtual]

Check for trailer for an array of pointers to PersistentObjects.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkObjectPointerHeader ( const char *  type_name,
const char *  name 
) [virtual]

Check for header for a pointer to a PersistentObject.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkObjectReferenceHeader ( const char *  type_name,
const char *  name 
) [virtual]

Check for header for a reference to a PersistentObject.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkPrimitiveHeader ( const char *  type_name,
const char *  name 
) [virtual]

Check for a type header and name for a primitive type.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkPrimitiveTrailer (  )  [virtual]

Check the trailer of a primitive type.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkStorableHeader ( const char *  type_name,
const char *  name 
) [virtual]

Check for storable object header.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkStorableTrailer (  )  [virtual]

Check for storable object trailer.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkStreamHeader (  )  [virtual]

Check for the start marker in the input stream.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkStreamTrailer (  )  [virtual]

Check for the end marker in the output stream.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::checkTrailer ( const char *  name = 0  )  [virtual]

Check for an object trailer. This method reads an int form the input stream (using xdr_int) and returns true if the value read equals OBJECT_TRAILER .

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::finalizeInputStream (  )  [virtual]

Prepare the stream for closing. This method destroys the XDR output stream (using xdr_destroy).

Reimplemented from BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::finalizeOutputStream (  )  [virtual]

Prepare the stream for closing. This method destroys the XDR output stream (using xdr_destroy).

Reimplemented from BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::get ( LongSize p  )  [virtual]

Read a pointer from the input stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::get ( string &  s  )  [virtual]

Read a string from the output stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::get ( DoubleReal d  )  [virtual]

Read a double precision floating point number from the input stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::get ( Real f  )  [virtual]

Read a single precision floating point number from the input stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::get ( bool b  )  [virtual]

Read a boolean value from the input stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::get ( Size s  )  [virtual]

Read a Size or a Position from the input stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::get ( Index s  )  [virtual]

Read an Index from the input stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::get ( Byte c  )  [virtual]

Read a single byte from the input stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::get ( char &  c  )  [virtual]

Read a signed char from the input stream.

Implements BALL::PersistenceManager.

virtual bool BALL::XDRPersistenceManager::getObjectHeader ( String type_name,
LongSize ptr 
) [virtual]

Get an (unknown) object header.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::initializeInputStream (  )  [virtual]

Prepare the stream for output. This method creates an XDR output stream (using xdrrec_create) and prepares it for output.

Reimplemented from BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::initializeOutputStream (  )  [virtual]

Prepare the stream for output. This method creates an XDR output stream (using xdrrec_create) and prepares it for output.

Reimplemented from BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::put ( const LongSize  p  )  [virtual]

Write a pointer to the output.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::put ( const string &  s  )  [virtual]

Write a string to the output.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::put ( const DoubleReal  d  )  [virtual]

Write a double precision floating point number to the output stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::put ( const Real  f  )  [virtual]

Write a single precision floating point number to the output stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::put ( const bool  b  )  [virtual]

Write a boolean value to the output stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::put ( const Size  s  )  [virtual]

Write a Size or a Position to the output stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::put ( const Index  i  )  [virtual]

Write an Index to the output stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::put ( const Byte  b  )  [virtual]

Write a single byte the output stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::put ( const char  c  )  [virtual]

Write a signed char to the output stream.

Implements BALL::PersistenceManager.

void BALL::XDRPersistenceManager::setHandleStreamsExternally ( bool  handle_externally  ) 

Accesssors With this method, our caller can take responsibility for initializing and destroying the XDR streams.

virtual void BALL::XDRPersistenceManager::writeHeader ( const char *  type_name,
const char *  name,
LongSize  ptr 
) [virtual]

Write an object header. This method stores OBJECT_HEADER as an int value to mark the start of an object (using xdr_int).

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writeName ( const char *  name  )  [virtual]

Write a variable/member name.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writeObjectPointerArrayHeader ( const char *  type_name,
const char *  name,
Size  size 
) [virtual]

Write header for an array of pointers to PersistentObjects.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writeObjectPointerArrayTrailer (  )  [virtual]

Write trailer for an array of pointers to PersistentObjects.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writeObjectPointerHeader ( const char *  type_name,
const char *  name 
) [virtual]

Write header for a pointer to a PersistentObject.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writeObjectReferenceHeader ( const char *  type_name,
const char *  name 
) [virtual]

Write header for a reference to a PersistentObject.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writePrimitiveHeader ( const char *  type_name,
const char *  name 
) [virtual]

Write type header and name for a primitive type.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writePrimitiveTrailer (  )  [virtual]

Write the trailer for a primitive type.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writeStorableHeader ( const char *  type_name,
const char *  name 
) [virtual]

Write storable object header.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writeStorableTrailer (  )  [virtual]

Write storable object trailer.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writeStreamHeader (  )  [virtual]

Write a start marker to the output stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writeStreamTrailer (  )  [virtual]

Write an end marker to the output stream.

Implements BALL::PersistenceManager.

virtual void BALL::XDRPersistenceManager::writeTrailer ( const char *  name = 0  )  [virtual]

Write an object trailer. This method stores OBJECT_TRAILER as an int value to mark the start of an object (using xdr_int).

Implements BALL::PersistenceManager.


Member Data Documentation

A constant value used to mark the beginning of an object

Definition at line 42 of file XDRPersistenceManager.h.

A constant value used to mark the end of an object

Definition at line 46 of file XDRPersistenceManager.h.

A constant value used to mark the beginning of a persistent stream

Definition at line 34 of file XDRPersistenceManager.h.

A constant value used to mark the end of a persistent stream

Definition at line 38 of file XDRPersistenceManager.h.

If this flag is set to true, we will not destroy or initialize the XDR variables automatically.

Definition at line 372 of file XDRPersistenceManager.h.

The XDR struct used to read from

Definition at line 363 of file XDRPersistenceManager.h.

The XDR struct used to write to

Definition at line 367 of file XDRPersistenceManager.h.

Generated by  doxygen 1.6.3