13 #ifndef DtDISObjectPublisher_H_
14 #define DtDISObjectPublisher_H_
26 class DT_DLL_VL DtPduWithAttributeRecordSets;
27 class DT_DLL_VL DtStateRepositoryExtensionEncoder;
28 class DT_DLL_VL DtStateRepositoryExtensionDecoder;
42 typedef DtAttributePdu * (*DtNonCoupledAttributePduCreator)(
const DtPduWithAttributeRecordSets*,
void*);
52 bool okToDeleteStateRep =
true);
86 virtual void forceUpdate()=0;
89 virtual void tick() = 0;
92 virtual void parallelTick();
97 virtual void setTimeThreshold(
DtTime time);
99 virtual DtTime timeThreshold()
const;
103 virtual void setRelLocTimeThreshold(
DtTime time );
105 virtual DtTime relLocTimeThreshold()
const;
115 virtual DtTime lastTimeUpdated()
const;
116 virtual DtTime lastTimeAttrUpdated()
const;
120 virtual DtTime lastSimTimeUpdated()
const;
124 virtual void setUseCustomThreshold(
bool useCustom);
128 virtual bool useCustomThreshold();
147 static void setDfltTimeThreshold(
DtTime time);
150 static DtTime dfltTimeThreshold();
153 static void setDfltRelLocTimeThreshold(
DtTime time );
156 static DtTime dfltRelLocTimeThreshold();
159 static DtNonCoupledAttributePduCreator setDefaultNonCoupledAttributePduCreator(DtNonCoupledAttributePduCreator creator);
160 static DtNonCoupledAttributePduCreator defaultNonCoupledAttributePduCreator(
void);
163 DtNonCoupledAttributePduCreator setNonCoupledAttributePduCreator(DtNonCoupledAttributePduCreator creator);
164 DtNonCoupledAttributePduCreator nonCoupledAttributePduCreator(
void);
178 bool myOkToDeleteStateRepFlag;
179 bool myUseCustomThreshold;
184 DtTime myRelLocTimeThreshold;
187 mutable DtTime mySimTimeLastUpdate;
190 mutable DtTime myRealTimeLastUpdate;
191 mutable DtTime myRealTimeLastAttrUpdate;
194 DtNonCoupledAttributePduCreator myNonCoupledAttributePduCreator;
197 static DtNonCoupledAttributePduCreator theDefaultNonCoupledAttributePduCreator;
203 std::vector<DtStateRepositoryExtensionEncoder*> myStateRepositoryExtensionEncoderList;
206 std::vector<DtStateRepositoryExtensionDecoder*> myStateRepositoryExtensionDecoderList;
210 static DtTime theDfltTimeThreshold;
211 static DtTime theDfltRelLocTimeThreshold;
235 #endif //DtObjectPublisher_H_