51 DtFom(
const DtFom& orig);
58 const std::vector<std::wstring>& fomModules,
const DtString& mimModule,
59 bool strictCheckingEnabled,
bool useDTD,
bool dontParseSwitches );
63 virtual void addDimension(
const char* dimName,
unsigned long upperBound,
64 unsigned long defaultLowerBound,
unsigned long defaultUpperBound,
65 bool excluded,
const DtString& normalization);
68 virtual void addSpace(
const char* name);
72 virtual void addDimension(
const char* spaceName,
const char* dimName);
84 virtual bool shouldPrintMissingClass(
const char * name);
89 const char* baseName);
94 const char* paramName);
99 const char* dimension);
117 const DtString& semantics,
const char* spaceName=NULL);
122 const char*
attrName,
const char* dimName);
126 virtual DtDimensionDesc* dimensionByName(
const char* dimensionName)
const;
129 virtual DtDimensionDesc* dimensionByHandle( RTI::DimensionHandle dimensionHandle)
const;
132 virtual DtRoutingSpaceDesc* spaceByName(
const char *name)
const;
135 virtual DtRoutingSpaceDesc* spaceByHandle(RTI::SpaceHandle handle)
const;
138 virtual RTI::DimensionHandle dimensionHandle(
const char* spaceName,
const char* dimensionName)
const;
141 virtual const DtString& dimensionName(
const char* spaceName, RTI::DimensionHandle dimHandle)
const;
145 virtual DtInterClassDesc* interClassByName(
const char *name)
const;
148 virtual DtObjClassDesc* objClassByName(
const char *name)
const;
151 virtual DtInterClassDesc* interClassByHandle(
152 RTI::InteractionClassHandle handle)
const;
155 virtual DtObjClassDesc* objClassByHandle(
156 RTI::ObjectClassHandle handle)
const;
163 virtual const std::list<DtInterClassDesc*>& interClassList()
const;
164 virtual const std::list<DtObjClassDesc*>& objClassList()
const;
171 virtual DtObjClassDesc* firstObjClass()
const;
172 virtual DtObjClassDesc* lastObjClass()
const;
173 virtual DtObjClassDesc* nextObjClass(DtObjClassDesc* current)
const;
179 virtual DtInterClassDesc* firstInterClass()
const;
180 virtual DtInterClassDesc* lastInterClass()
const;
181 virtual DtInterClassDesc* nextInterClass(DtInterClassDesc* current)
const;
185 virtual DtVrlRtiAmbassador* rtiAmb()
const;
188 virtual void print()
const;
193 int minObjClassHandle()
const;
194 int maxObjClassHandle()
const;
195 int minInterClassHandle()
const;
196 int maxInterClassHandle()
const;
200 int numObjClasses()
const;
201 int numInterClasses()
const;
207 bool isDdmDisabled()
const;
208 void setIsDdmDisabled(
bool val);
210 bool isMomIsDisabled()
const;
211 void setIsMomIsDisabled(
bool val);
231 static void setFomCreator(DtFomCreator);
241 static void setIntersection(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
242 RTI::AttributeHandleSet& destinationSet);
245 static void setUnion(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
246 RTI::AttributeHandleSet& destinationSet);
249 static void setDifference(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
250 RTI::AttributeHandleSet& destinationSet);
253 static void setSymmetricDifference(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
254 RTI::AttributeHandleSet& destinationSet);
258 static bool setsEqual(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2);
261 static void setInsert(RTI::AttributeHandleSet& handleSet,
const RTI::AttributeHandle& handle);
264 static void setInsert(RTI::AttributeHandleSet& destinationSet,
const RTI::AttributeHandleSet& sourceSet);
267 static void setRemove(RTI::AttributeHandleSet& handleSet,
const RTI::AttributeHandle& handle);
270 static void setRemove(RTI::AttributeHandleSet& destinationSet,
const RTI::AttributeHandleSet& sourceSet);
273 static void setClear(RTI::AttributeHandleSet& handleSet);
283 std::map<DtString, DtDimensionDesc*> myDimensionsByName;
285 std::map<DtString, DtRoutingSpaceDesc*> myRoutingSpacesByName;
287 std::map<DtString, DtInterClassDesc*> myInterClassesByName;
288 std::map<DtString, DtObjClassDesc*> myObjClassesByName;
293 std::map<std::wstring, DtDimensionDesc*> myDimensionsByHandle;
294 std::map<std::wstring, DtInterClassDesc*> myInterClassesByHandle;
295 std::map<std::wstring, DtObjClassDesc*> myObjClassesByHandle;
297 std::map<RTI::SpaceHandle, DtRoutingSpaceDesc*> myRoutingSpacesByHandle;
298 std::map<int, DtInterClassDesc*> myInterClassesByHandle;
299 std::map<int, DtObjClassDesc*> myObjClassesByHandle;
304 std::list<DtDimensionDesc*> myDimensionList;
306 std::list<DtRoutingSpaceDesc*> myRoutingSpaceList;
308 std::list<DtObjClassDesc*> myObjClassList;
309 std::list<DtInterClassDesc*> myInterClassList;
321 std::set<DtString> myFailedObjClasses;
322 std::set<DtString> myFailedInterClasses;
324 bool myDdmIsDisabled;
325 bool myMomIsDisabled;
327 static DtFomCreator theCreatorFunction;
337 virtual bool resolveAttributeDimensions();
341 inline DtVrlRtiAmbassador* DtFom::rtiAmb()
const
343 return myExConn->rtiAmb();