16 #include <vlutil/vlTime.h>
19 #include <boost/optional.hpp>
56 MinimalSimilarityCheck = 0x00000002,
60 AddMissing = 0x00000008,
61 KeepIsPublished = 0x00000010
80 template <
typename ValueType>
81 boost::optional<ValueType> propertyValue()
const;
89 template <
typename ValueType>
147 template <
typename SpecificPropType>
149 template <
typename SpecificPropType>
176 template <
typename ValueType>
195 template <
typename ValueType>
222 template <
typename SpecificPropType>
223 SpecificPropType* addNewProperty(
const DtString& propertyName);
251 virtual char*
encode(
char*)
const = 0;
255 virtual const char*
decode(
const char*) = 0;
266 virtual int hlaAlignment()
const = 0;
270 virtual const char* propertyType()
const = 0;
276 virtual void setPropertyName(
const DtString& propertyName) = 0;
314 virtual bool isPublishedArg(DtlObjPtr arg,
unsigned& disVarRecType)
const;
318 virtual bool isPublished()
const = 0;
319 virtual void setIsPublished(
bool isPub) = 0;
325 virtual unsigned disRecordType()
const = 0;
326 virtual void setDisRecordType(
unsigned recType) = 0;
330 virtual void reset() = 0;
334 virtual bool isDebugEnabled()
const = 0;
335 virtual void setDebugEnabled(
bool en) = 0;
339 #define propertyInterface_INL_
340 #include "propertyInterface.inl"
341 #undef propertyInterface_INL_
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
#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
Definition: symbolString.h:20
const int DtPropertyVersion
Definition: propertyInterface.h:22
voidpf void uLong size
Definition: ioapi.h:39
Definition: readerWriter.h:85
boost::optional< T > findPropertyValue(const DtReaderWriter &properties, const DtString &propertyName)
Finds the ReaderWriter object in the given set of properties with the specified name and returns its ...
virtual bool removeProperty(const DtString &propertyName)
Definition: propertyInterface.h:232
Interface class used to define minimal interface for a property. The DtPropertyInterface class provid...
Definition: propertyInterface.h:48
const SpecificRwType * findProperty(const DtReaderWriter &properties, const DtString &propertyName)
Finds the ReaderWriter object in the given set of properties with the specified name. Then verifies that the ReaderWriter matches the type specified as the template argument. Returns a valid pointer if successful.
virtual bool addProperty(DtPropertyInterface *property)
Adds a new property of the specified type and returns pointer to the new item. Returns a null pointer...
Definition: propertyInterface.h:211
virtual DtPropertyInterface * findPropertyInterface(const DtString &propertyName)
Definition: propertyInterface.h:120
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
virtual bool removeProperty(const DtPropertyInterface *property)
Definition: propertyInterface.h:237
std::vector< DtMergePathStruct > DtMergePath
Definition: readerWriterFactory.h:181
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer. buffer must have at least the number of bytes returned...
virtual const DtPropertyInterface * findPropertyInterface(const DtString &propertyName) const
Definition: propertyInterface.h:115
void setPropertyValue(DtReaderWriter *prop, T val)
Sets the value of the given ReaderWriter property. The template parameter type must be an appropriate...
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...
bool findAndSetPropertyValue(DtReaderWriter &properties, const DtString &propertyName, T val)
Finds the ReaderWriter object in the given set of properties with the specified name and sets its val...
MergeFlags
Determines how two lists of properties will be merged by the merge function.
Definition: propertyInterface.h:53