51 DtFom(
const DtFom& orig);
58 const std::vector<std::wstring>& fomModules,
const DtString& mimModule,
59 bool strictCheckingEnabled,
bool useDTD,
bool dontParseSwitches );
62 virtual void addDimension(
const char* dimName,
unsigned long upperBound,
64 unsigned long defaultLowerBound,
unsigned long defaultUpperBound,
65 bool excluded,
const DtString& normalization);
67 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);
125 virtual DtDimensionDesc* dimensionByName(
const char* dimensionName)
const;
129 virtual DtDimensionDesc* dimensionByHandle( RTI::DimensionHandle dimensionHandle)
const;
131 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 DtObjClassDesc* rootObjClass()
const;
148 virtual DtObjClassDesc* rootMomObjClass()
const;
151 virtual DtObjClassDesc* objClassByName(
const char *name)
const;
154 virtual DtObjClassDesc* objClassByHandle(RTI::ObjectClassHandle handle)
const;
159 virtual const std::list<DtObjClassDesc*>& objClassList()
const;
162 int numObjClasses()
const;
165 int minObjClassHandle()
const;
168 int maxObjClassHandle()
const;
174 virtual DtObjClassDesc* firstObjClass()
const;
175 virtual DtObjClassDesc* lastObjClass()
const;
176 virtual DtObjClassDesc* nextObjClass(DtObjClassDesc* current)
const;
180 virtual DtInterClassDesc* rootInterClass()
const;
183 virtual DtInterClassDesc* rootMomInterClass()
const;
186 virtual DtInterClassDesc* interClassByName(
const char *name)
const;
189 virtual DtInterClassDesc* interClassByHandle(RTI::InteractionClassHandle handle)
const;
194 virtual const std::list<DtInterClassDesc*>& interClassList()
const;
197 int numInterClasses()
const;
200 int minInterClassHandle()
const;
203 int maxInterClassHandle()
const;
208 virtual DtInterClassDesc* firstInterClass()
const;
213 virtual DtInterClassDesc* lastInterClass()
const;
214 virtual DtInterClassDesc* nextInterClass(DtInterClassDesc* current)
const;
218 virtual DtVrlRtiAmbassador* rtiAmb()
const;
221 virtual void print()
const;
227 bool isDdmDisabled()
const;
228 void setIsDdmDisabled(
bool val);
230 bool isMomIsDisabled()
const;
231 void setIsMomIsDisabled(
bool val);
251 static void setFomCreator(DtFomCreator);
261 static void setIntersection(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
262 RTI::AttributeHandleSet& destinationSet);
265 static void setUnion(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
266 RTI::AttributeHandleSet& destinationSet);
269 static void setDifference(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
270 RTI::AttributeHandleSet& destinationSet);
273 static void setSymmetricDifference(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
274 RTI::AttributeHandleSet& destinationSet);
278 static bool setsEqual(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2);
281 static void setInsert(RTI::AttributeHandleSet& handleSet,
const RTI::AttributeHandle& handle);
284 static void setInsert(RTI::AttributeHandleSet& destinationSet,
const RTI::AttributeHandleSet& sourceSet);
287 static void setRemove(RTI::AttributeHandleSet& handleSet,
const RTI::AttributeHandle& handle);
290 static void setRemove(RTI::AttributeHandleSet& destinationSet,
const RTI::AttributeHandleSet& sourceSet);
293 static void setClear(RTI::AttributeHandleSet& handleSet);
303 std::map<DtString, DtDimensionDesc*> myDimensionsByName;
305 std::map<DtString, DtRoutingSpaceDesc*> myRoutingSpacesByName;
307 std::map<DtString, DtInterClassDesc*> myInterClassesByName;
308 std::map<DtString, DtObjClassDesc*> myObjClassesByName;
313 std::map<std::wstring, DtDimensionDesc*> myDimensionsByHandle;
314 std::map<std::wstring, DtInterClassDesc*> myInterClassesByHandle;
315 std::map<std::wstring, DtObjClassDesc*> myObjClassesByHandle;
317 std::map<RTI::SpaceHandle, DtRoutingSpaceDesc*> myRoutingSpacesByHandle;
318 std::map<int, DtInterClassDesc*> myInterClassesByHandle;
319 std::map<int, DtObjClassDesc*> myObjClassesByHandle;
324 std::list<DtDimensionDesc*> myDimensionList;
326 std::list<DtRoutingSpaceDesc*> myRoutingSpaceList;
328 std::list<DtObjClassDesc*> myObjClassList;
329 std::list<DtInterClassDesc*> myInterClassList;
341 std::set<DtString> myFailedObjClasses;
342 std::set<DtString> myFailedInterClasses;
344 bool myDdmIsDisabled;
345 bool myMomIsDisabled;
347 static DtFomCreator theCreatorFunction;
357 virtual bool resolveAttributeDimensions();
361 inline DtVrlRtiAmbassador* DtFom::rtiAmb()
const
363 return myExConn->rtiAmb();
virtual DtMergeFomStatus mergeInteractionClasses(const DtFedTarget &module)
virtual void addAttribute(const char *className, const char *attrName, DtTransportType transport, DtOrderType order, DtSharingType sharing, DtFomUpdateType updateType, const DtString &updateCondition, DtOwnershipType ownershipType, const DtString &semantics, const char *spaceName=NULL)=0
Define an attribute of a class.
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
enum DtFomUpdateType_enum DtFomUpdateType
Update type for object.
virtual void addSpace(const char *name)
Define a routing space. Used when initializing from FED file.
This file declares DtFedReader and several helper classes.
DtFedReadStatus
Definition: fedReader.h:31
virtual bool addAttributeDimension(const char *className, const char *attrName, const char *dimName)=0
Define the dimensions of an attribute Return true if add was successful (i.e., dimension is valid) ...
This file contains the declaration of DtFedTarget and several helper classes.
enum DtSharingType_enum DtSharingType
virtual void addDimension(const char *SpaceName, const char *dimName)
Define a dimension within a routing space.
virtual DtMergeFomStatus mergeObjectClasses(const DtFedTarget &module)
class DtFedTarget:
Definition: vlFedTarget.h:107
virtual bool addInteractionDimension(const char *interactionName, const char *dimension)=0
Add regions to the class Return true if add was successful (i.e., dimension is valid) ...
DtFedTarget & operator=(const DtFedTarget &orig)
assignment operator
This file provides protocol to independence DtExerciseConn.
enum DtMergeFomStatus_enum DtMergeFomStatus
DtTransportType
Definition: vlFedTarget.h:67
virtual bool addObjClass(const char *name, const char *baseName)=0
Define a class.
enum DtOwnershipType_enum DtOwnershipType
DtOrderType
Definition: vlFedTarget.h:74
Instances of DtString are used to represent strings.
Definition: vlString.h:29
virtual void addParameter(const char *className, const char *paramName)=0
Define a parameter of a class.
virtual bool addInterClass(const char *name, const char *baseName, DtTransportType transport, DtOrderType order, const char *space=0)=0
Define a class.
This file contains typedefs for machine dependant types.