12 #ifndef DtFomClassMgr_H_
13 #define DtFomClassMgr_H_
15 #include <vlutil/vlFedTarget.h>
25 #include <mtl/xmlFedReader.h>
44 typedef std::vector<DtSpaceInfo> DtSpaceVector;
74 virtual void addSpace(
const char* name);
78 virtual void addDimension(
const char* spaceName,
const char* dimName);
81 virtual void addDimension(
const char* dimName,
unsigned long upperBound,
82 unsigned long defaultLowerBound,
unsigned long defaultUpperBound,
83 bool excluded,
const MAKRti::DtString& normalization);
87 virtual bool addInteractionDimension(
const char* interactionName,
88 const char* dimension);
91 virtual bool addInterClass(
const char* name,
const char* baseName,
92 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
94 const char* space=
NULL);
96 virtual bool addInterClass(
const char* name,
const char* baseName,
97 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
98 const char* spaceName =
NULL );
100 virtual bool addObjClass(
const char* name,
const char* baseName,
104 virtual bool addObjClass(
const char* name,
const char* baseName);
106 virtual void addParameter(
const char* className,
const char* paramName );
110 virtual void addParameter(
const char* className,
111 const char* paramName,
112 const char* semantics );
116 virtual bool addAttributeDimension(
const char* className,
117 const char* attrName,
const char* dimName);
121 virtual void addAttribute(
const char* className,
const char* attrName,
122 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
DtSharingType sharing,
125 const char* spaceName=
NULL );
127 virtual void addAttribute(
const char* className,
const char* attrName,
128 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
const char* spaceName=
NULL );
134 const MAKRti::DtUpdateRateSetT & getUpdateRates()
const;
137 float updateRateByName(
const char * name);
141 int positionOfRate(
float rate)
const;
144 bool knownUpdateRate(
const MAKRti::DtString& rateName)
const;
162 const char* spaceName = 0);
185 bool throwException=
true);
189 virtual const char* className (
191 bool throwException=
true);
197 bool throwException=
true);
201 virtual const char* attrName (
204 bool throwException=
true);
220 virtual int numClasses()
const;
236 bool throwException=
true)
const;
240 virtual const char* spaceName (
242 bool throwException=
true)
const;
248 bool throwException=
true)
const;
252 virtual const char* dimName (
255 bool throwException=
true)
const;
258 virtual unsigned long dimUpperBound(
261 bool throwException=
true);
269 getAvailableDimensionsForInteractionClass(
273 virtual DtSpaceInfo* spaceByName(
const char *name);
274 virtual const DtSpaceInfo* spaceByName(
const char *name)
const;
278 virtual const DtSpaceInfo* spaceByHandle(
DtSpaceHandle handle)
const;
281 virtual int numSpaces()
const;
302 bool throwException=
true);
306 virtual const char* interactionName (
308 bool throwException=
true);
314 bool throwException=
true);
318 virtual const char* paramName (
321 bool throwException=
true);
324 virtual int numInteractions()
const;
340 virtual void printDMSubscriptions();
350 virtual void prepareToRestore();
356 virtual void setExtend13and1516interop(
bool enable);
357 virtual bool extend13and1516interop()
const;
360 virtual void print()
const;
375 virtual void setConveyRegionDesignatorSets(
bool value);
377 virtual void addFedFileName(
const MAKRti::DtString & name);
378 virtual const std::vector<MAKRti::DtString>& fedFiles()
const;
402 virtual void addSpaceSorted(
const char* nameValue );
403 virtual void addSpaceUnsorted(
const char* nameValue );
408 const char* baseName, MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
411 const MAKRti::DtString& semantics );
413 const char* baseName, MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
427 virtual bool objectClassPresent(
const char* name,
428 unsigned int startIndex = 0,
429 unsigned int endIndex = 0 )
const;
431 virtual bool attrPresent(
const char *name,
433 unsigned int startIndex = 0,
434 unsigned int endIndex = 0 )
const;
436 virtual bool interactionClassPresent(
const char* name,
437 unsigned int startIndex = 0,
438 unsigned int endIndex = 0 )
const;
441 virtual unsigned int objectClassPosition(
const char* name,
442 unsigned int startIndex = 0,
443 unsigned int endIndex = 0 )
const;
445 virtual unsigned int interactionClassPosition(
const char* name,
446 unsigned int startIndex = 0,
447 unsigned int endIndex = 0 )
const;
449 virtual bool resolveAttributeDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
450 virtual bool resolveInteractionDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
451 virtual bool resolveAttributeTransportations(MAKRti::DtString & errorString,
bool& fomReadError);
452 virtual bool resolveInteractionTransportations(MAKRti::DtString & errorString,
bool& fomReadError);
453 virtual bool resolveObjectClasses(MAKRti::DtString & errorString,
bool& fomReadError);
454 virtual bool resolveInteractionClasses(MAKRti::DtString & errorString,
bool& fomReadError);
455 virtual bool resolveAttributes(MAKRti::DtString & errorString,
bool& fomReadError);
456 virtual bool resolveParameters(MAKRti::DtString & errorString,
bool& fomReadError);
457 virtual bool resolveDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
461 const MAKRti::DtString& attributeName,
480 DtSpaceVector mySpaces;