VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
mtlParameterDb.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
13 
14 #include <vlutil/vlFilename.h>
15 
16 #include <map>
17 #include <string>
18 
22 
25 typedef enum
26 {
30 
34 
40 {
41 public:
42 
45 
47  virtual ~DtMtlParameterDb();
48 
51  virtual bool init();
52 
62  const DtFilename& filename, bool typeIsMatchType, DtVrfObjectParameters * newParameters = NULL);
63 
66  virtual void createRemoteConfigurationList();
74  virtual DtVrfObjectParameters * lookup(
75  const DtObjectType & objectType, DtObjectType * matchingType,
76  DtString* source = NULL) const;
77 
81  virtual bool load(const DtFilename& filename, bool preloadParameters = false);
82 
84  virtual bool loadAll(const DtFilename& filename);
86  DtRemoteConfigurationList* remoteConfigurationList();
87  const DtRemoteConfigurationList* remoteConfigurationList() const;
88  DtRemoteConfigurationList::CreatorFcn remoteConfigurationListCreatorFcn();
89  void setRemoteConfigurationListCreatorFcn(DtRemoteConfigurationList::CreatorFcn fcn);
90 
97  virtual bool save(const DtFilename& filename);
98 
100  virtual void removeAll();
101 
106  virtual void setVersionNumber(int versionNumber);
107  virtual int versionNumber() const;
108 
113  virtual void addDependentParameterFileToCopyPair(
114  const DtFilename& fromFilename, const DtFilename& toFilename);
115  virtual void clearDependentParameterFileToCopyPairs();
116  virtual const std::map<std::string, std::string>&
117  dependentParameterFileToCopyPairs() const;
118 
123  virtual void updateReaderWriterFilePaths(DtVrfObjectParameters& parameters);
124 
125  DtMtlParameterDbReader* dbReader();
126  DtMtlParameterDbWriter* dbWriter();
127 
130  virtual DtFilename stripExtension(const DtFilename& filename,
131  const DtString& extension);
132 
134  //const DtFilename& filename() const;
135 
137 
138  virtual void addVariableBindings(DtVariableBindingsSharedPtr bindings);
139  virtual std::list<DtVariableBindingsSharedPtr>& variableBindings();
141 
142 public:
143 
145  static DtVrfParameterDb* create();
146 
148  static const DtString& opdFilenameExtension();
149 
152  static const DtString& opeFilenameExtension();
153 
155  virtual void setReader(DtMtlParameterDbReader*);
156 
158  virtual void setWriter(DtMtlParameterDbWriter*);
159 
161 
162  virtual DtReaderWriter::SearchPaths searchPaths() const;
163  virtual void setSearchPaths(const DtReaderWriter::SearchPaths& searchPaths);
165 
171  virtual DtVrfObjectParameters* getParameters(
172  DtMtlParameterDbEntry* entry) const;
173 
174 protected:
175 
178  virtual DtMtlParameterDbReader* createParamDbReader();
179 
182  virtual DtMtlParameterDbWriter* createMtlParamDbWriter();
183 
186  virtual bool copyDependentParameterDirectories(const DtFilename& oldPath,
187  const DtFilename& newPath);
188 
190  virtual DtFilename getPath(const DtFilename& filename);
191 
194 
200  static const std::map<DtString, DtFilename>& extensionToPathMap();
201 
202 private:
204  DtMtlParameterDb(const DtMtlParameterDb& orig);
205 
208 
209 protected:
210 
213 
216  static DtFilename theOldParameterDbDirectory;
217 
219 
221  //DtFilename myFilename;
222  std::map<std::string, std::string> myDependentParameterFileToCopyPairs;
223 
226  std::list<DtVariableBindingsSharedPtr> myVariableBindingsList;
227 
231 
234 protected:
235 
236  static std::map<DtString, DtFilename>* theExtensionToPathMap;
237 };
238 
240 {
241  return myParameterDbReader;
242 }
243 
245 {
246  return myParameterDbWriter;
247 }
248 
249 /*
250 inline const DtFilename& DtMtlParameterDb::filename() const
251 {
252  return myFilename;
253 }
254 */
255 
static std::map< DtString, DtFilename > * theExtensionToPathMap
Definition: mtlParameterDb.h:236
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:59
DtVrfParameterDb & operator=(const DtVrfParameterDb &orig)
assignment operator - not implemented
DtVariableBindingsList myVariableBindings
Definition: mtlParameterDb.h:220
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:35
DtMtlParameterDbReader * myParameterDbReader
Definition: mtlParameterDb.h:211
DtRemoteConfigurationList * pMyRemoteConfigurationList
List of DtRemoteConfigurationEntry* objects.
Definition: mtlParameterDb.h:229
#define DT_DLL_vrfobjparam
This file is used to determine how to build.
Definition: vrfobjparamDefines.h:28
DtRemoteConfigurationList *(* CreatorFcn)(const DtString &name, DtReaderWriterRegistry *parentRegistry)
Definition: remoteConfigurationList.h:28
*virtual const DtObjectType & objectType() const
static const DtParameterDatabaseFileVersionNumber CURRENT_PARAMETER_DB_FILE_FORMAT_VERSION
Current version number of the parameter database.
Definition: mtlParameterDb.h:33
DtParameterDatabaseFileVersionNumber
Parameter database file version number: 100: initial version.
Definition: mtlParameterDb.h:25
virtual DtVrfParameterDbEntry * add(const DtObjectType &objectType, DtVrfObjectParameters *parameters)
Add a new parameter entry to database.
DtBoost::shared_ptr< DtRwVariableBindings > DtVariableBindingsSharedPtr
Definition: rwVariableBindings.h:149
Definition: objectType.h:27
virtual bool save(const DtFilename &filename)
Save current contents of the parameter database to file.
Definition: vrfParameterDb.h:109
DtMtlParameterDbEntry; record in a DtMtlParameterDb.
Definition: mtlParameterDbEntry.h:31
virtual bool init()
initialization - must be called before any other public member functions are called.
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
static DtString theOpeFilenameExtension
Definition: mtlParameterDb.h:215
Definition: mtlParameterDb.h:27
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
Definition: vrfParameterDbEntry.h:22
class DtMtlParameterDbWriter:
Definition: mtlParameterDbWriter.h:31
const char * source
Definition: lz4.h:436
std::list< DtVariableBindingsSharedPtr > myVariableBindingsList
List of all top level variable bindings for each OPD file read in.
Definition: mtlParameterDb.h:226
DtRemoteConfigurationList::CreatorFcn remoteConfigurationListCreatorFcn()
Definition: mtlParameterDb.h:258
DtRemoteConfigurationList::CreatorFcn myRemoteConfigListCreatorFcn
Definition: mtlParameterDb.h:230
Instances of DtMtlParameterDb are a database of DtVrfObjectParameters* entries that are loaded from a...
Definition: mtlParameterDb.h:39
Definition: mtlParameterDb.h:28
int myVersionNumber
Definition: mtlParameterDb.h:218
static DtString theOpdFilenameExtension
Definition: mtlParameterDb.h:214
class DtMtlParameterDbReader:
Definition: mtlParameterDbReader.h:26
virtual DtVrfObjectParameters * lookup(const DtObjectType &objectType, DtObjectType *matchingType=NULL, DtString *source=NULL) const
Lookup entry in parameter database that most closely matches given objectType.
virtual DtVrfParameterDbEntry * createParameterEntry() const
Creates a new type of parameter entry. Override to create your own derived type.
static DtVrfParameterDb * create()
Returns a new instance of this class.
virtual bool load(const DtFilename &filename, bool preloadParameters=false)
Load the contents of a file into the parameter database.
Definition: vrfParameterDb.h:106
DtMtlParameterDbReader * dbReader()
Definition: mtlParameterDb.h:239
void setRemoteConfigurationListCreatorFcn(DtRemoteConfigurationList::CreatorFcn fcn)
Definition: mtlParameterDb.h:259
DtMtlParameterDbWriter * dbWriter()
Definition: mtlParameterDb.h:244
DtReaderWriter::SearchPaths mySearchPaths
List of additional search paths from included SMSs.
Definition: mtlParameterDb.h:233
virtual void removeAll()
Remove all entries in the parameter database.
static DtFilename theOldParameterDbDirectory
Definition: mtlParameterDb.h:216
This file declares DtComponentAttachmentConfigurationEntry.
Definition: remoteConfigurationList.h:24
DtRemoteConfigurationList * remoteConfigurationList()
Definition: mtlParameterDb.h:256
std::map< std::string, std::string > myDependentParameterFileToCopyPairs
Definition: mtlParameterDb.h:222
DtMtlParameterDbWriter * myParameterDbWriter
Definition: mtlParameterDb.h:212

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)