11 #pragma warning(disable : 4100)
15 #define UNDEFINED_STR "---"
18 #include <vlutil/vlString.h>
22 #include <mtl/mtlEnvironment.h>
36 #define theOMTDatatypeManager DtDatatypeManager::defaultInstance()
67 virtual void initOMTData(
DtOMTTree* omtTree);
72 virtual void setImplicitPadding(
bool enableImplicitPadding);
73 virtual bool isImplicitPaddingEnabled()
const;
78 virtual void fillDefaultDatatypeRepList();
92 virtual std::map<DtString,DtDatatypeRep*>::iterator getNameRepMapList();
93 virtual std::map<DtString,DtDatatypeRep*>::iterator getNameRepMapListEnd();
101 virtual void addDelimiterMap(
const DtString& datatype,
const DtString& delimiter);
102 virtual void removeDelimiterMap(
const DtString& datatype);
105 virtual void setDefaultDelimiter(
const DtString& str);
112 virtual DtString getDelimiterMap(
const DtString& datatypeName,
bool* isAvailable = 0);
113 virtual std::map<DtString,DtString>::iterator getDelimiterList();
114 virtual std::map<DtString,DtString>::iterator getDelimiterListEnd();
121 virtual void addArrayBracketMap(
const DtString& datatype,
bool valueIsBracketed);
122 virtual void removeArrayBracketMap(
const DtString& datatype);
125 virtual void setDefaultArrayBracket(
bool valueIsBracketed);
128 virtual bool getArrayBracketMap(
const DtString& datatypeName,
bool* isAvailable = 0);
129 virtual std::map<DtString,bool>::iterator getArrayBracketList();
130 virtual std::map<DtString,bool>::iterator getArrayBracketListEnd();
136 virtual void readFile(
DtString str);
139 virtual void writeFile(
DtString str);
143 virtual void removeRepMapping(
const DtString& datatype);
146 virtual void addAttributeMapping(
const DtString& datatype,
const DtString& rep);
147 virtual void removeAttributeMapping(
const DtString& datatype);
151 virtual bool modifyRepMapping(
const DtString& datatype,
const DtString& rep);
154 virtual std::map<DtString,DtString>::iterator getRepMapList();
155 virtual std::map<DtString,DtString>::iterator getRepMapListEnd();
169 const void* value,
int size,
int& returnSize);
171 const void* value,
int size,
int& returnSize);
173 const void* value,
int size,
int& returnSize);
187 const void* value,
int size,
int& returnSize,
unsigned int currentOffset = 0,
190 const void* value,
int size,
int& returnSize,
const DtOMTNode* omtNode = 0,
191 unsigned int currentOffset = 0,
DtStringTree* strParentTree = 0,
194 const void* value,
int size,
int& returnSize,
195 unsigned int currentOffset = 0,
DtStringTree* strParentTree = 0,
202 virtual void getValueFromStringRep(
const DtString& datatypeName,
const DtString& stringRep,
203 std::vector<char>& result);
214 virtual DtDatatypeEnum getDatatypeEnum(
const DtString& datatypeName);
218 virtual bool isDirty();
221 virtual void setIsDirty(
bool makeDirty);
231 virtual void checkOrphanMappings();
236 virtual void getDefaultRep(
const void* value,
int size,
int& returnSize,
DtString& returnString);
237 virtual void getDatatypeRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
238 virtual void getAttributeRep(
const DtString& attributeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
239 virtual void getEnumRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
240 virtual void getVariantRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
241 virtual void getArrayRepBySize(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
242 virtual void getArrayRepByCount(
DtArrayDatatypeNode* arrayNode,
const void* value,
int size,
int& returnSize,
DtString& returnString);
243 virtual void getArrayRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
246 virtual void getValueFromDatatypeRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
247 virtual void getValueFromArrayRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
248 virtual void getValueFromComplexRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
249 virtual void getValueFromFixedRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
250 virtual void getValueFromEnumRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
253 virtual void createComplexTreeRep(
254 const DtString& datatypeName,
const void* value,
int size,
256 unsigned int currentOffset = 0,
258 virtual void createArrayTreeRep(
259 const DtString& datatypeName,
const void* value,
int size,
261 unsigned int currentOffset = 0,
263 virtual void createDefinedTreeRep(
264 const DtString& datatypeName,
const void* value,
int size,
266 unsigned int currentOffset = 0,
268 virtual void createVariantTreeRep(
269 const DtString& datatypeName,
const void* value,
int size,
271 unsigned int currentOffset = 0,
273 virtual void createFixedTreeRep(
274 const DtString& datatypeName,
const void* value,
int size,
276 unsigned int currentOffset = 0,
280 virtual void processMappings(DtlObjPtr& ptr);
286 const void* value,
int valueSize,
int alreadyRead,
290 const void* value,
int valueSize,
294 virtual int byteAlignment(
const DtString& datatype);
295 virtual int byteAlignmentFromRep(
const DtString& datatype);
296 virtual int byteAlignmentFixed(
const DtString& datatype);
297 virtual int byteAlignmentArray(
const DtString& datatype);
298 virtual int byteAlignmentVariant(
const DtString& datatype);
299 virtual int byteAlignmentComplex(
const DtString& datatype);
300 virtual int implicitPadding(
unsigned int currentOffset,
const DtString& datatypeName);