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 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;
167 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;
191 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();
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.