9 #ifndef tRadXmitInterface_H_
10 #define tRadXmitInterface_H_
22 #include <MAK/RadioTransmitter/ServantPtr.h>
23 #include <MAK/RadioTransmitter/ProxyPtr.h>
24 #include <MAK/RadioTransmitter/ImmutablePublicationStatePtr.h>
25 #include <MAK/RadioTransmitter/SubscriptionInfoPtr.h>
42 class DT_DLL_MAKLROM DtRadioTransmitterInterface:
public DtObjectInterface
47 class DtRadioTransmitterServantObject :
public DtTenaServantObject
51 DtRadioTransmitterServantObject( MAK::RadioTransmitter::ServantPtr sp):myServantPtr(sp){}
54 virtual ~DtRadioTransmitterServantObject() {}
57 virtual const MAK::RadioTransmitter::ServantPtr servant()
const {
return myServantPtr;}
60 virtual MAK::RadioTransmitter::ServantPtr servant() {
return myServantPtr;}
63 MAK::RadioTransmitter::ServantPtr myServantPtr;
71 virtual ~DtRadioTransmitterInterface();
75 DtRadioTransmitterInterface(
const DtRadioTransmitterInterface &other);
78 DtRadioTransmitterInterface& operator=(
const DtRadioTransmitterInterface &other);
83 virtual DtTenaServantObject* createServantObject(
DtExerciseConn* exConn);
86 virtual void processServantCleanup(DtTenaServantObject* servantObject);
89 virtual void subscribe();
94 bool useThresholding =
true);
97 virtual void decode(
const DtTenaServantObject* servant,
101 virtual void encode(DtTenaServantObject* servant,
103 TENA::Time::Pointer timeForStamping,
104 bool forceUpdate =
false);
110 virtual void processAddition(MAK::RadioTransmitter::ProxyPtr
const &proxy);
113 virtual void processUpdate(MAK::RadioTransmitter::ProxyPtr
const &proxy);
116 virtual void processRemoval(MAK::RadioTransmitter::ProxyPtr
const &proxy);
121 virtual void decode(
const MAK::RadioTransmitter::ImmutablePublicationStatePtr pubStatePtr,
127 MAK::RadioTransmitter::SubscriptionInfoPtr mySubscriptionInfoPtr;
128 typedef std::map<MAK::RadioTransmitter::ProxyPtr, DtReflectedObject *> ProxyToRefObjMap;
129 ProxyToRefObjMap myRefRadXmitMap;
130 ProxyToRefObjMap myTransmitterWaitList;