10 #ifndef hlaSimInput_H_
11 #define hlaSimInput_H_
20 #include <vl/rtiNamespace.h>
21 #include <vl/rtiCompatibility.h>
29 class DtBaseEntityStateRepository;
30 class DtGenericObjectDecoder;
31 class DtGenericStateRepository;
35 class DtLgrHlaSimulationManager;
36 class DtMessageBuffer;
37 class DtLgrHlaMessageIOInfo;
46 DT_VIRTUAL_CTR(DtLgrHlaSimInput, (DtLgrHlaSimulationManager& manager))
48 virtual ~DtLgrHlaSimInput();
50 virtual void activateImplementation();
51 virtual void deactivateImplementation();
54 virtual void disconnecting();
56 virtual const DtMessageIOInfo* info()
const;
63 static void decodeIsPartOf_RPR_20014( DtBaseEntityStateRepository* stateRep,
64 const RTI::AttributeHandleValuePairSet& attrs,
69 static void discoverObjCb(DtHlaObject*
object,
void* usr);
70 virtual void discoverObject(DtHlaObject*
object);
72 static void receiveInterCb(
DtInteraction* inter,
void* usr );
73 virtual void receiveInteraction(
const DtInteraction * interaction);
77 virtual int getInteractionRegionSet(
const DtInteraction *interaction, DtRegionDescSet& regionSet);
80 static void reflectCb(
const DtStateMsg& msg, DtHlaObject* obj,
void* usr );
83 virtual void reflect(
const DtStateMsg& msg, DtHlaObject* obj);
87 virtual int getObjectRegionSet(DtRegionDescSet& regionSet);
89 static void removeObjCb(DtHlaObject*
object,
void* usr);
90 virtual void removeObject(DtHlaObject*
object);
92 virtual void startListening();
93 virtual void stopListening();
97 virtual bool evaluateTrafficAnalyzerFilters(
const DtHlaObject& obj)
const;
102 typedef std::map<RTI::ObjectInstanceHandle,DtLgrHlaHandle> ObjectInstanceMap;
104 typedef std::map<RTI::ObjectHandle,DtLgrHlaHandle> ObjectInstanceMap;
107 DtLgrHlaSimulationManager& myHlaManager;
109 std::map<DtHlaObject*, DtAbsoluteTime> myTimeoutTimeMap;
111 typedef DtBoost::shared_ptr<DtGenericStateRepository> DtGenericStateRepositorySP;
112 typedef DtBoost::shared_ptr<DtGenericObjectDecoder> DtGenericObjectDecoderSP;
113 class DtStateAndDecoder
117 virtual ~DtStateAndDecoder();
118 virtual void initialize(
DtExerciseConn* exConn, DtObjClassDesc* classDesc);
119 virtual DtGenericStateRepository* state();
120 virtual DtGenericObjectDecoder* decoder();
122 DtGenericStateRepositorySP myState;
123 DtGenericObjectDecoderSP myDecoder;
127 std::map<DtHlaObject*, DtStateAndDecoder> myStateAndDecoders;
129 ObjectInstanceMap myObjectInstanceMap;
130 DtLgrHlaHandle myFreeInstanceHandle;
132 bool myCurrentlyListeningFlag;
134 DtLgrHlaMessageIOInfo* myInfo;