12 #ifndef DtTimeLookaheadMsg_H_
13 #define DtTimeLookaheadMsg_H_
21 class DtTimeLookaheadMsg;
22 typedef void (*DtTimeLookaheadCb)(
const DtTimeLookaheadMsg& msg,
void* usr);
29 DtTimeLookaheadMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
34 rti1516::LogicalTime
const & theTime,
35 rti1516::LogicalTimeInterval
const & theLookahead,
36 #elif defined(DtIFSPEC1516E)
37 rti1516e::LogicalTime
const & theTime,
38 rti1516e::LogicalTimeInterval
const & theLookahead,
40 RTI::FedTime
const & theTime,
41 RTI::FedTime
const & theLookahead,
43 bool isWaitingForEvent=
false,
44 bool isTimeAvailable=
false,
45 unsigned long nerCycleVal=0,
46 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
49 DtTimeLookaheadMsg(
const DtNetTimeLookaheadMsg* netRepMsg,
50 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
53 virtual ~DtTimeLookaheadMsg();
61 rti1516::LogicalTime
const & theTime,
62 rti1516::LogicalTimeInterval
const & theLookahead,
63 #elif defined(DtIFSPEC1516E)
64 rti1516e::LogicalTime
const & theTime,
65 rti1516e::LogicalTimeInterval
const & theLookahead,
67 RTI::FedTime
const & theTime,
68 RTI::FedTime
const & theLookahead,
70 bool isWaitingForEvent=
false,
71 bool isTimeAvailable=
false,
72 unsigned long nerCycleVal=0);
76 virtual void setTime(rti1516::LogicalTime
const & timeVal);
77 virtual rti1516::LogicalTime
const *
time(
79 #elif defined(DtIFSPEC1516E)
80 virtual void setTime(rti1516e::LogicalTime
const & timeVal);
81 virtual rti1516e::LogicalTime
const *
time(
84 virtual void setTime(RTI::FedTime
const & timeVal);
85 virtual RTI::FedTime
const *
time(
91 virtual void setLookahead(rti1516::LogicalTimeInterval
const & lookaheadVal);
92 virtual rti1516::LogicalTimeInterval
const * lookahead(
94 #elif defined(DtIFSPEC1516E)
95 virtual void setLookahead(rti1516e::LogicalTimeInterval
const & lookaheadVal);
96 virtual rti1516e::LogicalTimeInterval
const * lookahead(
99 virtual void setLookahead(RTI::FedTime
const & lookaheadVal);
100 virtual RTI::FedTime
const * lookahead(
106 virtual void setWaitingForEvent(
bool waitingForEvent);
107 virtual bool waitingForEvent()
const;
111 virtual void setTimeAvailable(
bool isTimeAvailable);
112 virtual bool timeAvailable()
const;
115 virtual void setNerCycle(
unsigned long nerCycleVal);
116 virtual unsigned long nerCycle()
const;
127 virtual DtNetTimeLookaheadMsg* netTimeLookaheadMsg();
128 virtual const DtNetTimeLookaheadMsg* netTimeLookaheadMsg()
const;
132 virtual int minSize(rti1516::LogicalTime
const * theTime=
NULL,
133 rti1516::LogicalTimeInterval
const * theLookahead=
NULL)
const;
134 #elif defined(DtIFSPEC1516E)
135 virtual int minSize(rti1516e::LogicalTime
const * theTime=
NULL,
136 rti1516e::LogicalTimeInterval
const * theLookahead=
NULL)
const;
138 virtual int minSize(RTI::FedTime
const * theTime=
NULL,
139 RTI::FedTime
const * theLookahead=
NULL)
const;
143 virtual void setTimeSize(
int size);
144 virtual int timeSize()
const;
147 virtual void setLookaheadSize(
int size);
148 virtual int lookaheadSize()
const;
151 virtual char* timePtr();
154 virtual char* lookaheadPtr();
157 virtual int timeFieldSize()
const;
160 virtual int lookaheadFieldSize()
const;
163 virtual DtTimeLookaheadMsg*
self()
const;
168 rti1516::LogicalTimeInterval * myLookahead;
169 #elif defined(DtIFSPEC1516E)
170 rti1516e::LogicalTimeInterval * myLookahead;
172 RTI::FedTime * myLookahead;
176 inline DtTimeLookaheadMsg* DtTimeLookaheadMsg::self()
const
178 return const_cast<DtTimeLookaheadMsg*
>( this );