9 #ifndef tIffInterface_H_
10 #define tIffInterface_H_
23 #include <JNTC/AirTransponder/ServantPtr.h>
24 #include <JNTC/AirTransponder/ProxyPtr.h>
25 #include <JNTC/AirTransponder/ImmutablePublicationStatePtr.h>
26 #include <JNTC/AirTransponder/SubscriptionInfoPtr.h>
48 class DtIffServantObject :
public DtTenaServantObject
52 DtIffServantObject( JNTC::AirTransponder::ServantPtr sp):myServantPtr(sp){}
55 virtual ~DtIffServantObject() {}
58 virtual const JNTC::AirTransponder::ServantPtr servant()
const {
return myServantPtr;}
61 virtual JNTC::AirTransponder::ServantPtr servant() {
return myServantPtr;}
64 JNTC::AirTransponder::ServantPtr myServantPtr;
72 virtual ~DtIffInterface();
76 DtIffInterface(
const DtIffInterface &other);
79 DtIffInterface& operator=(
const DtIffInterface &other);
84 virtual DtTenaServantObject* createServantObject(
DtExerciseConn* exConn);
87 virtual void processServantCleanup(DtTenaServantObject* servantObject);
90 virtual void subscribe();
95 bool useThresholding =
true);
98 virtual void decode(
const DtTenaServantObject* servant,
102 virtual void encode(DtTenaServantObject* servant,
104 TENA::Time::Pointer timeForStamping,
105 bool forceUpdate =
false);
111 virtual void processAddition(JNTC::AirTransponder::ProxyPtr
const &proxy);
114 virtual void processUpdate(JNTC::AirTransponder::ProxyPtr
const &proxy);
117 virtual void processRemoval(JNTC::AirTransponder::ProxyPtr
const &proxy);
122 virtual void decode(
const JNTC::AirTransponder::ImmutablePublicationStatePtr pubStatePtr,
128 JNTC::AirTransponder::SubscriptionInfoPtr mySubscriptionInfoPtr;
129 typedef std::map<JNTC::AirTransponder::ProxyPtr, DtReflectedObject *> ProxyToRefObjMap;
130 ProxyToRefObjMap myRefIffMap;
131 ProxyToRefObjMap myIffWaitList;