12 #ifndef DtFomClassMgr_H_
13 #define DtFomClassMgr_H_
15 #include <vlutil/vlFedTarget.h>
25 #include <mtl/xmlFedReader.h>
29 #ifdef MAK_ENABLE_CRT_DEBUG
30 #include <vlutil/vlDebugCrt.h>
50 typedef std::vector<DtSpaceInfo> DtSpaceVector;
82 virtual void addSpace(
const char* name);
86 virtual void addDimension(
const char* spaceName,
const char* dimName);
89 virtual void addDimension(
const char* dimName,
unsigned long upperBound,
90 unsigned long defaultLowerBound,
unsigned long defaultUpperBound,
91 bool excluded,
const MAKRti::DtString& normalization);
95 virtual bool addInteractionDimension(
const char* interactionName,
96 const char* dimension);
99 virtual bool addInterClass(
const char* name,
const char* baseName,
100 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
102 const char* space=NULL);
104 virtual bool addInterClass(
const char* name,
const char* baseName,
105 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
106 const char* spaceName = NULL );
108 virtual bool addObjClass(
const char* name,
const char* baseName,
112 virtual bool addObjClass(
const char* name,
const char* baseName);
114 virtual void addParameter(
const char* className,
const char* paramName );
118 virtual void addParameter(
const char* className,
119 const char* paramName,
120 const char* semantics );
124 virtual bool addAttributeDimension(
const char* className,
125 const char* attrName,
const char* dimName);
129 virtual void addAttribute(
const char* className,
const char* attrName,
130 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
DtSharingType sharing,
133 const char* spaceName=NULL );
135 virtual void addAttribute(
const char* className,
const char* attrName,
136 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
const char* spaceName=NULL );
142 const MAKRti::DtUpdateRateSetT & getUpdateRates()
const;
145 float updateRateByName(
const char * name);
149 int positionOfRate(
float rate)
const;
152 bool knownUpdateRate(
const MAKRti::DtString& rateName)
const;
170 const char* spaceName = 0);
193 bool throwException=
true);
197 virtual const char* className (
199 bool throwException=
true);
205 bool throwException=
true);
209 virtual const char* attrName (
212 bool throwException=
true);
228 virtual int numClasses()
const;
244 bool throwException=
true)
const;
248 virtual const char* spaceName (
250 bool throwException=
true)
const;
256 bool throwException=
true)
const;
260 virtual const char* dimName (
263 bool throwException=
true)
const;
266 virtual unsigned long dimUpperBound(
269 bool throwException=
true);
277 getAvailableDimensionsForInteractionClass(
281 virtual DtSpaceInfo* spaceByName(
const char *name);
282 virtual const DtSpaceInfo* spaceByName(
const char *name)
const;
286 virtual const DtSpaceInfo* spaceByHandle(
DtSpaceHandle handle)
const;
289 virtual int numSpaces()
const;
310 bool throwException=
true);
314 virtual const char* interactionName (
316 bool throwException=
true);
322 bool throwException=
true);
326 virtual const char* paramName (
329 bool throwException=
true);
332 virtual int numInteractions()
const;
348 virtual void printDMSubscriptions();
358 virtual void prepareToRestore();
364 virtual void setExtend13and1516interop(
bool enable);
365 virtual bool extend13and1516interop()
const;
368 virtual void print()
const;
383 virtual void setConveyRegionDesignatorSets(
bool value);
385 virtual void addFedFileName(
const MAKRti::DtString & name);
386 virtual const std::vector<MAKRti::DtString>& fedFiles()
const;
410 virtual void addSpaceSorted(
const char* nameValue );
411 virtual void addSpaceUnsorted(
const char* nameValue );
416 const char* baseName, MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
419 const MAKRti::DtString& semantics );
421 const char* baseName, MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
435 virtual bool objectClassPresent(
const char* name,
436 unsigned int startIndex = 0,
437 unsigned int endIndex = 0 )
const;
439 virtual bool attrPresent(
const char *name,
441 unsigned int startIndex = 0,
442 unsigned int endIndex = 0 )
const;
444 virtual bool interactionClassPresent(
const char* name,
445 unsigned int startIndex = 0,
446 unsigned int endIndex = 0 )
const;
449 virtual unsigned int objectClassPosition(
const char* name,
450 unsigned int startIndex = 0,
451 unsigned int endIndex = 0 )
const;
453 virtual unsigned int interactionClassPosition(
const char* name,
454 unsigned int startIndex = 0,
455 unsigned int endIndex = 0 )
const;
457 virtual bool resolveAttributeDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
458 virtual bool resolveInteractionDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
459 virtual bool resolveAttributeTransportations(MAKRti::DtString & errorString,
bool& fomReadError);
460 virtual bool resolveInteractionTransportations(MAKRti::DtString & errorString,
bool& fomReadError);
461 virtual bool resolveObjectClasses(MAKRti::DtString & errorString,
bool& fomReadError);
462 virtual bool resolveInteractionClasses(MAKRti::DtString & errorString,
bool& fomReadError);
463 virtual bool resolveAttributes(MAKRti::DtString & errorString,
bool& fomReadError);
464 virtual bool resolveParameters(MAKRti::DtString & errorString,
bool& fomReadError);
465 virtual bool resolveDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
469 const MAKRti::DtString& attributeName,
488 DtSpaceVector mySpaces;