17 #include <JNTC/AirTransponder/ImmutablePublicationStatePtr.h>
18 #include <JNTC/AirTransponder/SubscriptionInfoPtr.h>
19 #include <JNTC/AirTransponder/ServantPtr.h>
20 #include <JNTC/AirTransponder/ProxyPtr.h>
24 #include <vl/globalObjectDesignator.h>
25 #include <vl/iffStateRepository.h>
27 #include <vlutil/vlMachineTypes.h>
29 #include <vlpi/entityType.h>
37 namespace DtTenaBroker
53 class DtIffServantObject :
public DtTenaServantObject
58 DtIffServantObject( JNTC::AirTransponder::ServantPtr sp):myServantPtr(sp){}
61 virtual ~DtIffServantObject() {}
64 virtual const JNTC::AirTransponder::ServantPtr servant()
const {
return myServantPtr;}
67 virtual JNTC::AirTransponder::ServantPtr servant() {
return myServantPtr;}
71 JNTC::AirTransponder::ServantPtr myServantPtr;
78 DtIffInterface(DtExerciseConn* exConn);
81 virtual ~DtIffInterface();
85 virtual DtTenaServantObject* createServantObject(DtExerciseConn* exConn);
88 virtual void processServantCleanup(DtTenaServantObject* servantObject);
91 virtual void subscribe();
94 virtual bool needUpdate(
const DtStateRepository& stateRep,
95 const DtStateRepository& asSeenByRemote,
96 bool useThresholding =
true);
99 virtual void decode(
const DtTenaServantObject* servant,
100 DtStateRepository* stateRep)
const;
103 virtual void encode(DtTenaServantObject* servant,
104 const DtStateRepository* stateRep,
105 TENA::Time::Pointer timeForStamping,
106 bool forceUpdate =
false);
109 virtual DtReflectedObject *createReflectedObject()
const;
112 virtual void processAddition(JNTC::AirTransponder::ProxyPtr
const &proxy);
115 virtual void processUpdate(JNTC::AirTransponder::ProxyPtr
const &proxy);
118 virtual void processRemoval(JNTC::AirTransponder::ProxyPtr
const &proxy);
123 virtual void decode(
const JNTC::AirTransponder::ImmutablePublicationStatePtr pubStatePtr,
124 DtStateRepository* stateRep )
const;
129 DtIffInterface(
const DtIffInterface& other );
132 DtIffInterface& operator = (
const DtIffInterface& other );
137 JNTC::AirTransponder::SubscriptionInfoPtr mySubscriptionInfoPtr;
138 typedef std::map<JNTC::AirTransponder::ProxyPtr,DtReflectedObject*> ProxyToRefObjMap;
139 ProxyToRefObjMap myRefIffMap;
140 ProxyToRefObjMap myIffWaitList;