24 #include <boost/noncopyable.hpp>
40 virtual bool configure(
DtReaderWriter&,
bool ignoreUnspecified=
true)
const = 0;
49 :
D(name, parentRegistry)
52 this->myValueSpecified =
true;
56 :
D(def, name, parent)
59 this->myValueSpecified =
true;
64 :
D(name, def, parent)
67 this->myValueSpecified =
true;
70 virtual bool valuePresent()
const
72 return this->valueSpecified();
77 if (ignoreUnspecified && !valuePresent())
80 if (
D* rwD = dynamic_cast<D*>(&rw))
93 this->setValueSpecified(
true);
120 for (T* info=iter.
first(); info; info=iter.
next())
122 std::auto_ptr<T> t(
new T());
123 info->configure(*t, ignoreUnspecified);
124 rwlist->
add(t.release());
158 virtual bool loadFromFile(
const std::string& file, std::ostream& log=DtInfo);
164 virtual bool loadFromSourceSpecificFile(
165 const std::string& file,
166 const std::string& ext =
"mtl");
184 virtual void configure(
186 const std::string& matchText,
187 bool ignoreUnspecified=
true)
const;
193 virtual void configurePaths(std::string& path)
const;
196 virtual void print(std::ostream&,
bool printUnspecified=
true)
const;
376 static void setUserDataDefault(
const std::string&);
382 static void setDataDefault(
const std::string&);
389 static void setAppDataDefault(
const std::string&);
399 static void setModelDefinitionDefault(
const std::string&);
401 std::string modelDefinitionPath()
const;
403 std::string simCachePath()
const;
405 std::string featureConfigFile()
const;