13 #ifndef DtEnableTimeRegulationInteraction_H_
14 #define DtEnableTimeRegulationInteraction_H_
19 #include <vlutil/vlList.h>
21 class DtMomInterCbMgr;
22 class DtEnableTimeRegulationInteraction;
23 typedef void (*DtEnableTimeRegulationInteractionCb)
24 (
const DtEnableTimeRegulationInteraction& inter,
void* usr);
26 class DT_DLL_LRC DtEnableTimeRegulationInteraction :
27 public DtServiceInteraction
32 DtEnableTimeRegulationInteraction();
35 virtual ~DtEnableTimeRegulationInteraction();
38 DtEnableTimeRegulationInteraction(
39 const DtEnableTimeRegulationInteraction& orig);
42 DtEnableTimeRegulationInteraction& operator=(
43 const DtEnableTimeRegulationInteraction& orig);
47 virtual const DtPhvps& phvps();
51 virtual bool setFromPhvps(
const DtPhvps& phvps);
56 virtual bool getFedtime(RTI::FedTime & time)
const;
57 virtual void setFedtime(RTI::FedTime
const & time);
63 virtual bool getLookahead(rti1516::LogicalTimeInterval & interval)
const;
64 virtual void setLookahead(rti1516::LogicalTimeInterval
const & interval);
65 #elif defined(DtIFSPEC1516E)
69 virtual bool getLookahead(RTI::FedTime & interval)
const;
70 virtual void setLookahead(RTI::FedTime
const & interval);
75 static DtServiceInteraction* create();
78 static void addCallback(DtMomInterCbMgr* callBackManager,
79 DtEnableTimeRegulationInteractionCb cb,
void* usr);
80 static void removeCallback(DtMomInterCbMgr* callBackManager,
81 DtEnableTimeRegulationInteractionCb cb,
void* usr);
87 virtual void encodeFedtime(
88 const DtMomInteraction& data,
93 virtual void decodeFedtime(
94 DtMomInteraction* data,
95 const DtPhvps& parameters,
100 virtual void encodeLookahead(
101 const DtMomInteraction& data,
106 virtual void decodeLookahead(
107 DtMomInteraction* data,
108 const DtPhvps& parameters,
112 static const char* theInteractionName;
118 DtMomNetParameter* myEncodedTime;
120 DtMomNetParameter* myEncodedInterval;
121 bool myReceivedEncodedTime;
122 bool myReceivedEncodedInterval;
124 const char *FEDTIME_PARAMETER_NAME;
125 const char *LOOKAHEAD_PARAMETER_NAME;