28 typedef enum DtMergeFomStatus_enum
30 DtMergeFomStatusFailedDTD,
31 DtMergeFomStatusFailedSwitches,
32 DtMergeFomStatusFailedScaffolding,
33 DtMergeFomStatusFailedContent,
34 DtMergeFomStatusFailedUpdateRates,
35 DtMergeFomStatusFailedTransportTypes,
36 DtMergeFomStatusFailedUserDefinedTags,
37 DtMergeFomStatusFailedTime,
38 DtMergeFomStatusFailedObjectClass,
39 DtMergeFomStatusFailedInteractionClass,
40 DtMergeFomStatusFailedDimensions,
41 DtMergeFomStatusAlreadyPresentSuccess,
42 DtMergeFomStatusSuccess
68 DtFom(
const DtFom& orig);
75 const std::vector<std::wstring>& fomModules,
77 bool strictCheckingEnabled,
bool useDTD,
bool dontParseSwitches );
80 virtual void addSpace(
const char* name);
84 virtual void addDimension(
const char* SpaceName,
const char* dimName);
87 virtual void addDimension(
const char* dimName,
unsigned long upperBound,
88 unsigned long defaultLowerBound,
unsigned long defaultUpperBound,
98 const char* baseName);
103 const char* paramName);
108 const char* dimension);
119 const char*
attrName,
const char* dimName);
122 virtual DtInterClassDesc* interClassByName(
const char *name)
const;
125 virtual DtObjClassDesc* objClassByName(
const char *name)
const;
128 virtual DtInterClassDesc* interClassByHandle(
129 RTI::InteractionClassHandle handle)
const;
132 virtual DtObjClassDesc* objClassByHandle(
133 RTI::ObjectClassHandle handle)
const;
140 virtual const std::list<DtInterClassDesc*>& interClassList()
const;
141 virtual const std::list<DtObjClassDesc*>& objClassList()
const;
148 virtual DtObjClassDesc* firstObjClass()
const;
149 virtual DtObjClassDesc* lastObjClass()
const;
150 virtual DtObjClassDesc* nextObjClass(DtObjClassDesc* current)
const;
156 virtual DtInterClassDesc* firstInterClass()
const;
157 virtual DtInterClassDesc* lastInterClass()
const;
158 virtual DtInterClassDesc* nextInterClass(DtInterClassDesc* current)
const;
162 virtual DtVrlRtiAmbassador* rtiAmb()
const;
165 virtual void print()
const;
170 int minObjClassHandle()
const;
171 int maxObjClassHandle()
const;
172 int minInterClassHandle()
const;
173 int maxInterClassHandle()
const;
177 int numObjClasses()
const;
178 int numInterClasses()
const;
183 virtual DtMergeFomStatus mergeTarget(
const DtFom& module );
186 virtual DtMergeFomStatus mergeObjectClasses(
const DtFom& module );
189 virtual DtMergeFomStatus mergeObjClassDesc(
const DtObjClassDesc* desc);
192 virtual DtMergeFomStatus mergeInteractionClasses(
const DtFom& module );
195 virtual DtMergeFomStatus mergeIntClassDesc(
const DtInterClassDesc* desc);
198 virtual DtMergeFomStatus mergeSpaces(
const DtFom& module );
201 virtual DtMergeFomStatus mergeUpdateRates(
const DtFom& module );
204 virtual DtMergeFomStatus mergeSwitches(
const DtFom& module );
207 virtual bool switchesSame(
const DtFom& module )
const;
210 virtual bool transportTypesSame(DtFom
const& module )
const;
213 virtual bool timeTypesSame(
const DtFom& module )
const;
216 virtual bool userDefinedTagsSame(
const DtFom& module )
const;
219 virtual bool updateRatesSame(
const DtFom& module )
const;
222 virtual bool knownTransportType(
const DtString)
const;
225 virtual bool knownTime(
const DtString)
const;
228 virtual void addTime(
const DtString);
231 virtual unsigned int numTimeTypes()
const;
234 virtual bool knownUserDefinedTag(
const DtString )
const;
239 static void setFomCreator(DtFomCreator);
249 std::map<DtString, DtInterClassDesc*> myInterClassesByName;
250 std::map<DtString, DtObjClassDesc*> myObjClassesByName;
255 std::map<int, DtInterClassDesc*> myInterClassesByHandle;
256 std::map<int, DtObjClassDesc*> myObjClassesByHandle;
258 std::map<std::wstring, DtInterClassDesc*> myInterClassesByHandle;
259 std::map<std::wstring, DtObjClassDesc*> myObjClassesByHandle;
261 std::list<DtObjClassDesc*> myObjClassList;
262 std::list<DtInterClassDesc*> myInterClassList;
275 std::set<DtString> myTransportTypes;
277 std::set<DtString> myUserDefinedTags;
279 std::map<DtString, bool > mySwitches;
281 std::set<DtString> myTimeTypes;
283 std::set<DtString> myFailedObjClasses;
284 std::set<DtString> myFailedInterClasses;
287 static DtFomCreator theCreatorFunction;
294 inline DtVrlRtiAmbassador* DtFom::rtiAmb()
const
296 return myExConn->rtiAmb();