15 #include <vl/globalObjectDesignator.h>
16 #include <vl/entityStateRepository.h>
19 #include <vlutil/vlMachineTypes.h>
20 #include <vlpi/entityType.h>
22 #include <MAK/Designator/ImmutablePublicationStatePtr.h>
23 #include <MAK/Designator/SubscriptionInfoPtr.h>
24 #include <MAK/Designator/ServantPtr.h>
25 #include <MAK/Designator/ProxyPtr.h>
30 namespace MAKVrExchange
33 namespace DtTenaBroker
41 class DT_DLL_MAKLROM DtDesignatorInterface:
public DtObjectInterface
47 class DtDesignatorServantObject :
public DtTenaServantObject
52 DtDesignatorServantObject( MAK::Designator::ServantPtr sp):myServantPtr(sp){}
55 virtual ~DtDesignatorServantObject() {}
58 virtual const MAK::Designator::ServantPtr servant()
const {
return myServantPtr;}
61 virtual MAK::Designator::ServantPtr servant() {
return myServantPtr;}
65 MAK::Designator::ServantPtr myServantPtr;
72 DtDesignatorInterface(DtExerciseConn* exConn);
75 virtual ~DtDesignatorInterface();
79 virtual DtTenaServantObject* createServantObject(DtExerciseConn* exConn);
82 virtual void processServantCleanup(DtTenaServantObject* servantObject);
85 virtual void subscribe();
88 virtual bool needUpdate(
const DtStateRepository& stateRep,
89 const DtStateRepository& asSeenByRemote,
90 bool useThresholding =
true);
93 virtual void decode(
const DtTenaServantObject* servant,
94 DtStateRepository* stateRep)
const;
97 virtual void encode(DtTenaServantObject* servant,
98 const DtStateRepository* stateRep,
99 TENA::Time::Pointer timeForStamping,
100 bool forceUpdate =
false);
103 virtual DtReflectedObject *createReflectedObject()
const;
106 virtual void processAddition(MAK::Designator::ProxyPtr
const &proxy);
109 virtual void processUpdate(MAK::Designator::ProxyPtr
const &proxy);
112 virtual void processRemoval(MAK::Designator::ProxyPtr
const &proxy);
117 virtual void decode(
const MAK::Designator::ImmutablePublicationStatePtr pubStatePtr,
118 DtStateRepository* stateRep)
const;
123 DtDesignatorInterface(
const DtDesignatorInterface &other);
126 DtDesignatorInterface& operator=(
const DtDesignatorInterface &other);
131 MAK::Designator::SubscriptionInfoPtr mySubscriptionInfoPtr;
132 typedef std::map<MAK::Designator::ProxyPtr, DtReflectedObject *> ProxyToRefObjMap;
133 ProxyToRefObjMap myRefDesignatorMap;
134 ProxyToRefObjMap myDesignatorWaitList;
Contains the DtTenaServantObject and DtObjectInterface class declarations.
#define DT_DLL_MAKLROM
Definition: makLromMapExport.h:26