10 #ifndef hlaSimInput_H_
11 #define hlaSimInput_H_
20 #include <vl/rtiNamespace.h>
21 #include <vl/rtiCompatibility.h>
29 class DtBaseEntityStateRepository;
30 class DtGenericAttributeDecoder;
31 class DtStateRepository;
35 class DtLgrHlaSimulationManager;
36 class DtMessageBuffer;
37 class DtLgrHlaMessageIOInfo;
46 DT_VIRTUAL_CTR(DtLgrHlaSimInput, (DtLgrHlaSimulationManager& manager))
48 virtual ~DtLgrHlaSimInput();
51 virtual void activateImplementation();
54 virtual void deactivateImplementation();
57 virtual void connecting();
60 virtual void disconnecting();
63 virtual const DtMessageIOInfo* info()
const;
68 static void decodeIsPartOf_RPR_20014( DtBaseEntityStateRepository* stateRep,
69 const RTI::AttributeHandleValuePairSet& attrs,
73 virtual void subscribe();
76 virtual void unsubscribe();
82 static void discoverObjCb(DtHlaObject*
object,
void* usr);
83 virtual void discoverObject(DtHlaObject*
object);
88 static void removeObjCb(DtHlaObject*
object,
void* usr);
89 virtual void removeObject(DtHlaObject*
object,
bool updateTimeout=
true);
94 static void reflectCb(
const DtStateMsg& msg, DtHlaObject* obj,
void* usr );
95 virtual void reflect(
const DtStateMsg& msg, DtHlaObject* obj);
100 static void receiveInterCb(
DtInteraction* inter,
void* usr );
101 virtual void receiveInteraction(
const DtInteraction * interaction);
106 virtual int getInteractionRegionSet(
const DtInteraction *interaction, DtRegionDescSet& regionSet);
110 virtual int getObjectRegionSet(DtRegionDescSet& regionSet);
113 virtual void startListening();
116 virtual void stopListening();
120 virtual bool evaluateTrafficAnalyzerFilters(
const DtHlaObject& obj)
const;
123 virtual void localDeleteObjectForRefresh(DtHlaObject*
object);
129 void checkTimeouts();
132 void removeTimeout(DtHlaObject*
object);
137 typedef std::map<RTI::ObjectInstanceHandle,DtLgrHlaHandle> ObjectInstanceMap;
138 typedef std::map<DtString, RTI::ObjectInstanceHandle> NameObjectInstanceMap;
140 typedef std::map<RTI::ObjectHandle,DtLgrHlaHandle> ObjectInstanceMap;
141 typedef std::map<DtString, RTI::ObjectHandle> NameObjectInstanceMap;
143 typedef std::map<DtHlaObject*, DtAbsoluteTime> TimeoutByObjectMap;
144 typedef std::set<DtHlaObject*> HlaObjectSet;
145 typedef std::map<DtAbsoluteTime, HlaObjectSet> TimeoutByTimeMap;
147 DtLgrHlaSimulationManager& myHlaManager;
149 TimeoutByObjectMap myTimeoutTimeByObject;
150 TimeoutByTimeMap myTimeoutByTime;
152 typedef DtBoost::shared_ptr<DtStateRepository> DtStateRepositorySP;
153 typedef DtBoost::shared_ptr<DtGenericAttributeDecoder> DtGenericAttributeDecoderSP;
154 class DtStateAndDecoder
158 virtual ~DtStateAndDecoder();
159 virtual void initialize(
DtExerciseConn* exConn, DtObjClassDesc* classDesc);
160 virtual DtStateRepository* state();
161 virtual DtGenericAttributeDecoder* decoder();
163 DtStateRepositorySP myState;
164 DtGenericAttributeDecoderSP myDecoder;
168 std::map<DtHlaObject*, DtStateAndDecoder> myStateAndDecoders;
170 ObjectInstanceMap myObjectInstanceMap;
171 NameObjectInstanceMap myNameObjectInstanceMap;
172 DtLgrHlaHandle myFreeInstanceHandle;
174 DtLgrHlaMessageIOInfo* myInfo;
Defines IMPORT/EXPORT macros for lgrSim library.
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
Contains MAKLogger::DtLgrHlaHandle typedef and MAKLogger::DtLgrValueReference and MAKLogger::DtLgrVal...
Contains MAKLogger::DtLgrHlaMessageFactory class.