14 #ifndef hTimeMgmtControl_H_
15 #define hTimeMgmtControl_H_
21 #include <vl/vrlRtiAmb13.h>
23 #if DtHLA_1516_EVOLVED
24 #include "RTI/LogicalTime.h"
25 #include "RTI/LogicalTimeInterval.h"
26 #include "RTI/RTIambassador.h"
28 #include "RTI/LogicalTime.h"
29 #include "RTI/logicalTimeImpl.h"
30 #include "RTI/logicalTimeIntervalImpl.h"
31 #include "RTI/RTIambassador.h"
34 #include <vl/hExerciseConn.h>
35 #include <vl/vrlFedAmb.h>
71 virtual bool enableTimeConstrained();
76 virtual bool disableTimeConstrained();
79 virtual bool isTimeConstrained()
const;
91 virtual bool enableTimeRegulation(
92 const RTI::FedTime& requestedFederationTime,
93 const RTI::FedTime& lookahead,
94 RTI::FedTime& federationTime);
96 virtual bool enableTimeRegulation(
97 const RTI::LogicalTime& requestedFederationTime,
98 const RTI::LogicalTimeInterval& lookahead,
99 RTI::LogicalTime& federationTime);
105 virtual bool modifyLookahead(
106 const RTI::FedTime& lookahead);
108 virtual bool modifyLookahead(
109 const RTI::LogicalTimeInterval& lookahead);
113 virtual bool disableTimeRegulation();
116 virtual bool isTimeRegulating()
const;
132 virtual bool timeAdvanceRequest(
133 const RTI::FedTime& requestedFederateTime,
134 bool blockUntilAdvanceIsGranted =
true);
136 virtual bool timeAdvanceRequest(
137 const RTI::LogicalTime& requestedFederateTime,
138 bool blockUntilAdvanceIsGranted =
true);
154 virtual bool queryLBTS(RTI::FedTime& federateTime)
const;
156 virtual bool queryLBTS(RTI::LogicalTime& federateTime)
const;
163 virtual bool queryFederateTime(RTI::FedTime& federateTime)
const;
165 virtual bool queryFederateTime(RTI::LogicalTime& federateTime)
const;
175 static void timeAdvanceRequestCb(
const RTI::FedTime&,
void* );
176 static void timeConstrainedEnableCb(
const RTI::FedTime&,
void* );
177 static void timeRegulationEnableCb(
const RTI::FedTime&,
void* );
179 static void timeAdvanceRequestCb(
const RTI::LogicalTime&,
void* );
180 static void timeConstrainedEnableCb(
const RTI::LogicalTime&,
void* );
181 static void timeRegulationEnableCb(
const RTI::LogicalTime&,
void* );
187 virtual DtExerciseConn& exerciseConn()
const;
191 virtual RTI::FedTime* createFederationTime()
const;
193 virtual RTI::LogicalTime* createFederationTime()
const;
199 virtual void processTimeAdvanceRequest(
const RTI::FedTime& fTime );
201 virtual void processTimeAdvanceRequest(
const RTI::LogicalTime& fTime );
204 virtual void invokeTimeAdvanceGrantedCallbacks();
206 void removeAllTimeAdvanceGrantedCallbacks();
229 RTI::LogicalTime* myFederationTime;