![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: rwVariableBindings.h,v $ $Revision: 1.11 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef rwVariableBindings_h 00015 #define rwVariableBindings_h 00016 00017 #include "vrfutil/rdrWritr.h" 00018 #include "vrfutil/vrfutilDefines.h" 00019 #include <list> 00020 #include <vlutil/vlSmartPointers.h> 00021 00031 class DT_DLL_vrfutil DtRwVariableBindings : public DtReaderWriter 00032 { 00033 private: 00035 DtRwVariableBindings(); 00036 00037 public: 00038 DtRwVariableBindings(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0); 00039 DtRwVariableBindings(const DtString& name, const DtRwVariableBindings& orig, 00040 DtReaderWriterRegistry* parentRegistry = 0); 00041 DtRwVariableBindings& operator=(const DtRwVariableBindings& orig); 00042 virtual ~DtRwVariableBindings(); 00043 00045 virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath = 00046 DtFilename::nullFilename(), 00047 const DtVariableBindingsList& variableBindings = nullVariableReference()); 00048 00050 virtual void writeSelf(FILE* fp, int indentLevel = 0, 00051 bool writeUnspecified = false, 00052 const DtFilename& path = DtFilename::nullFilename()); 00053 00056 00057 virtual const DtReaderWriter* findVariableBinding(const DtString& rwTypeString, 00058 const DtString& variableName) const; 00059 virtual DtReaderWriter* findVariableBinding(const DtString& rwTypeString, 00060 const DtString& variableName); 00062 00066 static DtRwVariableBindings* createBinding(const std::list<DtReaderWriter::DtVariableNameType> &); 00067 00072 virtual DtReaderWriter* addVariableBinding(const DtSymbolString& name, const char* type); 00073 00077 virtual const char* readerWriterType() const; 00078 00079 protected: 00081 void clearVariables(); 00084 void copyVariables(const DtRwVariableBindings& other); 00085 }; 00086 00087 typedef DtBoost::shared_ptr<DtRwVariableBindings> DtVariableBindingsSharedPtr; 00088 00094 DT_DLL_vrfutil bool substituteVariablesInString(DtString& string, 00095 const std::list<const DtRwVariableBindings*>&); 00096 #endif