14 #include <vlutil/vlString.h>
18 #include <vlutil/vlMachineTypes.h>
20 #include <mtl/environment.h>
21 #include <vlutil/vlFilename.h>
23 #include <vlutil/vlSmartPointers.h>
24 #include <vlutil/vlTime.h>
90 typedef std::vector<DtSymbolString>::iterator
aliasIter;
101 parentRegistry = NULL,
bool readonly =
false);
103 parentRegistry = NULL,
bool readonly =
false);
133 virtual void putSelf(std::string& fp,
int indentLevel = 0,
134 bool writeUnspecified =
false,
const DtFilename& path =
135 DtFilename::nullFilename());
138 virtual void postPutSelf();
141 virtual void prePutSelf();
148 virtual void getSelf(DtlObjPtr args,
153 virtual void postGetSelf();
156 virtual void preGetSelf();
160 virtual void writeSelf(std::string& fp,
int indentLevel = 0,
161 bool writeUnspecified =
false,
162 const DtFilename& path = DtFilename::nullFilename());
166 virtual void putData(std::string& fp,
int indentLevel = 0);
167 virtual DtlObjPtr getData(DtlObjPtr args,
const SearchPaths& searchPaths,
174 static void putIndent(std::string& fp,
int indentLevel);
196 virtual void setValueSpecified(
bool specified,
bool recurse =
false);
197 virtual bool valueSpecified()
const;
202 virtual void addAlias(
const DtString& alias);
208 virtual const aliasContainer& aliases()
const;
211 virtual void setReadonly(
bool flag);
214 inline bool isReadonly()
const
216 return myReadOnlyFlag;
221 virtual void reset();
226 virtual bool isVariableReference()
const;
229 virtual void setIsVariableReference(
bool value);
233 virtual void clearAllVariableReferenceFlags();
240 virtual int alignment()
const;
265 virtual bool checkAndSetDefaultRWValue(DtlObjPtr args,
279 static DtReaderWriter* createFromXmlFile(
const DtFilename&,
bool createAsProperty =
false);
288 virtual bool toXml(
const DtFilename&)
const;
291 virtual bool fromXml(
const DtString&);
294 virtual bool fromXmlFile(
const DtFilename&);
306 virtual void putVariableReference(
DtEnvironmentSP, DtEnvValueSP value)
const;
309 const SearchPaths& searchPaths = SearchPaths(),
314 const SearchPaths& searchPaths = SearchPaths(),
318 virtual void unrecognizedItem(
const DtEnvironmentSP env,
const DtEnvValueSP root,
322 virtual void getVariableReference(
DtEnvironmentSP, DtEnvValueSP value);
330 virtual bool variableIsBound()
const;
334 virtual void unbindVariable();
339 static void setPutIndent(
bool);
340 static bool putIndent();
356 virtual void setName(
const DtString&);
361 virtual const char* readerWriterType()
const;
364 static const char* theXmlType();
366 virtual const char* xmlType()
const
373 virtual DtString prettyPrint()
const;
375 std::string debugText()
const;
392 virtual std::list<DtVariableNameType> unboundVariables()
const;
398 static const DtFilename& appPath();
400 bool invalid()
const;
408 static void setFactoryCreatorFunction(DtReaderWriterFactoryCreatorFcn fcn);
410 static void createReaderWriterFactory();
411 static void cleanupFactory();
420 virtual bool hasVariableReference()
const;
436 virtual void recordUpdateTime()
const;
440 virtual bool wasUpdatedSince(
DtTime t)
const;
444 virtual bool changedSinceLastChecked();
448 virtual bool peekChangedSinceLastChecked()
const;
450 static void setOutputStream(DtOutputStream*
stream);
451 static DtOutputStream& outputStream();
511 inline std::string&
operator<<(std::string& a,
const std::string& b) { a += b;
return a; }
512 inline std::string&
operator<<(std::string& a,
const char* b) { a += b;
return a; }
513 inline std::string&
operator<<(std::string& a,
char b) { a += b;
return a; }