MAK RTIspy API Documentation for HLA 1516
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 isTimeAvailable=false,
44  unsigned long nerCycleVal=0,
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
46 
48  DtTimeLookaheadMsg(const DtNetTimeLookaheadMsg* netRepMsg,
49  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
50 
52  virtual ~DtTimeLookaheadMsg();
53 
55  virtual DtRtiMsg* clone(bool copy = true) const;
56 
58  virtual void set(
59 #ifdef DtIFSPEC1516
60  rti1516::LogicalTime const & theTime,
61  rti1516::LogicalTimeInterval const & theLookahead,
62 #elif defined(DtIFSPEC1516E)
63  rti1516e::LogicalTime const & theTime,
64  rti1516e::LogicalTimeInterval const & theLookahead,
65 #else
66  RTI::FedTime const & theTime,
67  RTI::FedTime const & theLookahead,
68 #endif
69  bool isTimeAvailable=false,
70  unsigned long nerCycleVal=0);
71 
73 #ifdef DtIFSPEC1516
74  virtual void setTime(rti1516::LogicalTime const & timeVal);
75  virtual rti1516::LogicalTime const * time(
76  DtLogicalTimeFactory* logicalTimeFactory) const;
77 #elif defined(DtIFSPEC1516E)
78  virtual void setTime(rti1516e::LogicalTime const & timeVal);
79  virtual rti1516e::LogicalTime const * time(
80  DtLogicalTimeFactory* logicalTimeFactory) const;
81 #else
82  virtual void setTime(RTI::FedTime const & timeVal);
83  virtual RTI::FedTime const * time(
84  DtLogicalTimeFactory* logicalTimeFactory) const;
85 #endif
86 
88 #ifdef DtIFSPEC1516
89  virtual void setLookahead(rti1516::LogicalTimeInterval const & lookaheadVal);
90  virtual rti1516::LogicalTimeInterval const * lookahead(
91  DtLogicalTimeFactory* logicalTimeFactory) const;
92 #elif defined(DtIFSPEC1516E)
93  virtual void setLookahead(rti1516e::LogicalTimeInterval const & lookaheadVal);
94  virtual rti1516e::LogicalTimeInterval const * lookahead(
95  DtLogicalTimeFactory* logicalTimeFactory) const;
96 #else
97  virtual void setLookahead(RTI::FedTime const & lookaheadVal);
98  virtual RTI::FedTime const * lookahead(
99  DtLogicalTimeFactory* logicalTimeFactory) const;
100 #endif
101 
104  virtual void setTimeAvailable(bool isTimeAvailable);
105  virtual bool timeAvailable() const;
106 
108  virtual void setNerCycle(unsigned long nerCycleVal);
109  virtual unsigned long nerCycle() const;
110 
112  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
113 
114 protected:
115 
118 
120  virtual DtNetTimeLookaheadMsg* netTimeLookaheadMsg();
121  virtual const DtNetTimeLookaheadMsg* netTimeLookaheadMsg() const;
122 
124 #ifdef DtIFSPEC1516
125  virtual int minSize(rti1516::LogicalTime const * theTime=NULL,
126  rti1516::LogicalTimeInterval const * theLookahead=NULL) const;
127 #elif defined(DtIFSPEC1516E)
128  virtual int minSize(rti1516e::LogicalTime const * theTime=NULL,
129  rti1516e::LogicalTimeInterval const * theLookahead=NULL) const;
130 #else
131  virtual int minSize(RTI::FedTime const * theTime=NULL,
132  RTI::FedTime const * theLookahead=NULL) const;
133 #endif
134 
136  virtual void setTimeSize(int size);
137  virtual int timeSize() const;
138 
140  virtual void setLookaheadSize(int size);
141  virtual int lookaheadSize() const;
142 
144  virtual char* timePtr();
145 
147  virtual char* lookaheadPtr();
148 
150  virtual int timeFieldSize() const;
151 
153  virtual int lookaheadFieldSize() const;
154 
156  virtual DtTimeLookaheadMsg* self() const;
157 
158 protected:
160 #ifdef DtIFSPEC1516
161  rti1516::LogicalTimeInterval * myLookahead;
162 #elif defined(DtIFSPEC1516E)
163  rti1516e::LogicalTimeInterval * myLookahead;
164 #else
165  RTI::FedTime * myLookahead;
166 #endif
167 };
168 
169 inline DtTimeLookaheadMsg* DtTimeLookaheadMsg::self() const
170 {
171  return const_cast<DtTimeLookaheadMsg*>( this );
172 }
173 
174 #endif
175 #endif
176 

Document ID: Generated on Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)