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);
152 virtual const DtString& attributeMapping(
const DtString& attributeName)
const;
156 virtual bool modifyRepMapping(
const DtString& datatype,
const DtString& rep);
159 virtual std::map<DtString,DtString>::iterator getRepMapList();
160 virtual std::map<DtString,DtString>::iterator getRepMapListEnd();
174 const void* value,
int size,
int& returnSize);
176 const void* value,
int size,
int& returnSize);
178 const void* value,
int size,
int& returnSize);
192 const void* value,
int size,
int& returnSize,
unsigned int currentOffset = 0,
195 const void* value,
int size,
int& returnSize,
const DtOMTNode* omtNode = 0,
196 unsigned int currentOffset = 0,
DtStringTree* strParentTree = 0,
199 const void* value,
int size,
int& returnSize,
200 unsigned int currentOffset = 0,
DtStringTree* strParentTree = 0,
207 virtual void getValueFromStringRep(
const DtString& datatypeName,
const DtString& stringRep,
208 std::vector<char>& result);
219 virtual DtDatatypeEnum getDatatypeEnum(
const DtString& datatypeName);
223 virtual bool isDirty();
226 virtual void setIsDirty(
bool makeDirty);
236 virtual void checkOrphanMappings();
241 virtual void getDefaultRep(
const void* value,
int size,
int& returnSize,
DtString& returnString);
242 virtual void getDatatypeRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
243 virtual void getAttributeRep(
const DtString& attributeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
244 virtual void getEnumRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
245 virtual void getVariantRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
246 virtual void getArrayRepBySize(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
247 virtual void getArrayRepByCount(
DtArrayDatatypeNode* arrayNode,
const void* value,
int size,
int& returnSize,
DtString& returnString);
248 virtual void getArrayRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
251 virtual void getValueFromDatatypeRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
252 virtual void getValueFromArrayRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
253 virtual void getValueFromComplexRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
254 virtual void getValueFromFixedRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
255 virtual void getValueFromEnumRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
258 virtual void createComplexTreeRep(
259 const DtString& datatypeName,
const void* value,
int size,
261 unsigned int currentOffset = 0,
263 virtual void createArrayTreeRep(
264 const DtString& datatypeName,
const void* value,
int size,
266 unsigned int currentOffset = 0,
268 virtual void createDefinedTreeRep(
269 const DtString& datatypeName,
const void* value,
int size,
271 unsigned int currentOffset = 0,
273 virtual void createVariantTreeRep(
274 const DtString& datatypeName,
const void* value,
int size,
276 unsigned int currentOffset = 0,
278 virtual void createFixedTreeRep(
279 const DtString& datatypeName,
const void* value,
int size,
281 unsigned int currentOffset = 0,
285 virtual void processMappings(
DtlObjPtr& ptr);
291 const void* value,
int valueSize,
int alreadyRead,
295 const void* value,
int valueSize,
299 virtual int byteAlignment(
const DtString& datatype);
300 virtual int byteAlignmentFromRep(
const DtString& datatype);
301 virtual int byteAlignmentFixed(
const DtString& datatype);
302 virtual int byteAlignmentArray(
const DtString& datatype);
303 virtual int byteAlignmentVariant(
const DtString& datatype);
304 virtual int byteAlignmentComplex(
const DtString& datatype);
305 virtual int implicitPadding(
unsigned int currentOffset,
const DtString& datatypeName);
341 #ifdef DtUSE_UTILITIES_NAMESPACE