9 #ifndef tGridDataInterface_H_
10 #define tGridDataInterface_H_
20 #include <MAK/GriddedData/ServantPtr.h>
21 #include <MAK/GriddedData/ProxyPtr.h>
22 #include <MAK/GriddedData/ImmutablePublicationStatePtr.h>
23 #include <MAK/GriddedData/SubscriptionInfoPtr.h>
24 #include <TENA/GeocentricSpatialReferenceFrame/Pointer.h>
41 class DT_DLL_MAKLROM DtGriddedDataInterface:
public DtObjectInterface
46 class DtGriddedDataServantObject :
public DtTenaServantObject
50 DtGriddedDataServantObject( MAK::GriddedData::ServantPtr sp):myServantPtr(sp){}
53 virtual ~DtGriddedDataServantObject() {}
56 virtual const MAK::GriddedData::ServantPtr servant()
const {
return myServantPtr;}
59 virtual MAK::GriddedData::ServantPtr servant() {
return myServantPtr;}
62 MAK::GriddedData::ServantPtr myServantPtr;
70 virtual ~DtGriddedDataInterface();
74 DtGriddedDataInterface(
const DtGriddedDataInterface &other);
77 DtGriddedDataInterface& operator=(
const DtGriddedDataInterface &other);
82 virtual DtTenaServantObject* createServantObject(
DtExerciseConn* exConn);
85 virtual void processServantCleanup(DtTenaServantObject* servantObject);
88 virtual void subscribe();
93 bool useThresholding =
true);
96 virtual void decode(
const DtTenaServantObject* servant,
100 virtual void encode(DtTenaServantObject* servant,
102 TENA::Time::Pointer timeForStamping,
103 bool forceUpdate =
false);
109 virtual void processAddition(MAK::GriddedData::ProxyPtr
const &proxy);
112 virtual void processUpdate(MAK::GriddedData::ProxyPtr
const &proxy);
115 virtual void processRemoval(MAK::GriddedData::ProxyPtr
const &proxy);
120 virtual void decode(
const MAK::GriddedData::ImmutablePublicationStatePtr pubStatePtr,
133 MAK::GriddedData::SubscriptionInfoPtr mySubscriptionInfoPtr;
134 typedef std::map<MAK::GriddedData::ProxyPtr, DtReflectedObject *> ProxyToRefObjMap;
135 ProxyToRefObjMap myRefGriddedDataMap;
136 ProxyToRefObjMap myGriddedDataWaitList;
137 TENA::GeocentricSpatialReferenceFrame::Pointer myGeocSrf;