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);
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();
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; }
bool invalid() const
Definition: readerWriter.h:506
class DtGetSelfCallbackInfo:
Definition: getSelfCallbackInfo.h:25
std::vector< DtSymbolString > aliasContainer
Definition: readerWriter.h:89
bool myVariableIsBound
Definition: readerWriter.h:468
#define DT_DLL_readerWriter
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: readerWriterDefines.h:34
std::vector< DtSymbolString >::iterator aliasIter
Definition: readerWriter.h:90
Definition: symbolString.h:20
DtReaderWriter * myDefaultValue
Definition: readerWriter.h:470
void(* DtPutSelfCallbackFcn)(DtReaderWriter *obj, std::string &fp, void *userData)
Definition: putSelfCallbackInfo.h:16
bool myInvalid
Set to true if there is a problem reading this item.
Definition: readerWriter.h:487
bool myReadOnlyFlag
Definition: readerWriter.h:465
DT_DLL_readerWriter DtBoost::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
Definition: readerWriter.h:85
static DtReaderWriterFactoryCreatorFcn theFactoryCreatorFcn
Definition: readerWriter.h:483
DtReaderWriterRegistry * myParentRegistry
Definition: readerWriter.h:463
DT_DLL_features std::ostream & operator<<(std::ostream &, const DtFeatureTransform &)
std::ostream output.
static const DtVariableBindingsList theEmptyVariableBindingsList
Definition: readerWriter.h:479
Definition: readerWriterRegistry.h:39
bool myValueSpecified
Definition: readerWriter.h:464
std::pair< DtSymbolString, DtString > DtVariableNameType
Definition: readerWriter.h:388
DtSymbolString myVariableName
Definition: readerWriter.h:467
Interface class used to define minimal interface for a property. The DtPropertyInterface class provid...
Definition: propertyInterface.h:48
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
static DtReaderWriterFactory * theFactory
Definition: readerWriter.h:482
const DtSymbolString myName
Definition: readerWriter.h:461
static DtGetSelfCallbackInfo thePostGetSelfCallback
Definition: readerWriter.h:477
class DtPutSelfCallbackInfo:
Definition: putSelfCallbackInfo.h:26
virtual const char * xmlType() const
Definition: readerWriter.h:366
const DtReaderWriterRegistry & registry() const
Collection of child DtReaderWriter nodes owned by this object.
Definition: readerWriter.h:496
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtSymbolString >::const_iterator aliasConstIter
Definition: readerWriter.h:91
bool isReadonly() const
Definition: readerWriter.h:214
bool myIsVariableReference
Definition: readerWriter.h:466
static bool theCreatorFcnSet
Definition: readerWriter.h:481
static DtOutputStream * theOutputStream
Definition: readerWriter.h:493
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
aliasContainer myAliases
Container for the aliases which represent alternative names for the object.
Definition: readerWriter.h:473
voidpf stream
Definition: ioapi.h:39
static DtPutSelfCallbackInfo thePrePutSelfCallback
Definition: readerWriter.h:478
void(* DtGetSelfCallbackFcn)(DtReaderWriter *obj, DtlObjPtr args, void *userData)
Definition: getSelfCallbackInfo.h:15
Factory for creating ReaderWriter objects dynamically based on a type string. This factory also handl...
Definition: readerWriterFactory.h:34
bool operator!=(const DtReaderWriter &rhs)
Definition: readerWriter.h:121
static bool thePutIndent
Definition: readerWriter.h:484
static DtString theUnspecifiedValue
Definition: readerWriter.h:475
DtReaderWriterRegistry myRegistry
Definition: readerWriter.h:462
bool myChangedFlag
Set to true when value changes Set to false when value checked with changedSinceLastChecked.
Definition: readerWriter.h:491