VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Attributes
DtReaderWriterPropertyFactory Class Reference

Specialized type of reader/writer factory that supports properties.

Inheritance diagram for DtReaderWriterPropertyFactory:
Inheritance graph
[legend]

Public Types

typedef std::map< DtString,
DtPropertyRollUpFunction
RollUpRules
 
- Public Types inherited from DtReaderWriterFactory
typedef DtReaderWriter *(* DtRWCreatorFcn )(const DtString &name, DtReaderWriterRegistry *parentRegistry)
 
typedef void(* DtRWCopyFcn )(const DtReaderWriter *source, DtReaderWriter *dest)
 
typedef int(* DtRwGetSizeFcn )(const DtReaderWriter *source)
 
typedef bool(* DtRwCompareFcn )(const DtReaderWriter *lhs, const DtReaderWriter *rhs)
 
typedef char *(* DtRwEncodeFcn )(const DtReaderWriter *source, char *)
 
typedef const char *(* DtRwDecodeFcn )(DtReaderWriter *source, const char *)
 
typedef std::map< DtString,
DtRwFunctions
DtRwFunctionMap
 

Public Member Functions

 DtReaderWriterPropertyFactory (bool registerDefaults=true)
 
virtual ~DtReaderWriterPropertyFactory ()
 
virtual bool defaultRollUpFunction (const DtReaderWriter *source, DtReaderWriter *destination)
 
virtual DtPropertyRollUpFunction defaultRollUpRule () const
 
virtual void setDefaultRollUpRule (DtPropertyRollUpFunction)
 
virtual void setRollUpRule (const DtString &type, DtPropertyRollUpFunction fcn)
 
virtual bool rollUpReaderWriter (const DtReaderWriter *source, DtReaderWriter *destination, const DtMergePath &) const
 
virtual const RollUpRulesrollUpRules () const
 
virtual RollUpRulesrollUpRules ()
 
- Public Member Functions inherited from DtReaderWriterFactory
 DtReaderWriterFactory (bool registerDefaults=true)
 
virtual const std::set
< DtString > & 
xmlTypes () const
 
virtual DtString mapXmlToRwType (const DtString &xmlType) const
 
virtual DtString mapRwToXmlType (const DtString &rwType) const
 
virtual DtReaderWritercreateItem (const DtString &type, const DtString &name, DtReaderWriterRegistry *parentRegistry) const
 
virtual bool copyReaderWriter (const DtReaderWriter *sourceRw, DtReaderWriter *destRw) const
 
virtual bool compareReaderWriter (const DtReaderWriter *sourceRw, const DtReaderWriter *destRw) const
 
virtual DtReaderWritercloneReaderWriter (const DtString &name, const DtReaderWriter *sourceRw, DtReaderWriterRegistry *parentRegistry) const
 
void addDefaultRwCreators ()
 
template<typename T_RWType >
void registerType (const DtString &rwTypeString)
 
template<typename T_RWType >
void registerNumericType (const DtString &rwTypeString)
 
template<typename T_RWType >
void registerTypeWithoutSerialization (const DtString &rwTypeString)
 
const DtRwFunctionMapfunctionMap () const
 
bool typeRegistered (const DtString &rwTypeString) const
 
virtual int getSize (const DtReaderWriter *) const
 
virtual charencode (const DtReaderWriter *, char *) const
 
virtual const chardecode (DtReaderWriter *, const char *)
 

Protected Attributes

RollUpRules myRollUpRules
 
DtPropertyRollUpFunction myDefaultRollUpRule
 
- Protected Attributes inherited from DtReaderWriterFactory
DtRwFunctionMap myRwFunctionMap
 
StringMap myRwToXmlType
 
StringMap myXmlToRwType
 
std::set< DtStringmyXmlTypes
 

Additional Inherited Members

- Protected Types inherited from DtReaderWriterFactory
typedef std::map< DtString,
DtString
StringMap
 
- Protected Member Functions inherited from DtReaderWriterFactory
virtual void mapRwToXml (const DtString &rwType, const DtString &xmlType)
 
- Static Protected Member Functions inherited from DtReaderWriterFactory
template<typename T_RWType >
static DtReaderWritercreateRWType (const DtString &name, DtReaderWriterRegistry *parentRegistry)
 
template<typename T_RWType >
static void copyRwType (const DtReaderWriter *sourceRw, DtReaderWriter *destRw)
 
template<typename T_RWType >
static void copyNumericRwType (const DtReaderWriter *sourceRw, DtReaderWriter *destRw)
 
template<typename T_RWType >
static bool compareRwType (const DtReaderWriter *sourceRw, const DtReaderWriter *destRw)
 
template<typename T_RWType >
static int getRwSize (const DtReaderWriter *sourceRw)
 
template<typename T_RWType >
static charencodeRwType (const DtReaderWriter *sourceRw, char *buf)
 
template<typename T_RWType >
static const chardecodeRwType (DtReaderWriter *sourceRw, const char *buf)
 

Member Typedef Documentation

Constructor & Destructor Documentation

DtReaderWriterPropertyFactory::DtReaderWriterPropertyFactory ( bool  registerDefaults = true)
virtual DtReaderWriterPropertyFactory::~DtReaderWriterPropertyFactory ( )
virtual

Member Function Documentation

virtual bool DtReaderWriterPropertyFactory::defaultRollUpFunction ( const DtReaderWriter source,
DtReaderWriter destination 
)
virtual

Default rule is to simply copy the source to the destination.

virtual DtPropertyRollUpFunction DtReaderWriterPropertyFactory::defaultRollUpRule ( ) const
virtual
virtual void DtReaderWriterPropertyFactory::setDefaultRollUpRule ( DtPropertyRollUpFunction  )
virtual
virtual void DtReaderWriterPropertyFactory::setRollUpRule ( const DtString type,
DtPropertyRollUpFunction  fcn 
)
virtual

Sets the roll up function for the given type. If a roll up function exists it is replaced.

virtual bool DtReaderWriterPropertyFactory::rollUpReaderWriter ( const DtReaderWriter source,
DtReaderWriter destination,
const DtMergePath  
) const
virtual

Rolls up the source with the destination according to the roll up rule of the reader/writer type. If no type exists then will use default roll up rule.

virtual const RollUpRules& DtReaderWriterPropertyFactory::rollUpRules ( ) const
inlinevirtual
virtual RollUpRules& DtReaderWriterPropertyFactory::rollUpRules ( )
inlinevirtual

Member Data Documentation

RollUpRules DtReaderWriterPropertyFactory::myRollUpRules
protected
DtPropertyRollUpFunction DtReaderWriterPropertyFactory::myDefaultRollUpRule
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)