10 #ifndef onlineFomDesc_H_
11 #define onlineFomDesc_H_
19 #include <vl/rtiCompatibility.h>
20 #include <vl/rtiNamespace.h>
25 class DtInterClassDesc;
40 (
DtExerciseConn* exconn,
const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>* heartbeatTimes,
41 const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>* timeoutTimes),
42 (
DtExerciseConn* exconn,
const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>* heartbeatTimes=0,
43 const std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord>* timeoutTimes=0))
48 virtual ~DtLgrOnlineFomDesc();
53 inline RTI::RTIambassador* const rtiAmb() const;
56 virtual DtBaseObjClassDesc* addObjectClass(const DtBaseObjClassDesc&);
59 virtual DtBaseInterClassDesc* addInteractionClass(const DtBaseInterClassDesc&);
63 virtual DtBaseObjClassDesc* objDesc(RTI::ObjectClassHandle);
64 virtual const DtBaseObjClassDesc* objDesc(RTI::ObjectClassHandle) const;
69 virtual DtBaseInterClassDesc* interDesc( RTI::InteractionClassHandle );
70 virtual const DtBaseInterClassDesc* interDesc( RTI::InteractionClassHandle) const;
74 virtual
bool isEntity(RTI::ObjectClassHandle handle) const;
77 virtual
bool isAggregate(RTI::ObjectClassHandle handle ) const;
80 virtual
double heartbeatTime(RTI::ObjectClassHandle handle ) const;
83 virtual
double timeoutTime(RTI::ObjectClassHandle handle ) const;
88 void setFomMapperLists(DtFomMapper*);
91 void setFromFom( DtFom& fom );
94 virtual
void deleteObjClasses();
97 virtual
void deleteIntClasses();
100 void addObjectFromFom( DtObjClassDesc* dsc
107 void addInteractionFromFom( DtInterClassDesc* item
115 void addAttributeFromFom( RTI::AttributeHandleSet::const_iterator attrIter,
117 unsigned long lgrAttrHandle, DtBaseObjClassDesc* objDsc );
120 void addParameterFromFom( RTI::ParameterHandleSet::const_iterator paramIter,
122 unsigned long lgrParamHandle, DtBaseInterClassDesc* intDsc );
127 typedef std::map<DtLgrVariableLengthData,DtBaseObjClassDesc*> ObjectCodeMap;
128 typedef std::map<DtLgrVariableLengthData,DtBaseInterClassDesc*> InteractionCodeMap;
130 ObjectCodeMap myObjectCodeLookupMap;
131 InteractionCodeMap myInteractionCodeLookupMap;
133 typedef std::set<RTI::ObjectClassHandle> DtHandleSet;
134 DtHandleSet myEntityClassHandles;
135 DtHandleSet myAggregateClassHandles;
136 std::map<RTI::ObjectClassHandle, double> myHandleHeartbeats;
137 std::map<RTI::ObjectClassHandle, double> myHandleTimeouts;
139 RTI::RTIambassador* myRtiAmb;
142 inline RTI::RTIambassador*
const DtLgrOnlineFomDesc::rtiAmb()
const