8 #ifndef tAmoInterface_H_
9 #define tAmoInterface_H_
23 #include <TENA/AMO/ServantPtr.h>
24 #include <TENA/AMO/ProxyPtr.h>
25 #include <TENA/AMO/ImmutablePublicationStatePtr.h>
26 #include <TENA/AMO/SubscriptionInfoPtr.h>
27 #include <TENA/UniqueID/Includes.h>
43 class DtAmoServantObject :
public DtTenaServantObject
47 DtAmoServantObject( TENA::AMO::ServantPtr sp):myServantPtr(sp){}
50 virtual ~DtAmoServantObject() {}
53 virtual const TENA::AMO::ServantPtr servant()
const {
return myServantPtr;}
56 virtual TENA::AMO::ServantPtr servant() {
return myServantPtr;}
59 TENA::AMO::ServantPtr myServantPtr;
67 virtual ~DtAmoInterface();
71 DtAmoInterface(
const DtAmoInterface &other);
74 DtAmoInterface& operator=(
const DtAmoInterface &other);
80 virtual DtTenaServantObject* createServantObject(
DtExerciseConn* exConn);
83 virtual void processServantCleanup(DtTenaServantObject* servantObject);
86 virtual void subscribe();
91 bool useThresholding =
true);
94 virtual void decode(
const DtTenaServantObject* servant,
98 virtual void encode(DtTenaServantObject* servant,
100 TENA::Time::Pointer timeForStamping,
101 bool forceUpdate =
false);
107 virtual void processAddition(TENA::AMO::ProxyPtr
const &proxy);
110 virtual void processUpdate(TENA::AMO::ProxyPtr
const &proxy);
113 virtual void processRemoval(TENA::AMO::ProxyPtr
const &proxy);
118 virtual void decode(
const TENA::AMO::ImmutablePublicationStatePtr pubStatePtr,
124 TENA::AMO::SubscriptionInfoPtr mySubscriptionInfoPtr;
125 typedef std::map<TENA::AMO::ProxyPtr, DtReflectedObject *> ProxyToRefObjMap;
126 ProxyToRefObjMap myRefAmoMap;
127 ProxyToRefObjMap myAmoWaitList;