MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
timeTwoMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: timeTwoMsg.h,v $ $Revision: 1.12 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtTimeLookaheadMsg_H_
13 #define DtTimeLookaheadMsg_H_
14 
15 #ifdef DtTIME
16 
17 #include "rtiMsg.h"
18 #include "netTimeTwoMsg.h"
19 
20 class DtConnection;
21 class DtTimeLookaheadMsg;
22 typedef void (*DtTimeLookaheadCb)(const DtTimeLookaheadMsg& msg, void* usr);
23 
24 class DT_DLL_LRC DtTimeLookaheadMsg : public DtRtiMsg
25 {
26 public:
27 
29  DtTimeLookaheadMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
30 
32  DtTimeLookaheadMsg(
33 #ifdef DtIFSPEC1516
34  rti1516::LogicalTime const & theTime,
35  rti1516::LogicalTimeInterval const & theLookahead,
36 #elif defined(DtIFSPEC1516E)
37  rti1516e::LogicalTime const & theTime,
38  rti1516e::LogicalTimeInterval const & theLookahead,
39 #else
40  RTI::FedTime const & theTime,
41  RTI::FedTime const & theLookahead,
42 #endif
43  bool isWaitingForEvent=false,
44  bool isTimeAvailable=false,
45  unsigned long nerCycleVal=0,
46  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
47 
49  DtTimeLookaheadMsg(const DtNetTimeLookaheadMsg* netRepMsg,
50  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
51 
53  virtual ~DtTimeLookaheadMsg();
54 
56  virtual DtRtiMsg* clone(bool copy = true) const;
57 
59  virtual void set(
60 #ifdef DtIFSPEC1516
61  rti1516::LogicalTime const & theTime,
62  rti1516::LogicalTimeInterval const & theLookahead,
63 #elif defined(DtIFSPEC1516E)
64  rti1516e::LogicalTime const & theTime,
65  rti1516e::LogicalTimeInterval const & theLookahead,
66 #else
67  RTI::FedTime const & theTime,
68  RTI::FedTime const & theLookahead,
69 #endif
70  bool isWaitingForEvent=false,
71  bool isTimeAvailable=false,
72  unsigned long nerCycleVal=0);
73 
75 #ifdef DtIFSPEC1516
76  virtual void setTime(rti1516::LogicalTime const & timeVal);
77  virtual rti1516::LogicalTime const * time(
78  DtLogicalTimeFactory* logicalTimeFactory) const;
79 #elif defined(DtIFSPEC1516E)
80  virtual void setTime(rti1516e::LogicalTime const & timeVal);
81  virtual rti1516e::LogicalTime const * time(
82  DtLogicalTimeFactory* logicalTimeFactory) const;
83 #else
84  virtual void setTime(RTI::FedTime const & timeVal);
85  virtual RTI::FedTime const * time(
86  DtLogicalTimeFactory* logicalTimeFactory) const;
87 #endif
88 
90 #ifdef DtIFSPEC1516
91  virtual void setLookahead(rti1516::LogicalTimeInterval const & lookaheadVal);
92  virtual rti1516::LogicalTimeInterval const * lookahead(
93  DtLogicalTimeFactory* logicalTimeFactory) const;
94 #elif defined(DtIFSPEC1516E)
95  virtual void setLookahead(rti1516e::LogicalTimeInterval const & lookaheadVal);
96  virtual rti1516e::LogicalTimeInterval const * lookahead(
97  DtLogicalTimeFactory* logicalTimeFactory) const;
98 #else
99  virtual void setLookahead(RTI::FedTime const & lookaheadVal);
100  virtual RTI::FedTime const * lookahead(
101  DtLogicalTimeFactory* logicalTimeFactory) const;
102 #endif
103 
106  virtual void setWaitingForEvent(bool waitingForEvent);
107  virtual bool waitingForEvent() const;
108 
111  virtual void setTimeAvailable(bool isTimeAvailable);
112  virtual bool timeAvailable() const;
113 
115  virtual void setNerCycle(unsigned long nerCycleVal);
116  virtual unsigned long nerCycle() const;
117 
119  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
120 
121 protected:
122 
125 
127  virtual DtNetTimeLookaheadMsg* netTimeLookaheadMsg();
128  virtual const DtNetTimeLookaheadMsg* netTimeLookaheadMsg() const;
129 
131 #ifdef DtIFSPEC1516
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;
137 #else
138  virtual int minSize(RTI::FedTime const * theTime=NULL,
139  RTI::FedTime const * theLookahead=NULL) const;
140 #endif
141 
143  virtual void setTimeSize(int size);
144  virtual int timeSize() const;
145 
147  virtual void setLookaheadSize(int size);
148  virtual int lookaheadSize() const;
149 
151  virtual char* timePtr();
152 
154  virtual char* lookaheadPtr();
155 
157  virtual int timeFieldSize() const;
158 
160  virtual int lookaheadFieldSize() const;
161 
163  virtual DtTimeLookaheadMsg* self() const;
164 
165 protected:
167 #ifdef DtIFSPEC1516
168  rti1516::LogicalTimeInterval * myLookahead;
169 #elif defined(DtIFSPEC1516E)
170  rti1516e::LogicalTimeInterval * myLookahead;
171 #else
172  RTI::FedTime * myLookahead;
173 #endif
174 };
175 
176 inline DtTimeLookaheadMsg* DtTimeLookaheadMsg::self() const
177 {
178  return const_cast<DtTimeLookaheadMsg*>( this );
179 }
180 
181 #endif
182 #endif
183 

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)