13 #include <vlutil/vlString.h>
18 #include <vlutil/vlMachineTypes.h>
20 #include <mtl/environment.h>
21 #include <vlutil/vlFilename.h>
24 #include <vlutil/vlSmartPointers.h>
25 #include <vlutil/vlTime.h>
91 typedef std::vector<DtSymbolString>::iterator
aliasIter;
102 parentRegistry = NULL,
bool readonly =
false);
104 parentRegistry = NULL,
bool readonly =
false);
134 virtual void putSelf(std::string& fp,
int indentLevel = 0,
135 bool writeUnspecified =
false,
const DtFilename& path =
136 DtFilename::nullFilename());
139 virtual void postPutSelf();
142 virtual void prePutSelf();
149 virtual void getSelf(DtlObjPtr args,
154 virtual void postGetSelf();
157 virtual void preGetSelf();
161 virtual void writeSelf(std::string& fp,
int indentLevel = 0,
162 bool writeUnspecified =
false,
163 const DtFilename& path = DtFilename::nullFilename());
167 virtual void putData(std::string& fp,
int indentLevel = 0);
168 virtual DtlObjPtr getData(DtlObjPtr args,
const SearchPaths& searchPaths,
175 static void putIndent(std::string& fp,
int indentLevel);
197 virtual void setValueSpecified(
bool specified,
bool recurse =
false);
198 virtual bool valueSpecified()
const;
203 virtual void addAlias(
const DtString& alias);
209 virtual const aliasContainer& aliases()
const;
212 virtual void setReadonly(
bool flag);
215 inline bool isReadonly()
const
217 return myReadOnlyFlag;
222 virtual void reset();
227 virtual bool isVariableReference()
const;
230 virtual void setIsVariableReference(
bool value);
234 virtual void clearAllVariableReferenceFlags();
241 virtual int alignment()
const;
266 virtual bool checkAndSetDefaultRWValue(DtlObjPtr args,
276 static DtReaderWriter* createFromXmlFile(
const DtFilename&,
bool createAsProperty =
false);
285 virtual bool toXml(
const DtFilename&)
const;
288 virtual bool fromXml(
const DtString&);
291 virtual bool fromXmlFile(
const DtFilename&);
303 virtual void putVariableReference(
DtEnvironmentSP, DtEnvValueSP value)
const;
306 const SearchPaths& searchPaths = SearchPaths(),
311 const SearchPaths& searchPaths = SearchPaths(),
315 virtual void unrecognizedItem(
const DtEnvironmentSP env,
const DtEnvValueSP root,
319 virtual void getVariableReference(
DtEnvironmentSP, DtEnvValueSP value);
327 virtual bool variableIsBound()
const;
331 virtual void unbindVariable();
336 static void setPutIndent(
bool);
337 static bool putIndent();
353 virtual void setName(
const DtString&);
358 virtual const char* readerWriterType()
const;
361 static const char* theXmlType();
363 virtual const char* xmlType()
const
370 virtual DtString prettyPrint()
const;
372 std::string debugText()
const;
389 virtual std::list<DtVariableNameType> unboundVariables()
const;
395 static const DtFilename& appPath();
397 bool invalid()
const;
405 static void setFactoryCreatorFunction(DtReaderWriterFactoryCreatorFcn fcn);
407 static void createReaderWriterFactory();
408 static void cleanupFactory();
417 virtual bool hasVariableReference()
const;
494 inline std::string&
operator<<(std::string& a,
const std::string& b) { a += b;
return a; }
495 inline std::string&
operator<<(std::string& a,
const char* b) { a += b;
return a; }
496 inline std::string&
operator<<(std::string& a,
char b) { a += b;
return a; }