VR-Forces Development_Version 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 
70  virtual DtMtlParameterDbEntry* add(const DtObjectType& objectType,
71  const DtFilename& filename, bool typeIsMatchType, DtVrfObjectParameters * newParameters = NULL);
72 
75  virtual void createRemoteConfigurationList();
83  virtual DtVrfObjectParameters * lookup(
84  const DtObjectType & objectType, DtObjectType * matchingType,
85  DtString* source = NULL) const;
86 
88  virtual bool load(const DtFilename& filename);
89 
91  virtual bool loadAll(const DtFilename& filename);
93  DtRemoteConfigurationList* remoteConfigurationList();
94  const DtRemoteConfigurationList* remoteConfigurationList() const;
95  DtRemoteConfigurationList::CreatorFcn remoteConfigurationListCreatorFcn();
96  void setRemoteConfigurationListCreatorFcn(DtRemoteConfigurationList::CreatorFcn fcn);
97 
104  virtual bool save(const DtFilename& filename);
105 
107  virtual void removeAll();
108 
113  virtual void setVersionNumber(int versionNumber);
114  virtual int versionNumber() const;
115 
120  virtual void addDependentParameterFileToCopyPair(
121  const DtFilename& fromFilename, const DtFilename& toFilename);
122  virtual void clearDependentParameterFileToCopyPairs();
123  virtual const std::map<std::string, std::string>&
124  dependentParameterFileToCopyPairs() const;
125 
130  virtual void updateReaderWriterFilePaths(DtVrfObjectParameters& parameters);
131 
132  DtMtlParameterDbReader* dbReader();
133  DtMtlParameterDbWriter* dbWriter();
134 
137  virtual DtFilename stripExtension(const DtFilename& filename,
138  const DtString& extension);
139 
141  //const DtFilename& filename() const;
142 
144 
145  virtual void addVariableBindings(DtVariableBindingsSharedPtr bindings);
146  virtual std::list<DtVariableBindingsSharedPtr>& variableBindings();
148 
149 public:
150 
152  static DtVrfParameterDb* create();
153 
155  static const DtString& opdFilenameExtension();
156 
159  static const DtString& opeFilenameExtension();
160 
162  virtual void setReader(DtMtlParameterDbReader*);
163 
165  virtual void setWriter(DtMtlParameterDbWriter*);
166 
168 
169  virtual DtReaderWriter::SearchPaths searchPaths() const;
170  virtual void setSearchPaths(const DtReaderWriter::SearchPaths& searchPaths);
172 
173 protected:
174 
177  virtual DtMtlParameterDbReader* createParamDbReader();
178 
181  virtual DtMtlParameterDbWriter* createMtlParamDbWriter();
182 
185  virtual bool copyDependentParameterDirectories(const DtFilename& oldPath,
186  const DtFilename& newPath);
187 
189  virtual DtFilename getPath(const DtFilename& filename);
190 
196  virtual DtVrfObjectParameters* getParameters(
197  DtMtlParameterDbEntry* entry) const;
198 
201 
207  static const std::map<DtString, DtFilename>& extensionToPathMap();
208 
209 private:
211  DtMtlParameterDb(const DtMtlParameterDb& orig);
212 
215 
216 protected:
217 
220 
223  static DtFilename theOldParameterDbDirectory;
224 
226 
228  //DtFilename myFilename;
229  std::map<std::string, std::string> myDependentParameterFileToCopyPairs;
230 
233  std::list<DtVariableBindingsSharedPtr> myVariableBindingsList;
234 
238 
241 protected:
242 
243  static std::map<DtString, DtFilename>* theExtensionToPathMap;
244 };
245 
247 {
248  return myParameterDbReader;
249 }
250 
252 {
253  return myParameterDbWriter;
254 }
255 
256 /*
257 inline const DtFilename& DtMtlParameterDb::filename() const
258 {
259  return myFilename;
260 }
261 */
262 
267 #endif

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)