VR-Forces 4.8 Class Documentation
 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 Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
DtMtlParameterDb Class Reference

Instances of DtMtlParameterDb are a database of DtVrfObjectParameters* entries that are loaded from an MTL (Mak Technologies Lisp) format file. More...

Inheritance diagram for DtMtlParameterDb:
Inheritance graph
[legend]

Public Member Functions

 DtMtlParameterDb ()
 default constructor More...
 
virtual ~DtMtlParameterDb ()
 destructor More...
 
virtual bool init ()
 Initialization - must be called before any other public member functions are called. More...
 
virtual DtMtlParameterDbEntryadd (const DtObjectType &objectType, const DtFilename &filename, bool typeIsMatchType, DtVrfObjectParameters *newParameters=NULL)
 Add a new entry to the parameter database, keyed on DtObjectType. More...
 
virtual void createRemoteConfigurationList ()
 discard existing pMyRemoteConfigurationList and recreate using myRemoteConfigListCreatorFcn This is called from init(); More...
 
virtual DtVrfObjectParameterslookup (const DtObjectType &objectType, DtObjectType *matchingType, DtString *source=NULL) const
 Lookup entry in parameter database that most closely matches given objectType. More...
 
virtual bool load (const DtFilename &filename, bool preloadParameters=false)
 Loads the contents of an MTL parameter database file (*.opd). More...
 
virtual bool loadAll (const DtFilename &filename)
 Loads MTL parameter database file and loads all .ope files it references. More...
 
DtRemoteConfigurationListremoteConfigurationList ()
 
const DtRemoteConfigurationListremoteConfigurationList () const
 
DtRemoteConfigurationList::CreatorFcn remoteConfigurationListCreatorFcn ()
 
void setRemoteConfigurationListCreatorFcn (DtRemoteConfigurationList::CreatorFcn fcn)
 
virtual bool save (const DtFilename &filename)
 Saves contents of parameter database to file. More...
 
virtual void removeAll ()
 Overridden to clear out the variable bindings. More...
 
virtual void setVersionNumber (int versionNumber)
 Version number of parameter database. More...
 
virtual int versionNumber () const
 
virtual void addDependentParameterFileToCopyPair (const DtFilename &fromFilename, const DtFilename &toFilename)
 Dependent parameter files (.asl, .hit, .frm, .det, .dmg) to copy upon save. More...
 
virtual void clearDependentParameterFileToCopyPairs ()
 
virtual const std::map
< std::string, std::string > & 
dependentParameterFileToCopyPairs () const
 
virtual void updateReaderWriterFilePaths (DtVrfObjectParameters &parameters)
 Updates paths to use relative-to-container convention for filenames in given parameters object. More...
 
DtMtlParameterDbReaderdbReader ()
 
DtMtlParameterDbWriterdbWriter ()
 
virtual DtFilename stripExtension (const DtFilename &filename, const DtString &extension)
 Strips the extension (the trailing portion of a filename starting with ".") from a given filename. More...
 
virtual void setReader (DtMtlParameterDbReader *)
 Sets the reader, deleting old reader. Takes ownership of reader. More...
 
virtual void setWriter (DtMtlParameterDbWriter *)
 Sets the writer, deleting old writer. Takes ownership of writer. More...
 
virtual DtVrfObjectParametersgetParameters (DtMtlParameterDbEntry *entry) const
 Retrieves the parameters from a given parameter entry object. More...
 
virtual void addVariableBindings (DtVariableBindingsSharedPtr bindings)
 Returns filename loaded. More...
 
virtual std::list
< DtVariableBindingsSharedPtr > & 
variableBindings ()
 
virtual DtReaderWriter::SearchPaths searchPaths () const
 List of additional search paths from included SMSs. More...
 
virtual void setSearchPaths (const DtReaderWriter::SearchPaths &searchPaths)
 
- Public Member Functions inherited from DtVrfParameterDb
 DtVrfParameterDb ()
 default constructor More...
 
virtual ~DtVrfParameterDb ()
 destructor More...
 
virtual DtVrfParameterDbEntryadd (const DtObjectType &objectType, DtVrfObjectParameters *parameters)
 Add a new parameter entry to database. More...
 
virtual std::list
< DtVrfObjectParameters * > 
lookupByEquipmentName (const DtString &equipmentName)
 Some entity types, in particular in the AggregateLevel SMS, may have a Parameter Property defined called Primary-Equipment. More...
 
virtual DtString equipmentName (const DtObjectType &objectType, int &count)
 This function provides a shortcut to get the primary equipment parameter property for the given object type. More...
 
virtual void remove (const DtObjectType &objectType)
 Remove the entry for the given object type from the database. More...
 
virtual const DtList & parameterList () const
 List of all DtVrfParameterDbEntry* items in the database. More...
 
virtual void addParameters (const DtObjectType &objectType, DtVrfObjectParameters *newParameters)
 
virtual DtVrfObjectParameterslookupParameters (const DtObjectType &objectType, DtObjectType *matchingType) const
 
virtual void removeParameters (const DtObjectType &objectType)
 
virtual void removeAndDeleteAll ()
 
virtual DtVrfParameterDbEntrylookupParameterDbEntry (const DtObjectType &objectType, DtObjectType *matchingType) const
 Returns entry most closely matching given object type. More...
 
virtual int numParameterEntries () const
 Returns the number of parameter entries. More...
 
virtual std::list< DtString > * getSysDefExtensionList ()
 Get the list of sysdef extensions currently accepted. More...
 
virtual void addExtension (DtString)
 Add a new extension to the back of the line. More...
 

Static Public Member Functions

static DtVrfParameterDbcreate ()
 Returns a new instance of this class. More...
 
static const DtStringopdFilenameExtension ()
 Default filename extension for parameter database file (.opd). More...
 
static const DtStringopeFilenameExtension ()
 Default filename extension for parameter database entry files (.ope). More...
 
- Static Public Member Functions inherited from DtVrfParameterDb
static DtVrfParameterDbcreate ()
 Returns a new instance of this class. More...
 

Protected Member Functions

virtual DtMtlParameterDbReadercreateParamDbReader ()
 Factory method that creates parameter database reader object used in load(). More...
 
virtual DtMtlParameterDbWritercreateMtlParamDbWriter ()
 Factory method that creates parameter database writer object used in save(). More...
 
virtual bool copyDependentParameterDirectories (const DtFilename &oldPath, const DtFilename &newPath)
 Copies ammoselect, damage, detection, and hit subdirectories from oldPath location to newPath location. More...
 
virtual DtFilename getPath (const DtFilename &filename)
 Extracts path from a given filename. More...
 
virtual DtVrfParameterDbEntrycreateParameterEntry () const
 Override to create entry of type DtMtlParameterDbEntry. More...
 
- Protected Member Functions inherited from DtVrfParameterDb
virtual void addParameterDbEntry (DtVrfParameterDbEntry *newParameterEntry)
 Add news item to database. More...
 
virtual DtListItem * lookupParameters (const DtObjectType &objectType) const
 Returns DtListItem (containing DtVrfParameterDbEntry*) for given object type. More...
 
void emptyList ()
 Empties contents of database, deleting memory associated with each entry. More...
 

Static Protected Member Functions

static const std::map
< DtString, DtFilename > & 
extensionToPathMap ()
 Map of filename extensions of dependent parameter files (.dmg, .hit, .asl, .frm, .det) to corrsponding directory paths (. More...
 

Protected Attributes

DtMtlParameterDbReadermyParameterDbReader
 
DtMtlParameterDbWritermyParameterDbWriter
 
int myVersionNumber
 
DtVariableBindingsList myVariableBindings
 
std::map< std::string,
std::string > 
myDependentParameterFileToCopyPairs
 
std::list
< DtVariableBindingsSharedPtr
myVariableBindingsList
 List of all top level variable bindings for each OPD file read in. More...
 
DtRemoteConfigurationListpMyRemoteConfigurationList
 List of DtRemoteConfigurationEntry* objects. More...
 
DtRemoteConfigurationList::CreatorFcn myRemoteConfigListCreatorFcn
 
DtReaderWriter::SearchPaths mySearchPaths
 List of additional search paths from included SMSs. More...
 
- Protected Attributes inherited from DtVrfParameterDb
DtList myParameterList
 List of DtVrfParameterDbEntry* objects. More...
 
std::map< DtString, std::list
< DtVrfObjectParameters * > > 
myEquipmentToParamsMap
 A cache of equipment name to db entry list mappings. More...
 

Static Protected Attributes

static DtString theOpdFilenameExtension
 
static DtString theOpeFilenameExtension
 
static DtFilename theOldParameterDbDirectory
 
static std::map< DtString,
DtFilename > * 
theExtensionToPathMap
 

Private Member Functions

 DtMtlParameterDb (const DtMtlParameterDb &orig)
 copy constructor - not implemented More...
 
DtMtlParameterDboperator= (const DtMtlParameterDb &orig)
 assignment operator - not implemented More...
 

Detailed Description

Instances of DtMtlParameterDb are a database of DtVrfObjectParameters* entries that are loaded from an MTL (Mak Technologies Lisp) format file.

Constructor & Destructor Documentation

DtMtlParameterDb::DtMtlParameterDb ( )

default constructor

virtual DtMtlParameterDb::~DtMtlParameterDb ( )
virtual

destructor

DtMtlParameterDb::DtMtlParameterDb ( const DtMtlParameterDb orig)
private

copy constructor - not implemented

Member Function Documentation

virtual bool DtMtlParameterDb::init ( )
virtual

Initialization - must be called before any other public member functions are called.

Reimplemented from DtVrfParameterDb.

virtual DtMtlParameterDbEntry* DtMtlParameterDb::add ( const DtObjectType objectType,
const DtFilename &  filename,
bool  typeIsMatchType,
DtVrfObjectParameters newParameters = NULL 
)
virtual

Add a new entry to the parameter database, keyed on DtObjectType.

If an entry with the exact object type already exists, then it will be removed and deleted before the new one is added. filename is the name of a object parameter entry file (*.ope), which is a MTL file containing the data representing a single DtVrfObjectParameter entry. If the entry is added using a matchType, it will not override entries of the same type that were added using object types.

virtual void DtMtlParameterDb::createRemoteConfigurationList ( )
virtual

discard existing pMyRemoteConfigurationList and recreate using myRemoteConfigListCreatorFcn This is called from init();

virtual DtVrfObjectParameters* DtMtlParameterDb::lookup ( const DtObjectType objectType,
DtObjectType matchingType,
DtString source = NULL 
) const
virtual

Lookup entry in parameter database that most closely matches given objectType.

If matchingType is specified, return the object type of the entry (which may be less specific than the object type being looked up). Loads the object parameter entry from given filename, if corresponding data for the entry has not yet been loaded. If source is specified, it will be set to the filename of the OPE file loaded for these parameters.

Reimplemented from DtVrfParameterDb.

virtual bool DtMtlParameterDb::load ( const DtFilename &  filename,
bool  preloadParameters = false 
)
virtual

Loads the contents of an MTL parameter database file (*.opd).

If the preloadParameters value is true will load all the parameters found in the database from disk (versus waiting until it is needed)

Reimplemented from DtVrfParameterDb.

virtual bool DtMtlParameterDb::loadAll ( const DtFilename &  filename)
virtual

Loads MTL parameter database file and loads all .ope files it references.

DtRemoteConfigurationList * DtMtlParameterDb::remoteConfigurationList ( )
inline
const DtRemoteConfigurationList * DtMtlParameterDb::remoteConfigurationList ( ) const
inline
DtRemoteConfigurationList::CreatorFcn DtMtlParameterDb::remoteConfigurationListCreatorFcn ( )
inline
void DtMtlParameterDb::setRemoteConfigurationListCreatorFcn ( DtRemoteConfigurationList::CreatorFcn  fcn)
inline
virtual bool DtMtlParameterDb::save ( const DtFilename &  filename)
virtual

Saves contents of parameter database to file.

Filename will be given .opd file extension if it does not already exist. Creates subdirectory of the same name minus the .opd extension and places individual object parameter entry files (.ope) for each entry in the database. Object parameter database file will contain list of filenames referencing individual .ope files.

Reimplemented from DtVrfParameterDb.

virtual void DtMtlParameterDb::removeAll ( )
virtual

Overridden to clear out the variable bindings.

Reimplemented from DtVrfParameterDb.

virtual void DtMtlParameterDb::setVersionNumber ( int  versionNumber)
virtual

Version number of parameter database.

Version number is stored in parameter databse file as of VR-Forces version 3.7. See CURRENT_PARAMETER_DB_FILE_FORMAT_VERSION at top of this file for latest version number.

virtual int DtMtlParameterDb::versionNumber ( ) const
virtual
virtual void DtMtlParameterDb::addDependentParameterFileToCopyPair ( const DtFilename &  fromFilename,
const DtFilename &  toFilename 
)
virtual

Dependent parameter files (.asl, .hit, .frm, .det, .dmg) to copy upon save.

These files are cached when a parameter database is loaded. Only the DtMtlParamDbReader and DtMtlParamDbWriter classes should need to call any of these functions.

virtual void DtMtlParameterDb::clearDependentParameterFileToCopyPairs ( )
virtual
virtual const std::map<std::string, std::string>& DtMtlParameterDb::dependentParameterFileToCopyPairs ( ) const
virtual
virtual void DtMtlParameterDb::updateReaderWriterFilePaths ( DtVrfObjectParameters parameters)
virtual

Updates paths to use relative-to-container convention for filenames in given parameters object.

Stores old/new parameter filenames in parameterDb, so if/when we go to write out the parameter database, it can find all of the files it need (to copy to the new path).

DtMtlParameterDbReader * DtMtlParameterDb::dbReader ( )
inline

References myParameterDbReader.

DtMtlParameterDbWriter * DtMtlParameterDb::dbWriter ( )
inline

References myParameterDbWriter.

virtual DtFilename DtMtlParameterDb::stripExtension ( const DtFilename &  filename,
const DtString extension 
)
virtual

Strips the extension (the trailing portion of a filename starting with ".") from a given filename.

virtual void DtMtlParameterDb::addVariableBindings ( DtVariableBindingsSharedPtr  bindings)
virtual

Returns filename loaded.

See Also
myVariableBindingsList
virtual std::list<DtVariableBindingsSharedPtr>& DtMtlParameterDb::variableBindings ( )
virtual
static DtVrfParameterDb* DtMtlParameterDb::create ( )
static

Returns a new instance of this class.

static const DtString& DtMtlParameterDb::opdFilenameExtension ( )
static

Default filename extension for parameter database file (.opd).

static const DtString& DtMtlParameterDb::opeFilenameExtension ( )
static

Default filename extension for parameter database entry files (.ope).

virtual void DtMtlParameterDb::setReader ( DtMtlParameterDbReader )
virtual

Sets the reader, deleting old reader. Takes ownership of reader.

virtual void DtMtlParameterDb::setWriter ( DtMtlParameterDbWriter )
virtual

Sets the writer, deleting old writer. Takes ownership of writer.

virtual DtReaderWriter::SearchPaths DtMtlParameterDb::searchPaths ( ) const
virtual

List of additional search paths from included SMSs.

virtual void DtMtlParameterDb::setSearchPaths ( const DtReaderWriter::SearchPaths searchPaths)
virtual
virtual DtVrfObjectParameters* DtMtlParameterDb::getParameters ( DtMtlParameterDbEntry entry) const
virtual

Retrieves the parameters from a given parameter entry object.

If the parameters component of an entry is non-NULL, returns the parameters. If the parameters component of an entry is NULL, loads the parameters from the filename given in the entry, storing the parameters in the entry, and then returns the parameters.

virtual DtMtlParameterDbReader* DtMtlParameterDb::createParamDbReader ( )
protectedvirtual

Factory method that creates parameter database reader object used in load().

Creates an instance of DtMtlParameterDbReader.

virtual DtMtlParameterDbWriter* DtMtlParameterDb::createMtlParamDbWriter ( )
protectedvirtual

Factory method that creates parameter database writer object used in save().

Creates an instance of DtMtlParameterDbWriter.

virtual bool DtMtlParameterDb::copyDependentParameterDirectories ( const DtFilename &  oldPath,
const DtFilename &  newPath 
)
protectedvirtual

Copies ammoselect, damage, detection, and hit subdirectories from oldPath location to newPath location.

virtual DtFilename DtMtlParameterDb::getPath ( const DtFilename &  filename)
protectedvirtual

Extracts path from a given filename.

virtual DtVrfParameterDbEntry* DtMtlParameterDb::createParameterEntry ( ) const
protectedvirtual

Override to create entry of type DtMtlParameterDbEntry.

Reimplemented from DtVrfParameterDb.

static const std::map<DtString, DtFilename>& DtMtlParameterDb::extensionToPathMap ( )
staticprotected

Map of filename extensions of dependent parameter files (.dmg, .hit, .asl, .frm, .det) to corrsponding directory paths (.

\damage, .\hit, .\ammoselect, .\formation, .\detection). Used in updating legacy format parameter database files that mapped these supporting files relative to the application path.

DtMtlParameterDb& DtMtlParameterDb::operator= ( const DtMtlParameterDb orig)
private

assignment operator - not implemented

Member Data Documentation

DtMtlParameterDbReader* DtMtlParameterDb::myParameterDbReader
protected

Referenced by dbReader().

DtMtlParameterDbWriter* DtMtlParameterDb::myParameterDbWriter
protected

Referenced by dbWriter().

DtString DtMtlParameterDb::theOpdFilenameExtension
staticprotected
DtString DtMtlParameterDb::theOpeFilenameExtension
staticprotected
DtFilename DtMtlParameterDb::theOldParameterDbDirectory
staticprotected
int DtMtlParameterDb::myVersionNumber
protected
DtVariableBindingsList DtMtlParameterDb::myVariableBindings
protected
std::map<std::string, std::string> DtMtlParameterDb::myDependentParameterFileToCopyPairs
protected
std::list<DtVariableBindingsSharedPtr> DtMtlParameterDb::myVariableBindingsList
protected

List of all top level variable bindings for each OPD file read in.

Additional OPD files read will add their bindings to the end if the list.

DtRemoteConfigurationList* DtMtlParameterDb::pMyRemoteConfigurationList
protected

List of DtRemoteConfigurationEntry* objects.

Referenced by remoteConfigurationList().

DtRemoteConfigurationList::CreatorFcn DtMtlParameterDb::myRemoteConfigListCreatorFcn
protected
DtReaderWriter::SearchPaths DtMtlParameterDb::mySearchPaths
protected

List of additional search paths from included SMSs.

std::map<DtString, DtFilename>* DtMtlParameterDb::theExtensionToPathMap
staticprotected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)