19 #include <vlutil/vlTime.h>
25 template <
typename _RwType>
43 virtual char*
encode(
char*)
const;
46 virtual const char*
decode(
const char*);
64 virtual void getSelf(DtlObjPtr args,
106 virtual void reset();
120 template <
typename _RwType>
139 virtual char*
encode(
char*)
const;
232 virtual char*
encode(
char*)
const;
234 virtual const char*
decode(
const char*);
236 virtual void getSize(
int& size)
const;
391 #define rwProperties_INL_
392 #include <readerWriter/rwProperty.inl>
393 #undef rwProperties_INL_
virtual unsigned disRecordType() const
If this property is published, which DIS record type should it use.
static void setDefaultThreshold(double percentage)
Changes the default threshold for cases when setThreshold() has not been called.
double myThreshold
Definition: rwProperty.h:194
DtClock myClock
Definition: rwProperty.h:110
#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
virtual void setPropertyName(const DtString &propertyName)
Sets name of this property. Should generally only be called when initially created.
Definition: rwProperty.h:62
static const char * theXmlType()
The type that is used when archiving to an XML stream.
Definition: symbolString.h:20
virtual DtPropertyInterface * property()
virtual char * encode(char *) const
These methods are for network encoding/decoding for Hla encoding decoding reasons.
unsigned myDisRecordType
Definition: rwProperty.h:113
This class is similar to DtRwProperty, but allows you to specify a threshold at which the value shoul...
Definition: rwProperty.h:121
virtual const char * decode(const char *)
Decodes the variable bindings from the specified buffer.
virtual void reset()
Override to clear out variable value.
Definition: rwProperty.h:250
virtual int hlaAlignment() const
Returns alignment necessary to encode this item in HLA.
Definition: rwProperty.h:348
voidpf void uLong size
Definition: ioapi.h:39
Definition: readerWriter.h:85
virtual void setMaxUpdateInterval(DtTime interval)
Changes the maximum time between updates if data has changed but has not crossed the threshold for an...
static void setDefaultMaxUnchangedUpdateInterval(DtTime interval)
Changes the default max unchanged update interval for cases when setMaxUnchangedUpdateInterval() has ...
Definition: readerWriterRegistry.h:39
virtual const char * xmlType() const
Definition: rwProperty.h:244
Definition: rwProperty.h:320
virtual bool wasUpdatedSince(DtTime t) const
Returns true if an update occurred since the specified time.
Definition: rwProperty.h:203
Interface class used to define minimal interface for a property.
Definition: propertyInterface.h:48
Definition: rwProperty.h:292
virtual DtString stringRep(const DtString &root="") const
DtTime myUpdateTime
Definition: rwProperty.h:111
DtRwPropertyWithThreshold()
Not implemented.
static double myDefaultThreshold
Definition: rwProperty.h:193
DtTime myMaxUnchangedUpdateInterval
Definition: rwProperty.h:200
virtual DtReaderWriter * readerWriter()
Definition: rwProperty.h:334
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
bool myThresholdingEnabled
Whether thresholding is currently enabled.
Definition: rwProperty.h:185
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
static DtTime myDefaultMaxUnchangedUpdateInterval
Definition: rwProperty.h:199
std::vector< DtMergePathStruct > DtMergePath
Definition: readerWriterFactory.h:167
virtual void setMaxUnchangedUpdateInterval(DtTime interval)
Changes the maximum time between updates if data has changed but has not crossed the threshold for an...
DtRwPropertyWithThreshold & operator=(const DtRwPropertyWithThreshold &orig)
Definition: rwProperty.h:306
Definition: rwProperty.h:278
Definition: rwProperty.h:219
DtRwProperty()
Not implemented.
_RwType myLastEncodedValue
The value at the last time the value was encoded.
Definition: rwProperty.h:188
Definition: rwProperty.h:377
virtual ~DtRwPropertyWithThreshold()
static const DtVariableBindingsList & nullVariableReference()
DtTime myLastEncodeTime
The time the value was last encoded.
Definition: rwProperty.h:191
DtRwProperty & operator=(const DtRwProperty &orig)
Defines the DtPropertyInterface class, the interface for all property classes.
virtual bool merge(const DtPropertyInterface &target, MergeFlags, const DtMergePath &path=DtMergePath(), const std::set< DtString > &ignore=std::set< DtString >())
In this case replace does not matter – will replace value regardless.
Definition: rwProperty.h:264
virtual bool isPublished() const
Whether this property should be published.
virtual void setThreshold(double percentage)
Changes the threshold for when an update should be sent.
bool myIsPublished
Definition: rwProperty.h:112
virtual void setIsPublished(bool isPub)
Templated class that allows for the definition of a property.
Definition: rwProperty.h:26
virtual bool wasUpdatedSince(DtTime t) const
Returns true if an update occurred since the specified time and the current value is at least _Thresh...
virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Override to allow a variable to be assigned to a property of derived type.
virtual void setDisRecordType(unsigned recType)
virtual DtSymbolString propertyName() const
The name of this property.
Definition: rwProperty.h:59
virtual const char * readerWriterType() const
Used to supply a string type that this reader writer type is.
virtual char * encode(char *) const
These methods are for network encoding/decoding for HLA encoding decoding reasons.
virtual void enableThresholding(bool enable)
Enables or disables thresholding of this property. Enabled by default.
static DtTime myDefaultMaxUpdateInterval
Definition: rwProperty.h:196
DtTime myMaxUpdateInterval
Definition: rwProperty.h:197
virtual const char * propertyType() const
Typically returns reader/writer type.
static void setDefaultMaxUpdateInterval(DtTime interval)
Changes the default max update interval for cases when setMaxUpdateInterval() has not been called...
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=DtReaderWriter::SearchPaths(), const DtVariableBindingsList &variableBindings=DtReaderWriter::nullVariableReference())
virtual void recordUpdateTime() const
Stamps the time when updated.
Definition: rwProperty.h:362
MergeFlags
Determines how two lists of properties will be merged by the merge function.
Definition: propertyInterface.h:53