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

DtReaderWriterFileExtensible is a ReaderWriteFile who's exact name is determined at runtime as defined by the extension. For example, if your defined extension is myextension, then this will load lifeform-myextension.sysdef if it exists, and if it doesn't, then it would load lifeform.sysdef.

Inheritance diagram for DtReaderWriterFileExtensible:
Inheritance graph
[legend]

Public Member Functions

 DtReaderWriterFileExtensible ()
 
 DtReaderWriterFileExtensible (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriterFileExtensible (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriterFileExtensible (const DtString &name, const DtReaderWriterFileExtensible &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriterFileExtensible (const DtSymbolString &name, const DtReaderWriterFileExtensible &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
DtReaderWriterFileExtensibleoperator= (const DtReaderWriterFileExtensible &orig)
 
DtReaderWriterFileExtensibleoperator= (const DtReaderWriterFile &orig)
 
DtReaderWriterFileExtensibleoperator= (const DtFilename &orig)
 
virtual ~DtReaderWriterFileExtensible () override
 
virtual bool loadFile (const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings, DtlObjStringMap *commentMap=NULL) override
 
virtual void substitute (const DtVariableBindingsList &variableBindings) override
 
- Public Member Functions inherited from DtReaderWriterFile
 DtReaderWriterFile ()
 
 DtReaderWriterFile (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriterFile (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriterFile (const DtString &name, const DtReaderWriterFile &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriterFile (const DtSymbolString &name, const DtReaderWriterFile &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
DtReaderWriterFileoperator= (const DtReaderWriterFile &orig)
 
DtReaderWriterFileoperator= (const DtFilename &orig)
 
virtual ~DtReaderWriterFile () override
 
DtReaderWriterFileclone (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
DtReaderWriterFileclone (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) override
 
virtual bool saveFile (const DtFilename &filename)
 
virtual void putSelf (std::string &fp, int indentLevel, bool writeUnspecified, const DtFilename &path) override
 
virtual void setObjectToReadAndWrite (DtReaderWriter *object)
 
virtual const DtReaderWriterobjectToReadAndWrite () const
 
virtual void setFilename (const DtString &filename)
 
virtual void setFilename (const DtString &filename, const DtString &unsubstitutedFilename)
 
virtual const DtStringfilename () const
 
virtual DtString unsubstitutedFilename () const
 
virtual void setUnsubstitudedFilename (const DtString &f)
 
virtual const DtFilename & filenameLastReadIn () const
 
virtual void setFileReadOnly (bool readOnly=true)
 
virtual bool fileReadOnly () const
 
virtual const charreaderWriterType () const override
 
bool operator== (const DtReaderWriterFile &) const
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 
bool operator== (const DtReaderWriter &) const
 
bool operator!= (const DtReaderWriter &rhs) const
 
virtual ~DtReaderWriter ()
 
virtual void postPutSelf ()
 
virtual void prePutSelf ()
 
virtual void postGetSelf ()
 
virtual void preGetSelf ()
 
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual DtSymbolString name () const
 
virtual void addAlias (const DtSymbolString &alias)
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 
bool isReadonly () const
 
virtual void reset ()
 
virtual int alignment () const
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 
virtual void setName (const DtString &)
 
virtual const charxmlType () const
 
virtual DtString prettyPrint () const
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 
virtual std::list
< DtVariableNameType
unboundVariables () const
 
bool invalid () const
 
virtual bool hasChild (const DtReaderWriter *p) const
 
virtual bool hasVariableReference () const
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 
virtual void recordUpdateTime () const
 
virtual bool changedSinceLastChecked ()
 
virtual bool peekChangedSinceLastChecked () const
 
virtual void putData (std::string &fp, int indentLevel=0)
 
virtual DtlObjPtr getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 
virtual DtSymbolString variableName () const
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
const DtReaderWriterRegistryregistry () const
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 
virtual bool toXml (const DtFilename &) const
 
virtual bool fromXml (const DtString &)
 
virtual bool fromXmlFile (const DtFilename &)
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 

Static Public Member Functions

static std::list< DtString > * getExtensionList ()
 
static void addExtension (DtString)
 
- Static Public Member Functions inherited from DtReaderWriterFile
static const DtFilename & appPath ()
 
static DtFilename findHighestPriorityFile (const DtFilename &filename, const DtReaderWriter::SearchPaths &searchPaths, bool warnOnNotFound=true)
 
static FILE * loadHighestPriorityFile (const DtFilename &filename, const DtReaderWriter::SearchPaths &searchPaths, bool warnOnNotFound=true)
 
static FILE * loadHighestPriorityFile (const DtFilename &filename, const DtReaderWriter::SearchPaths &searchPaths, DtFilename &successfulPath, bool warnOnNotFound=true)
 
static DtFilename createPathFragment (const DtFilename &filename, const DtReaderWriter::SearchPaths &searchPaths)
 
static std::vector< DtFilename > findFilesByExtension (const DtString &path, const DtString &extension)
 
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (std::string &fp, int indentLevel)
 
static const
DtVariableBindingsList
nullVariableReference ()
 
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
 
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
 
static void setPutIndent (bool)
 
static bool putIndent ()
 
static const chartheXmlType ()
 
static const DtFilename & appPath ()
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 

Protected Attributes

DtString myAcceptedExtension
 
- Protected Attributes inherited from DtReaderWriterFile
DtRwString myFilename
 
DtReaderWritermyObjectToReadAndWrite
 
bool myFileReadOnly
 
DtFilename myFilenameLastReadIn
 
DtString myVariableSubstitutedFilename
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 
bool myInvalid
 
bool myChangedFlag
 

Static Protected Attributes

static std::list< DtString > * myExtensions
 
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
 
static DtGetSelfCallbackInfo thePostGetSelfCallback
 
static DtPutSelfCallbackInfo thePrePutSelfCallback
 
static const DtVariableBindingsList theEmptyVariableBindingsList
 
static bool theCreatorFcnSet
 
static DtReaderWriterFactorytheFactory
 
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn
 
static bool thePutIndent
 
static DtOutputStream * theOutputStream
 

Additional Inherited Members

- Public Types inherited from DtReaderWriter
typedef std::vector
< DtSymbolString
aliasContainer
 
typedef std::vector
< DtSymbolString >::iterator 
aliasIter
 
typedef std::vector
< DtSymbolString >
::const_iterator 
aliasConstIter
 
typedef std::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 
- Protected Member Functions inherited from DtReaderWriterFile
bool getFilenameToWrite (const DtFilename &path, const DtFilename &filename, DtFilename &filenameToWrite) const
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 

Constructor & Destructor Documentation

DtReaderWriterFileExtensible::DtReaderWriterFileExtensible ( )

default constructor

DtReaderWriterFileExtensible::DtReaderWriterFileExtensible ( const DtString name,
DtReaderWriterRegistry parentRegistry = NULL 
)

real constructor

DtReaderWriterFileExtensible::DtReaderWriterFileExtensible ( const DtSymbolString name,
DtReaderWriterRegistry parentRegistry = NULL 
)
DtReaderWriterFileExtensible::DtReaderWriterFileExtensible ( const DtString name,
const DtReaderWriterFileExtensible orig,
DtReaderWriterRegistry parentRegistry = NULL 
)

copy constructor

DtReaderWriterFileExtensible::DtReaderWriterFileExtensible ( const DtSymbolString name,
const DtReaderWriterFileExtensible orig,
DtReaderWriterRegistry parentRegistry = NULL 
)
virtual DtReaderWriterFileExtensible::~DtReaderWriterFileExtensible ( )
overridevirtual

destructor

Member Function Documentation

DtReaderWriterFileExtensible& DtReaderWriterFileExtensible::operator= ( const DtReaderWriterFileExtensible orig)

assignment operator

DtReaderWriterFileExtensible& DtReaderWriterFileExtensible::operator= ( const DtReaderWriterFile orig)
DtReaderWriterFileExtensible& DtReaderWriterFileExtensible::operator= ( const DtFilename &  orig)
virtual bool DtReaderWriterFileExtensible::loadFile ( const DtReaderWriter::SearchPaths searchPaths,
const DtVariableBindingsList variableBindings,
DtlObjStringMap commentMap = NULL 
)
overridevirtual

Returns true if file is loaded.

Reimplemented from DtReaderWriterFile.

virtual void DtReaderWriterFileExtensible::substitute ( const DtVariableBindingsList variableBindings)
overridevirtual

Substitutes any variables in the list to variable substituted filename.

Reimplemented from DtReaderWriterFile.

static std::list<DtString>* DtReaderWriterFileExtensible::getExtensionList ( )
static

Get the list of extensions currently accepted. This can be modified so you may add, remove, or reorder the extensions. Be careful with doing this on a separate thread however, because this is not threadsafe.

static void DtReaderWriterFileExtensible::addExtension ( DtString  )
static

Add a new extension to the back of the line. The extensions added last are considered more important than the extensions added first.

Member Data Documentation

DtString DtReaderWriterFileExtensible::myAcceptedExtension
protected
std::list<DtString>* DtReaderWriterFileExtensible::myExtensions
staticprotected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)