VR-Forces 4.7 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 
61  virtual DtMtlParameterDbEntry* add(const DtObjectType& objectType,
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 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)