VR-Forces 4.1.1 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 
156 protected:
157 
160  virtual DtMtlParameterDbReader* createParamDbReader();
161 
164  virtual DtMtlParameterDbWriter* createMtlParamDbWriter();
165 
168  virtual bool copyDependentParameterDirectories(const DtFilename& oldPath,
169  const DtFilename& newPath);
170 
172  virtual DtFilename getPath(const DtFilename& filename);
173 
179  virtual DtVrfObjectParameters* getParameters(
180  DtMtlParameterDbEntry* entry) const;
181 
184 
190  static const std::map<DtString, DtFilename>& extensionToPathMap();
191 
192 private:
194  DtMtlParameterDb(const DtMtlParameterDb& orig);
195 
198 
199 protected:
200 
203 
206  static DtFilename theOldParameterDbDirectory;
207 
209 
211  //DtFilename myFilename;
212  std::map<std::string, std::string> myDependentParameterFileToCopyPairs;
213 
216  std::list<DtVariableBindingsSharedPtr> myVariableBindingsList;
217 
221 protected:
222 
223  static std::map<DtString, DtFilename>* theExtensionToPathMap;
224 };
225 
227 {
228  return myParameterDbReader;
229 }
230 
232 {
233  return myParameterDbWriter;
234 }
235 
236 /*
237 inline const DtFilename& DtMtlParameterDb::filename() const
238 {
239  return myFilename;
240 }
241 */
242 
247 #endif

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)