VR-Forces 4.2 Class Documentation
mtlParamDb.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: mtlParamDb.h,v $ $Revision: 1.22 $ $State: Exp $
7 *******************************************************************************/
8 
11 
13 
14 #ifndef DtMtlParameterDb_H_
15 #define DtMtlParameterDb_H_
16 
17 #include "vrfobjparam/vrfParamDb.h"
18 #include <vlutil/vlFilename.h>
19 #include <map>
20 #include <string>
21 #include "vrfutil/rwRegistry.h"
24 
28 
31 typedef enum
32 {
36 
40 
46 {
47 public:
48 
51 
53  virtual ~DtMtlParameterDb();
54 
57  virtual bool init();
58 
65  virtual DtMtlParameterDbEntry* add(const DtObjectType& objectType,
66  const DtFilename& filename, DtVrfObjectParameters * newParameters = NULL);
67 
70  virtual void createRemoteConfigurationList();
78  virtual DtVrfObjectParameters * lookup(
79  const DtObjectType & objectType, DtObjectType * matchingType,
80  DtString* source = NULL) const;
81 
83  virtual bool load(const DtFilename& filename);
84 
86  virtual bool loadAll(const DtFilename& filename);
88  DtRemoteConfigurationList* remoteConfigurationList();
89  const DtRemoteConfigurationList* remoteConfigurationList() const;
90  DtRemoteConfigurationList::CreatorFcn remoteConfigurationListCreatorFcn();
91  void setRemoteConfigurationListCreatorFcn(DtRemoteConfigurationList::CreatorFcn fcn);
92 
99  virtual bool save(const DtFilename& filename);
100 
102  virtual void removeAll();
103 
108  virtual void setVersionNumber(int versionNumber);
109  virtual int versionNumber() const;
110 
115  virtual void addDependentParameterFileToCopyPair(
116  const DtFilename& fromFilename, const DtFilename& toFilename);
117  virtual void clearDependentParameterFileToCopyPairs();
118  virtual const std::map<std::string, std::string>&
119  dependentParameterFileToCopyPairs() const;
120 
125  virtual void updateReaderWriterFilePaths(DtVrfObjectParameters& parameters);
126 
127  DtMtlParameterDbReader* dbReader();
128  DtMtlParameterDbWriter* dbWriter();
129 
132  virtual DtFilename stripExtension(const DtFilename& filename,
133  const DtString& extension);
134 
136  //const DtFilename& filename() const;
137 
139 
140  virtual void addVariableBindings(DtVariableBindingsSharedPtr bindings);
141  virtual std::list<DtVariableBindingsSharedPtr>& variableBindings();
143 
144 public:
145 
147  static DtVrfParameterDb* create();
148 
150  static const DtString& opdFilenameExtension();
151 
154  static const DtString& opeFilenameExtension();
155 
157  virtual void setReader(DtMtlParameterDbReader*);
158 
160  virtual void setWriter(DtMtlParameterDbWriter*);
161 
162 protected:
163 
166  virtual DtMtlParameterDbReader* createParamDbReader();
167 
170  virtual DtMtlParameterDbWriter* createMtlParamDbWriter();
171 
174  virtual bool copyDependentParameterDirectories(const DtFilename& oldPath,
175  const DtFilename& newPath);
176 
178  virtual DtFilename getPath(const DtFilename& filename);
179 
185  virtual DtVrfObjectParameters* getParameters(
186  DtMtlParameterDbEntry* entry) const;
187 
190 
196  static const std::map<DtString, DtFilename>& extensionToPathMap();
197 
198 private:
200  DtMtlParameterDb(const DtMtlParameterDb& orig);
201 
204 
205 protected:
206 
209 
212  static DtFilename theOldParameterDbDirectory;
213 
215 
217  //DtFilename myFilename;
218  std::map<std::string, std::string> myDependentParameterFileToCopyPairs;
219 
222  std::list<DtVariableBindingsSharedPtr> myVariableBindingsList;
223 
227 protected:
228 
229  static std::map<DtString, DtFilename>* theExtensionToPathMap;
230 };
231 
233 {
234  return myParameterDbReader;
235 }
236 
238 {
239  return myParameterDbWriter;
240 }
241 
242 /*
243 inline const DtFilename& DtMtlParameterDb::filename() const
244 {
245  return myFilename;
246 }
247 */
248 
253 #endif

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)