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);
98 const char* paramName);
103 const char* dimension);
121 const DtString& semantics,
const char* spaceName=NULL);
126 const char*
attrName,
const char* dimName);
129 virtual DtDimensionDesc* dimensionByName(
const char* dimensionName)
const;
133 virtual DtDimensionDesc* dimensionByHandle( RTI::DimensionHandle dimensionHandle)
const;
135 virtual DtRoutingSpaceDesc* spaceByName(
const char *name)
const;
139 virtual DtRoutingSpaceDesc* spaceByHandle(RTI::SpaceHandle handle)
const;
142 virtual RTI::DimensionHandle dimensionHandle(
const char* spaceName,
const char* dimensionName)
const;
145 virtual const DtString& dimensionName(
const char* spaceName, RTI::DimensionHandle dimHandle)
const;
149 virtual DtObjClassDesc* rootObjClass()
const;
152 virtual DtObjClassDesc* rootMomObjClass()
const;
155 virtual DtObjClassDesc* objClassByName(
const char *name)
const;
158 virtual DtObjClassDesc* objClassByHandle(RTI::ObjectClassHandle handle)
const;
163 virtual const std::list<DtObjClassDesc*>& objClassList()
const;
166 int numObjClasses()
const;
169 int minObjClassHandle()
const;
172 int maxObjClassHandle()
const;
178 virtual DtObjClassDesc* firstObjClass()
const;
179 virtual DtObjClassDesc* lastObjClass()
const;
180 virtual DtObjClassDesc* nextObjClass(DtObjClassDesc* current)
const;
184 virtual DtInterClassDesc* rootInterClass()
const;
187 virtual DtInterClassDesc* rootMomInterClass()
const;
190 virtual DtInterClassDesc* interClassByName(
const char *name)
const;
193 virtual DtInterClassDesc* interClassByHandle(RTI::InteractionClassHandle handle)
const;
198 virtual const std::list<DtInterClassDesc*>& interClassList()
const;
201 int numInterClasses()
const;
204 int minInterClassHandle()
const;
207 int maxInterClassHandle()
const;
212 virtual DtInterClassDesc* firstInterClass()
const;
217 virtual DtInterClassDesc* lastInterClass()
const;
218 virtual DtInterClassDesc* nextInterClass(DtInterClassDesc* current)
const;
222 virtual DtVrlRtiAmbassador* rtiAmb()
const;
225 virtual void print()
const;
231 bool isDdmDisabled()
const;
232 void setIsDdmDisabled(
bool val);
234 bool isMomIsDisabled()
const;
235 void setIsMomIsDisabled(
bool val);
255 static void setFomCreator(DtFomCreator);
265 static void setIntersection(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
266 RTI::AttributeHandleSet& destinationSet);
269 static void setUnion(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
270 RTI::AttributeHandleSet& destinationSet);
273 static void setDifference(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
274 RTI::AttributeHandleSet& destinationSet);
277 static void setSymmetricDifference(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
278 RTI::AttributeHandleSet& destinationSet);
282 static bool setsEqual(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2);
285 static void setInsert(RTI::AttributeHandleSet& handleSet,
const RTI::AttributeHandle& handle);
288 static void setInsert(RTI::AttributeHandleSet& destinationSet,
const RTI::AttributeHandleSet& sourceSet);
291 static void setRemove(RTI::AttributeHandleSet& handleSet,
const RTI::AttributeHandle& handle);
294 static void setRemove(RTI::AttributeHandleSet& destinationSet,
const RTI::AttributeHandleSet& sourceSet);
297 static void setClear(RTI::AttributeHandleSet& handleSet);
307 std::map<DtString, DtDimensionDesc*> myDimensionsByName;
309 std::map<DtString, DtRoutingSpaceDesc*> myRoutingSpacesByName;
311 std::map<DtString, DtInterClassDesc*> myInterClassesByName;
312 std::map<DtString, DtObjClassDesc*> myObjClassesByName;
317 std::map<std::wstring, DtDimensionDesc*> myDimensionsByHandle;
318 std::map<std::wstring, DtInterClassDesc*> myInterClassesByHandle;
319 std::map<std::wstring, DtObjClassDesc*> myObjClassesByHandle;
321 std::map<RTI::SpaceHandle, DtRoutingSpaceDesc*> myRoutingSpacesByHandle;
322 std::map<int, DtInterClassDesc*> myInterClassesByHandle;
323 std::map<int, DtObjClassDesc*> myObjClassesByHandle;
328 std::list<DtDimensionDesc*> myDimensionList;
330 std::list<DtRoutingSpaceDesc*> myRoutingSpaceList;
332 std::list<DtObjClassDesc*> myObjClassList;
333 std::list<DtInterClassDesc*> myInterClassList;
345 std::set<DtString> myFailedObjClasses;
346 std::set<DtString> myFailedInterClasses;
348 bool myDdmIsDisabled;
349 bool myMomIsDisabled;
351 static DtFomCreator theCreatorFunction;
361 virtual bool resolveAttributeDimensions();
365 inline DtVrlRtiAmbassador* DtFom::rtiAmb()
const
367 return myExConn->rtiAmb();
virtual DtMergeFomStatus mergeInteractionClasses(const DtFedTarget &module)
Merge the interaction classes from the given FOM Module with this one.
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:62
#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)
Merge the object classes from the given FOM Module with this one.
virtual bool addObjectDimension(const char *objectClassName, const char *dimension)=0
Add a dimension to the object class Return true if add was successful (i.e., dimension is valid) ...
class DtFedTarget:
Definition: vlFedTarget.h:124
virtual bool addInteractionDimension(const char *interactionName, const char *dimension)=0
Add regions to the interaction 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:84
virtual bool addObjClass(const char *name, const char *baseName)=0
Define an object class.
enum DtOwnershipType_enum DtOwnershipType
DtOrderType
Definition: vlFedTarget.h:91
Instances of DtString are used to represent strings.
Definition: vlString.h:36
virtual void addParameter(const char *className, const char *paramName)=0
Define a parameter of a intertaction class.
virtual bool addInterClass(const char *name, const char *baseName, DtTransportType transport, DtOrderType order, const char *space=0)=0
Define an interaction class.
This file contains typedefs for machine dependant types.