11 #pragma warning(disable : 4100)
15 #define UNDEFINED_STR "---"
23 #ifdef DtUSE_UTILITIES_NAMESPACE
24 namespace DtUSE_UTILITIES_NAMESPACE
40 #define theOMTDatatypeManager DtDatatypeManager::defaultInstance()
71 virtual void initOMTData(
DtOMTTree* omtTree);
76 virtual void setImplicitPadding(
bool enableImplicitPadding);
77 virtual bool isImplicitPaddingEnabled()
const;
82 virtual void fillDefaultDatatypeRepList();
96 virtual std::map<DtString,DtDatatypeRep*>::iterator getNameRepMapList();
97 virtual std::map<DtString,DtDatatypeRep*>::iterator getNameRepMapListEnd();
105 virtual void addDelimiterMap(
const DtString& datatype,
const DtString& delimiter);
106 virtual void removeDelimiterMap(
const DtString& datatype);
109 virtual void setDefaultDelimiter(
const DtString& str);
116 virtual DtString getDelimiterMap(
const DtString& datatypeName,
bool* isAvailable = 0);
117 virtual std::map<DtString,DtString>::iterator getDelimiterList();
118 virtual std::map<DtString,DtString>::iterator getDelimiterListEnd();
125 virtual void addArrayBracketMap(
const DtString& datatype,
bool valueIsBracketed);
126 virtual void removeArrayBracketMap(
const DtString& datatype);
129 virtual void setDefaultArrayBracket(
bool valueIsBracketed);
132 virtual bool getArrayBracketMap(
const DtString& datatypeName,
bool* isAvailable = 0);
133 virtual std::map<DtString,bool>::iterator getArrayBracketList();
134 virtual std::map<DtString,bool>::iterator getArrayBracketListEnd();
140 virtual void readFile(
DtString str);
143 virtual void writeFile(
DtString str);
147 virtual void removeRepMapping(
const DtString& datatype);
150 virtual void addAttributeMapping(
const DtString& datatype,
const DtString& rep);
151 virtual void removeAttributeMapping(
const DtString& datatype);
155 virtual bool modifyRepMapping(
const DtString& datatype,
const DtString& rep);
158 virtual std::map<DtString,DtString>::iterator getRepMapList();
159 virtual std::map<DtString,DtString>::iterator getRepMapListEnd();
173 const void* value,
int size,
int& returnSize);
175 const void* value,
int size,
int& returnSize);
177 const void* value,
int size,
int& returnSize);
191 const void* value,
int size,
int& returnSize,
unsigned int currentOffset = 0,
194 const void* value,
int size,
int& returnSize,
const DtOMTNode* omtNode = 0,
195 unsigned int currentOffset = 0,
DtStringTree* strParentTree = 0,
198 const void* value,
int size,
int& returnSize,
199 unsigned int currentOffset = 0,
DtStringTree* strParentTree = 0,
206 virtual void getValueFromStringRep(
const DtString& datatypeName,
const DtString& stringRep,
207 std::vector<char>& result);
218 virtual DtDatatypeEnum getDatatypeEnum(
const DtString& datatypeName);
222 virtual bool isDirty();
225 virtual void setIsDirty(
bool makeDirty);
235 virtual void checkOrphanMappings();
240 virtual void getDefaultRep(
const void* value,
int size,
int& returnSize,
DtString& returnString);
241 virtual void getDatatypeRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
242 virtual void getAttributeRep(
const DtString& attributeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
243 virtual void getEnumRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
244 virtual void getVariantRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
245 virtual void getArrayRepBySize(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
246 virtual void getArrayRepByCount(
DtArrayDatatypeNode* arrayNode,
const void* value,
int size,
int& returnSize,
DtString& returnString);
247 virtual void getArrayRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
250 virtual void getValueFromDatatypeRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
251 virtual void getValueFromArrayRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
252 virtual void getValueFromComplexRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
253 virtual void getValueFromFixedRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
254 virtual void getValueFromEnumRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
257 virtual void createComplexTreeRep(
258 const DtString& datatypeName,
const void* value,
int size,
260 unsigned int currentOffset = 0,
262 virtual void createArrayTreeRep(
263 const DtString& datatypeName,
const void* value,
int size,
265 unsigned int currentOffset = 0,
267 virtual void createDefinedTreeRep(
268 const DtString& datatypeName,
const void* value,
int size,
270 unsigned int currentOffset = 0,
272 virtual void createVariantTreeRep(
273 const DtString& datatypeName,
const void* value,
int size,
275 unsigned int currentOffset = 0,
277 virtual void createFixedTreeRep(
278 const DtString& datatypeName,
const void* value,
int size,
280 unsigned int currentOffset = 0,
284 virtual void processMappings(
DtlObjPtr& ptr);
290 const void* value,
int valueSize,
int alreadyRead,
294 const void* value,
int valueSize,
298 virtual int byteAlignment(
const DtString& datatype);
299 virtual int byteAlignmentFromRep(
const DtString& datatype);
300 virtual int byteAlignmentFixed(
const DtString& datatype);
301 virtual int byteAlignmentArray(
const DtString& datatype);
302 virtual int byteAlignmentVariant(
const DtString& datatype);
303 virtual int byteAlignmentComplex(
const DtString& datatype);
304 virtual int implicitPadding(
unsigned int currentOffset,
const DtString& datatypeName);
340 #ifdef DtUSE_UTILITIES_NAMESPACE