VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rwPropertiesList.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
14 
39 {
40 private:
43 
44 public:
45 
48  DtRwPropertiesList(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0);
49  DtRwPropertiesList(const DtString& name, const DtPropertyInterface* prototype,
50  DtReaderWriterRegistry* parentRegistry = 0);
51  DtRwPropertiesList(const DtString& name, const DtRwPropertiesList& orig,
52  DtReaderWriterRegistry* parentRegistry = 0);
53  virtual ~DtRwPropertiesList();
55 
64  virtual bool addItem(DtPropertyInterface* item);
65 
73  virtual DtPropertyInterface* addItem();
75 
79  virtual void erase(DtPropertyInterface* item);
80 
90  virtual void erase(iterator pos);
92 
95  virtual const char* readerWriterType() const;
96 
98  static const char* theXmlType();
99 
100  virtual const char* xmlType() const
101  {
102  return theXmlType();
103  }
104 
106  virtual char* encode(char*) const;
107 
109  virtual const char* decode(const char*);
110 
112  virtual bool isValidProperty(const DtPropertyInterface*) const;
113 
115  virtual int count() const;
116 
118  virtual void getSelf(DtlObjPtr args,
120  const DtVariableBindingsList& variableBindings = nullVariableReference());
121 
122  virtual void writeSelf(std::string& fp, int indentLevel = 0,
123  bool writeUnspecified = false, const DtFilename& path =
124  DtFilename::nullFilename());
125  virtual void writeData(std::string& fp, int indentLevel = 0,
126  bool writeUnspecified = false, const DtFilename& path =
127  DtFilename::nullFilename());
128 
130  virtual void setPrototype(const DtPropertyInterface*);
131 
133  virtual const DtPropertyInterface* prototype() const;
134 
136  virtual DtPropertyInterface* clonePrototype(DtReaderWriterRegistry* parent = 0);
137 
139 
141  virtual void getSize(int& size) const;
142 
144  virtual bool isSimilarProperty(const DtPropertyInterface* rhs, bool strict = true) const;
145 
146  bool operator==(const DtRwPropertiesList&) const;
147 
148  virtual bool matchPrototype(const DtReaderWriter*) const;
149 
150 protected:
151  virtual void writePrototype(const DtReaderWriter*, std::string& fp, int indentLevel, bool writeHeader = true) const;
152  virtual void bindToRwAsVariable(const DtReaderWriter* rw);
153 
154  virtual void createListEntry(DtPropertyInterface* iFace,
155  DtlObjPtr variableItem,
156  const DtReaderWriter::SearchPaths& searchPaths,
157  const DtVariableBindingsList& variableBindings);
158 
159  virtual DtPropertyInterface* createPrototype(DtlObjPtr);
160  virtual DtlObjPtr variablesStart(DtlObjPtr args) const;
161 
163  virtual const char* decode(DtPropertyInterface*, const char*);
164 
165  virtual DtlObjPtr getData(DtlObjPtr variableList,
166  const DtReaderWriter::SearchPaths& searchPaths,
167  const DtVariableBindingsList& variableBindings);
168 
169  virtual int hlaAlignment(const DtPropertyInterface* field) const;
170  virtual void getData(const DtEnvironmentSP env, const DtEnvValueSP root,
171  const DtReaderWriter::SearchPaths& searchPaths, const DtVariableBindingsList& varBindings);
172  virtual void putData(DtEnvironmentSP, DtEnvValueSP value) const;
173 
174  virtual void assignPrototypeToChildren();
175 
176  virtual void setPrototypeIntoTarget(const DtPropertyInterface* prototype, DtReaderWriter* target);
177 
178  virtual void postWriteItem(std::string& fp, DtReaderWriter* rw, int indentLevel);
179  virtual void preWriteItem(std::string& fp, DtReaderWriter* rw, int indentLevel);
180 
181  virtual bool matchPrototype(const DtReaderWriter* prototype, const DtReaderWriter* match) const;
182 
184  virtual void cloneAndAddProperty(const DtReaderWriter& rw);
185 
186 protected:
189 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)