11 #pragma warning(disable : 4100)
15 #define UNDEFINED_STR "---"
23 #ifdef DtUSE_UTILITIES_NAMESPACE
24 namespace DtUSE_UTILITIES_NAMESPACE
40 #define theOMTDatatypeManager DtDatatypeManager::defaultInstance()
72 virtual void initOMTData(
DtOMTTree* omtTree);
77 virtual void setImplicitPadding(
bool enableImplicitPadding);
78 virtual bool isImplicitPaddingEnabled()
const;
83 virtual void fillDefaultDatatypeRepList();
97 virtual std::map<DtString,DtDatatypeRep*>::iterator getNameRepMapList();
98 virtual std::map<DtString,DtDatatypeRep*>::iterator getNameRepMapListEnd();
106 virtual void addDelimiterMap(
const DtString& datatype,
const DtString& delimiter);
107 virtual void removeDelimiterMap(
const DtString& datatype);
110 virtual void setDefaultDelimiter(
const DtString& str);
117 virtual DtString getDelimiterMap(
const DtString& datatypeName,
bool* isAvailable = 0);
118 virtual std::map<DtString,DtString>::iterator getDelimiterList();
119 virtual std::map<DtString,DtString>::iterator getDelimiterListEnd();
126 virtual void addArrayBracketMap(
const DtString& datatype,
bool valueIsBracketed);
127 virtual void removeArrayBracketMap(
const DtString& datatype);
130 virtual void setDefaultArrayBracket(
bool valueIsBracketed);
133 virtual bool getArrayBracketMap(
const DtString& datatypeName,
bool* isAvailable = 0);
134 virtual std::map<DtString,bool>::iterator getArrayBracketList();
135 virtual std::map<DtString,bool>::iterator getArrayBracketListEnd();
141 virtual void readFile(
DtString str);
144 virtual void writeFile(
DtString str);
148 virtual void removeRepMapping(
const DtString& datatype);
151 virtual void addAttributeMapping(
const DtString& datatype,
const DtString& rep);
152 virtual void removeAttributeMapping(
const DtString& datatype);
153 virtual const DtString& attributeMapping(
const DtString& attributeName)
const;
157 virtual bool modifyRepMapping(
const DtString& datatype,
const DtString& rep);
160 virtual std::map<DtString,DtString>::iterator getRepMapList();
161 virtual std::map<DtString,DtString>::iterator getRepMapListEnd();
175 const void* value,
int size,
int& returnSize);
177 const void* value,
int size,
int& returnSize);
179 const void* value,
int size,
int& returnSize);
193 const void* value,
int size,
int& returnSize,
unsigned int currentOffset = 0,
196 const void* value,
int size,
int& returnSize,
const DtOMTNode* omtNode = 0,
197 unsigned int currentOffset = 0,
DtStringTree* strParentTree = 0,
200 const void* value,
int size,
int& returnSize,
201 unsigned int currentOffset = 0,
DtStringTree* strParentTree = 0,
208 virtual void getValueFromStringRep(
const DtString& datatypeName,
const DtString& stringRep,
209 std::vector<char>& result);
220 virtual DtDatatypeEnum getDatatypeEnum(
const DtString& datatypeName);
224 virtual bool isDirty();
227 virtual void setIsDirty(
bool makeDirty);
242 virtual bool getRepresentationName(
DtString const& datatypeName,
DtString& repName);
246 virtual void checkOrphanMappings();
252 virtual void getDefaultRep(
const void* value,
int size,
int& returnSize,
DtString& returnString);
253 virtual void getDatatypeRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
254 virtual void getAttributeRep(
const DtString& attributeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
255 virtual void getEnumRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
256 virtual void getVariantRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
257 virtual void getArrayRepBySize(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
258 virtual void getArrayRepByCount(
DtArrayDatatypeNode* arrayNode,
const void* value,
int size,
int& returnSize,
DtString& returnString);
259 virtual void getArrayRep(
const DtString& datatypeName,
const void* value,
int size,
int& returnSize,
DtString& returnString);
262 virtual void getValueFromDatatypeRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
263 virtual void getValueFromArrayRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
264 virtual void getValueFromComplexRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
265 virtual void getValueFromFixedRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
266 virtual void getValueFromEnumRep(
const DtString& datatypeName,
const DtString& stringRep, std::vector<char>& result);
269 virtual void createComplexTreeRep(
270 const DtString& datatypeName,
const void* value,
int size,
272 unsigned int currentOffset = 0,
274 virtual void createArrayTreeRep(
275 const DtString& datatypeName,
const void* value,
int size,
277 unsigned int currentOffset = 0,
279 virtual void createDefinedTreeRep(
280 const DtString& datatypeName,
const void* value,
int size,
282 unsigned int currentOffset = 0,
284 virtual void createVariantTreeRep(
285 const DtString& datatypeName,
const void* value,
int size,
287 unsigned int currentOffset = 0,
289 virtual void createFixedTreeRep(
290 const DtString& datatypeName,
const void* value,
int size,
292 unsigned int currentOffset = 0,
296 virtual void processMappings(
DtlObjPtr& ptr);
302 const void* value,
int valueSize,
int alreadyRead,
306 const void* value,
int valueSize,
310 virtual int byteAlignment(
const DtString& datatype);
311 virtual int byteAlignmentFromRep(
const DtString& datatype);
312 virtual int byteAlignmentFixed(
const DtString& datatype);
313 virtual int byteAlignmentArray(
const DtString& datatype);
314 virtual int byteAlignmentVariant(
const DtString& datatype);
315 virtual int byteAlignmentComplex(
const DtString& datatype);
316 virtual int implicitPadding(
unsigned int currentOffset,
const DtString& datatypeName);
353 #ifdef DtUSE_UTILITIES_NAMESPACE
DatatypeNameRepNameMap myAttributeToRepMap
Definition: datatypeManager.h:325
An INTERNALLY defined set of different data types.
Definition: datatypeManager.h:57
std::map< DtString, bool > myArrayBracketMap
Definition: datatypeManager.h:338
An Enumeration that maps an integer to a string value.
Definition: datatypeManager.h:52
std::map< DtString, DtDatatypeRep * > RepNamePtrMap
Definition: datatypeManager.h:329
A datatype that could be of a different type at runtime.
Definition: datatypeManager.h:55
A collection of different data types in one.
Definition: datatypeManager.h:53
Contains the DtString class declaration.
DtString myStartWrapper
Definition: datatypeManager.h:334
This class handles the conversion between a byte stream and an English readable view of the data in a...
Definition: datatypeManager.h:45
#define DT_DLL_OMTREADER
Definition: omtReader.h:27
A Datatype Representation is a class that can take a group of bytes and display them in a certain typ...
Definition: datatypeRep.h:24
std::set< DtString > myRemappedDatatypes
Definition: datatypeManager.h:326
A collection of the same datatype in one.
Definition: datatypeManager.h:54
std::map< DtString, DtString > DatatypeNameRepNameMap
Definition: datatypeManager.h:323
DtString myEndWrapper
Definition: datatypeManager.h:335
defines an object class inside our Fed Tree
Definition: interactionClassFedNode.h:31
represents a node in an OMT tree.
Definition: omtNode.h:20
Definition: objectHistory.h:40
DtOMTTree * myOMTTree
Definition: datatypeManager.h:320
DtString myDefaultArrayBracket
Definition: datatypeManager.h:337
bool myUseImplicitPadding
Definition: datatypeManager.h:340
std::map< DtString, DtDatatypeEnum > myDatatypeTypeMap
Definition: datatypeManager.h:321
bool myDirty
Definition: datatypeManager.h:342
Definition: complexComponentNode.h:21
static DtDatatypeManager * theDatatypeManager
Protected member data.
Definition: datatypeManager.h:346
defines an object class inside our Fed Tree
Definition: objectClassFedNode.h:36
A fixed set of a collection of different data types.
Definition: datatypeManager.h:56
virtual DtOMTTree * omtTree()
Definition: datatypeManager.h:74
Basically a struct with a destructor, a string tree is a collection of indexed strings used to hold m...
Definition: stringTree.h:20
represents a node in an OMT tree containing a datatype description.
Definition: omtDatatypeNode.h:18
Represents an attribute inside a object class.
Definition: datatypeFedNode.h:25
DtDatatypeEnum
Definition: datatypeManager.h:49
This file contains common methods for parsing mtl files.
Definition: arrayDatatypeNode.h:19
DtString myDefaultDelimiter
Definition: datatypeManager.h:332
Complex datatypes are a OMT 1.3 construct that merges arrays, variants, and fixed into one monstrous ...
Definition: complexDatatypeNode.h:27
A tree using the an OMT File information.
Definition: omtTree.h:64
std::set< DtString > myUnknownDatatypes
Definition: datatypeManager.h:343
DatatypeNameRepNameMap myDatatypeToRepMap
Definition: datatypeManager.h:324
Instances of DtString are used to represent strings.
Definition: vlString.h:36
RepNamePtrMap myNameToRepMap
Definition: datatypeManager.h:330
std::map< DtString, DtString > myDelimiterMap
Definition: datatypeManager.h:333
A basic datatype such as int or bool.
Definition: datatypeManager.h:51
This file declares DtMtlEnvironment.