Loading...
Searching...
No Matches
BALL::XDRPersistenceManager Class Reference
Foundation Classes » Concepts » Object Persistence.

`#include <BALL/CONCEPT/XDRPersistenceManager.h>`

Inheritance diagram for BALL::XDRPersistenceManager:

## 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)
Public Member Functions inherited from BALL::PersistenceManager
| PersistenceManager ()
| PersistenceManager (const PersistenceManager &pm)
| PersistenceManager (::std::istream &is)
| PersistenceManager (::std::ostream &os)
| PersistenceManager (::std::istream &is, ::std::ostream &os)
virtual | ~PersistenceManager ()
virtual void | registerClass (String signature, const CreateMethod m)
virtual void * | createObject (String signature) const
virtual Size | getNumberOfClasses () const
virtual void | setOstream (::std::ostream &s)
virtual void | setIstream (::std::istream &s)
void | startOutput ()
void | endOutput ()
PersistentObject * | readObject ()
PersistenceManager & | operator<< (const PersistentObject &object)
PersistenceManager & | operator>> (PersistentObject *&object_ptr)
template<typename T>
bool | checkObjectHeader (const T &, const char *name=0)
bool | checkObjectHeader (const char *type_name)
template<typename T>
void | writeObjectHeader (const T *object, const char *name=0)
void | writeObjectTrailer (const char *name=0)
bool | checkObjectTrailer (const char *name=0)
template<typename T>
void | writePrimitive (const T &t, const char *name)
template<typename T>
bool | readPrimitive (T &t, const char *name)
template<typename T>
void | writeStorableObject (const T &t, const char *name)
template<typename T>
bool | readStorableObject (T &t, const char *name)
template<typename T>
void | writeObjectPointer (const T *object, const char *name)
template<typename T>
bool | readObjectPointer (T *&object, const char *name)
template<typename T>
bool | readObjectSmartPointer (boost::shared_ptr< T > &s_ptr, const char *name)
template<typename T>
void | writeObjectReference (const T &object, const char *name)
template<typename T>
bool | readObjectReference (T &object, const char *name)
template<typename T>
void | writeObjectArray (const T *array, const char *name, Size size)
template<typename T>
bool | readObjectArray (const T *array, const char *name, Size &size)
template<typename T>
void | writeObjectPointerArray (T **arr, const char *name, const Size size)
template<typename T>
bool | readObjectPointerArray (T **array, const char *name, Size &size)

## Static Public Attributes

Constants
static const Size | STREAM_HEADER
static const Size | STREAM_TRAILER
static const Size | OBJECT_HEADER
static const Size | OBJECT_TRAILER

## 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)

## Additional Inherited Members

Public Types inherited from BALL::PersistenceManager
typedef void *(* | CreateMethod) ()
typedef HashSet< const PersistentObject * > | ObjectSet
typedef std::list< const PersistentObject * > | ObjectList
typedef HashMap< LongSize, void * > | PointerMap
typedef std::list< std::pair< void **, LongSize > > | PointerList
typedef std::list< std::pair< boost::shared_ptr< PersistentObject > *, LongSize > > | SmartPointerList
void | registerKernelClasses_ ()
void | addPointerPair_ (LongSize old_ptr, void *new_ptr)
void | addNeededObjects_ ()
bool | updatePointers_ ()
StringHashMap< CreateMethod > | create_methods_
ObjectSet | object_out_
ObjectList | object_out_needed_
PointerMap | pointer_map_
PointerList | pointer_list_
SmartPointerList | smart_pointer_list_
ObjectList | object_in_
::std::ostream * | ostr_
::std::istream * | istr_

## 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

## XDRPersistenceManager() [1/4]

BALL::XDRPersistenceManager::XDRPersistenceManager | ( |  | ) |

Default constructor.

## XDRPersistenceManager() [2/4]

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

Detailed constructor with an input stream

## XDRPersistenceManager() [3/4]

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

Detailed constructor with an output stream

## XDRPersistenceManager() [4/4]

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

Detailed constructor with an input stream and an output stream.

## Member Function Documentation

## checkHeader()

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.

## checkName()

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

virtual

Check for variable/member name.

Implements BALL::PersistenceManager.

## checkObjectPointerArrayHeader()

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.

## checkObjectPointerArrayTrailer()

virtual bool BALL::XDRPersistenceManager::checkObjectPointerArrayTrailer | ( |  | ) |

virtual

Check for trailer for an array of pointers to PersistentObjects.

Implements BALL::PersistenceManager.

## checkObjectPointerHeader()

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.

## checkObjectReferenceHeader()

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.

## checkPrimitiveHeader()

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.

## checkPrimitiveTrailer()

virtual bool BALL::XDRPersistenceManager::checkPrimitiveTrailer | ( |  | ) |

virtual

Check the trailer of a primitive type.

Implements BALL::PersistenceManager.

## checkStorableHeader()

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

virtual

Check for storable object header.

Implements BALL::PersistenceManager.

## checkStorableTrailer()

virtual bool BALL::XDRPersistenceManager::checkStorableTrailer | ( |  | ) |

virtual

Check for storable object trailer.

Implements BALL::PersistenceManager.

## checkStreamHeader()

virtual bool BALL::XDRPersistenceManager::checkStreamHeader | ( |  | ) |

virtual

Check for the start marker in the input stream.

Implements BALL::PersistenceManager.

## checkStreamTrailer()

virtual bool BALL::XDRPersistenceManager::checkStreamTrailer | ( |  | ) |

virtual

Check for the end marker in the output stream.

Implements BALL::PersistenceManager.

## checkTrailer()

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.

## finalizeInputStream()

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.

## finalizeOutputStream()

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.

## get() [1/9]

virtual void BALL::XDRPersistenceManager::get | ( | bool & | b | ) |

virtual

Read a boolean value from the input stream.

Implements BALL::PersistenceManager.

## get() [2/9]

virtual void BALL::XDRPersistenceManager::get | ( | Byte & | c | ) |

virtual

Read a single byte from the input stream.

Implements BALL::PersistenceManager.

## get() [3/9]

virtual void BALL::XDRPersistenceManager::get | ( | char & | c | ) |

virtual

Read a signed char from the input stream.

Implements BALL::PersistenceManager.

## get() [4/9]

virtual void BALL::XDRPersistenceManager::get | ( | DoubleReal & | d | ) |

virtual

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

Implements BALL::PersistenceManager.

## get() [5/9]

virtual void BALL::XDRPersistenceManager::get | ( | Index & | s | ) |

virtual

Read an Index from the input stream.

Implements BALL::PersistenceManager.

## get() [6/9]

virtual void BALL::XDRPersistenceManager::get | ( | LongSize & | p | ) |

virtual

Read a pointer from the input stream.

Implements BALL::PersistenceManager.

## get() [7/9]

virtual void BALL::XDRPersistenceManager::get | ( | Real & | f | ) |

virtual

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

Implements BALL::PersistenceManager.

## get() [8/9]

virtual void BALL::XDRPersistenceManager::get | ( | Size & | s | ) |

virtual

Read a Size or a Position from the input stream.

Implements BALL::PersistenceManager.

## get() [9/9]

virtual void BALL::XDRPersistenceManager::get | ( | string & | s | ) |

virtual

Read a string from the output stream.

Implements BALL::PersistenceManager.

## getObjectHeader()

virtual bool BALL::XDRPersistenceManager::getObjectHeader | ( | String & | type_name,
|  | LongSize & | ptr )

virtual

Get an (unknown) object header.

Implements BALL::PersistenceManager.

## initializeInputStream()

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.

## initializeOutputStream()

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.

## put() [1/9]

virtual void BALL::XDRPersistenceManager::put | ( | const bool | b | ) |

virtual

Write a boolean value to the output stream.

Implements BALL::PersistenceManager.

## put() [2/9]

virtual void BALL::XDRPersistenceManager::put | ( | const Byte | b | ) |

virtual

Write a single byte the output stream.

Implements BALL::PersistenceManager.

## put() [3/9]

virtual void BALL::XDRPersistenceManager::put | ( | const char | c | ) |

virtual

Write a signed char to the output stream.

Implements BALL::PersistenceManager.

## put() [4/9]

virtual void BALL::XDRPersistenceManager::put | ( | const DoubleReal | d | ) |

virtual

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

Implements BALL::PersistenceManager.

## put() [5/9]

virtual void BALL::XDRPersistenceManager::put | ( | const Index | i | ) |

virtual

Write an Index to the output stream.

Implements BALL::PersistenceManager.

## put() [6/9]

virtual void BALL::XDRPersistenceManager::put | ( | const LongSize | p | ) |

virtual

Write a pointer to the output.

Implements BALL::PersistenceManager.

## put() [7/9]

virtual void BALL::XDRPersistenceManager::put | ( | const Real | f | ) |

virtual

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

Implements BALL::PersistenceManager.

## put() [8/9]

virtual void BALL::XDRPersistenceManager::put | ( | const Size | s | ) |

virtual

Write a Size or a Position to the output stream.

Implements BALL::PersistenceManager.

## put() [9/9]

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

virtual

Write a string to the output.

Implements BALL::PersistenceManager.

## setHandleStreamsExternally()

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

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

## writeHeader()

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.

## writeName()

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

virtual

Write a variable/member name.

Implements BALL::PersistenceManager.

## writeObjectPointerArrayHeader()

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.

## writeObjectPointerArrayTrailer()

virtual void BALL::XDRPersistenceManager::writeObjectPointerArrayTrailer | ( |  | ) |

virtual

Write trailer for an array of pointers to PersistentObjects.

Implements BALL::PersistenceManager.

## writeObjectPointerHeader()

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

virtual

Write header for a pointer to a PersistentObject.

Implements BALL::PersistenceManager.

## writeObjectReferenceHeader()

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

virtual

Write header for a reference to a PersistentObject.

Implements BALL::PersistenceManager.

## writePrimitiveHeader()

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.

## writePrimitiveTrailer()

virtual void BALL::XDRPersistenceManager::writePrimitiveTrailer | ( |  | ) |

virtual

Write the trailer for a primitive type.

Implements BALL::PersistenceManager.

## writeStorableHeader()

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

virtual

Write storable object header.

Implements BALL::PersistenceManager.

## writeStorableTrailer()

virtual void BALL::XDRPersistenceManager::writeStorableTrailer | ( |  | ) |

virtual

Write storable object trailer.

Implements BALL::PersistenceManager.

## writeStreamHeader()

virtual void BALL::XDRPersistenceManager::writeStreamHeader | ( |  | ) |

virtual

Write a start marker to the output stream.

Implements BALL::PersistenceManager.

## writeStreamTrailer()

virtual void BALL::XDRPersistenceManager::writeStreamTrailer | ( |  | ) |

virtual

Write an end marker to the output stream.

Implements BALL::PersistenceManager.

## writeTrailer()

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

## OBJECT_HEADER

const Size BALL::XDRPersistenceManager::OBJECT_HEADER

static

A constant value used to mark the beginning of an object

Definition at line 42 of file XDRPersistenceManager.h.

## OBJECT_TRAILER

const Size BALL::XDRPersistenceManager::OBJECT_TRAILER

static

A constant value used to mark the end of an object

Definition at line 46 of file XDRPersistenceManager.h.

## STREAM_HEADER

const Size BALL::XDRPersistenceManager::STREAM_HEADER

static

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

Definition at line 34 of file XDRPersistenceManager.h.

## STREAM_TRAILER

const Size BALL::XDRPersistenceManager::STREAM_TRAILER

static

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

Definition at line 38 of file XDRPersistenceManager.h.