VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mtlParameterDb.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 
22 
23 #include <vlutil/vlFilename.h>
24 
25 #include <map>
26 #include <string>
27 
31 
34 typedef enum
35 {
39 
43 
49 {
50 public:
51 
54 
56  virtual ~DtMtlParameterDb();
57 
60  virtual bool init();
61 
68  virtual DtMtlParameterDbEntry* add(const DtObjectType& objectType,
69  const DtFilename& filename, DtVrfObjectParameters * newParameters = NULL);
70 
73  virtual void createRemoteConfigurationList();
81  virtual DtVrfObjectParameters * lookup(
82  const DtObjectType & objectType, DtObjectType * matchingType,
83  DtString* source = NULL) const;
84 
86  virtual bool load(const DtFilename& filename);
87 
89  virtual bool loadAll(const DtFilename& filename);
91  DtRemoteConfigurationList* remoteConfigurationList();
92  const DtRemoteConfigurationList* remoteConfigurationList() const;
93  DtRemoteConfigurationList::CreatorFcn remoteConfigurationListCreatorFcn();
94  void setRemoteConfigurationListCreatorFcn(DtRemoteConfigurationList::CreatorFcn fcn);
95 
102  virtual bool save(const DtFilename& filename);
103 
105  virtual void removeAll();
106 
111  virtual void setVersionNumber(int versionNumber);
112  virtual int versionNumber() const;
113 
118  virtual void addDependentParameterFileToCopyPair(
119  const DtFilename& fromFilename, const DtFilename& toFilename);
120  virtual void clearDependentParameterFileToCopyPairs();
121  virtual const std::map<std::string, std::string>&
122  dependentParameterFileToCopyPairs() const;
123 
128  virtual void updateReaderWriterFilePaths(DtVrfObjectParameters& parameters);
129 
130  DtMtlParameterDbReader* dbReader();
131  DtMtlParameterDbWriter* dbWriter();
132 
135  virtual DtFilename stripExtension(const DtFilename& filename,
136  const DtString& extension);
137 
139  //const DtFilename& filename() const;
140 
142 
143  virtual void addVariableBindings(DtVariableBindingsSharedPtr bindings);
144  virtual std::list<DtVariableBindingsSharedPtr>& variableBindings();
146 
147 public:
148 
150  static DtVrfParameterDb* create();
151 
153  static const DtString& opdFilenameExtension();
154 
157  static const DtString& opeFilenameExtension();
158 
160  virtual void setReader(DtMtlParameterDbReader*);
161 
163  virtual void setWriter(DtMtlParameterDbWriter*);
164 
166 
167  virtual DtReaderWriter::SearchPaths searchPaths() const;
168  virtual void setSearchPaths(const DtReaderWriter::SearchPaths& searchPaths);
170 
171 protected:
172 
175  virtual DtMtlParameterDbReader* createParamDbReader();
176 
179  virtual DtMtlParameterDbWriter* createMtlParamDbWriter();
180 
183  virtual bool copyDependentParameterDirectories(const DtFilename& oldPath,
184  const DtFilename& newPath);
185 
187  virtual DtFilename getPath(const DtFilename& filename);
188 
194  virtual DtVrfObjectParameters* getParameters(
195  DtMtlParameterDbEntry* entry) const;
196 
199 
205  static const std::map<DtString, DtFilename>& extensionToPathMap();
206 
207 private:
209  DtMtlParameterDb(const DtMtlParameterDb& orig);
210 
213 
214 protected:
215 
218 
221  static DtFilename theOldParameterDbDirectory;
222 
224 
226  //DtFilename myFilename;
227  std::map<std::string, std::string> myDependentParameterFileToCopyPairs;
228 
231  std::list<DtVariableBindingsSharedPtr> myVariableBindingsList;
232 
236 
239 protected:
240 
241  static std::map<DtString, DtFilename>* theExtensionToPathMap;
242 };
243 
245 {
246  return myParameterDbReader;
247 }
248 
250 {
251  return myParameterDbWriter;
252 }
253 
254 /*
255 inline const DtFilename& DtMtlParameterDb::filename() const
256 {
257  return myFilename;
258 }
259 */
260 
265 #endif

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)