15 #include <vl/globalObjectDesignator.h>
16 #include <vl/entityStateRepository.h>
19 #include <vlutil/vlMachineTypes.h>
20 #include <vlpi/entityType.h>
22 #include <MAK/RadioReceiver/ImmutablePublicationStatePtr.h>
23 #include <MAK/RadioReceiver/SubscriptionInfoPtr.h>
24 #include <MAK/RadioReceiver/ServantPtr.h>
25 #include <MAK/RadioReceiver/ProxyPtr.h>
30 namespace MAKVrExchange
33 namespace DtTenaBroker
43 class DT_DLL_MAKLROM DtRadioReceiverInterface:
public DtObjectInterface
49 class DtRadioReceiverServantObject :
public DtTenaServantObject
54 DtRadioReceiverServantObject( MAK::RadioReceiver::ServantPtr sp):myServantPtr(sp){}
57 virtual ~DtRadioReceiverServantObject() {}
60 virtual const MAK::RadioReceiver::ServantPtr servant()
const {
return myServantPtr;}
63 virtual MAK::RadioReceiver::ServantPtr servant() {
return myServantPtr;}
67 MAK::RadioReceiver::ServantPtr myServantPtr;
74 DtRadioReceiverInterface(DtExerciseConn* exConn);
77 virtual ~DtRadioReceiverInterface();
81 virtual DtTenaServantObject* createServantObject(DtExerciseConn* exConn);
84 virtual void processServantCleanup(DtTenaServantObject* servantObject);
87 virtual void subscribe();
90 virtual bool needUpdate(
const DtStateRepository& stateRep,
91 const DtStateRepository& asSeenByRemote,
92 bool useThresholding =
true);
95 virtual void decode(
const DtTenaServantObject* servant,
96 DtStateRepository* stateRep)
const;
99 virtual void encode(DtTenaServantObject* servant,
100 const DtStateRepository* stateRep,
101 TENA::Time::Pointer timeForStamping,
102 bool forceUpdate =
false);
105 virtual DtReflectedObject *createReflectedObject()
const;
108 virtual void processAddition(MAK::RadioReceiver::ProxyPtr
const &proxy);
111 virtual void processUpdate(MAK::RadioReceiver::ProxyPtr
const &proxy);
114 virtual void processRemoval(MAK::RadioReceiver::ProxyPtr
const &proxy);
119 virtual void decode(
const MAK::RadioReceiver::ImmutablePublicationStatePtr pubStatePtr,
120 DtStateRepository* stateRep )
const;
125 DtRadioReceiverInterface(
const DtRadioReceiverInterface &other);
128 DtRadioReceiverInterface& operator=(
const DtRadioReceiverInterface &other);
133 MAK::RadioReceiver::SubscriptionInfoPtr mySubscriptionInfoPtr;
134 typedef std::map<MAK::RadioReceiver::ProxyPtr,DtReflectedObject*> ProxyToRefObjMap;
135 ProxyToRefObjMap myRefRadRecMap;
136 ProxyToRefObjMap myReceiverWaitList;