MAK RTIspy API Documentation for HLA 1516
 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 #pragma once
13 
14 #ifdef DtTIME
15 
16 #include "rtiMsg.h"
17 #include "netTimeTwoMsg.h"
18 
19 class DtConnection;
20 class DtTimeLookaheadMsg;
21 typedef void (*DtTimeLookaheadCb)(const DtTimeLookaheadMsg& msg, void* usr);
22 
23 class DT_DLL_LRC DtTimeLookaheadMsg : public DtRtiMsg
24 {
25 public:
26 
28  DtTimeLookaheadMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
29 
31  DtTimeLookaheadMsg(
32  DtRtiApiTime const & theTime,
33  DtRtiApiTimeInterval const & theLookahead,
34  bool isWaitingForEvent=false,
35  bool isTimeAvailable=false,
36  unsigned long nerCycleVal=0,
37  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
38 
40  DtTimeLookaheadMsg(const DtNetTimeLookaheadMsg* netRepMsg,
41  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
42 
44  virtual ~DtTimeLookaheadMsg();
45 
47  virtual DtRtiMsg* clone(bool copy = true) const;
48 
50  virtual void set(DtRtiApiTime const & theTime, DtRtiApiTimeInterval const & theLookahead, bool isWaitingForEvent=false, bool isTimeAvailable=false, unsigned long nerCycleVal=0, bool adjustBufferSize = true);
51 
53  virtual void setTime(DtRtiApiTime const & timeVal, bool adjustBufferSize = true);
54  virtual DtRtiApiTime const * time(DtLogicalTimeFactory* logicalTimeFactory) const;
55 
57  virtual void setLookahead(DtRtiApiTimeInterval const & lookaheadVal, bool adjustBufferSize = true);
58  virtual DtRtiApiTimeInterval const * lookahead(DtLogicalTimeFactory* logicalTimeFactory) const;
59 
62  virtual void setWaitingForEvent(bool waitingForEvent);
63  virtual bool waitingForEvent() const;
64 
67  virtual void setTimeAvailable(bool isTimeAvailable);
68  virtual bool timeAvailable() const;
69 
71  virtual void setNerCycle(unsigned long nerCycleVal);
72  virtual unsigned long nerCycle() const;
73 
75  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
76 
77 protected:
78 
81 
83  virtual DtNetTimeLookaheadMsg* netTimeLookaheadMsg();
84  virtual const DtNetTimeLookaheadMsg* netTimeLookaheadMsg() const;
85 
87  virtual int minSize(DtRtiApiTime const * theTime=NULL, DtRtiApiTimeInterval const * theLookahead=NULL) const;
88 
90  virtual void setTimeSize(int size);
91  virtual int timeSize() const;
92 
94  virtual void setLookaheadSize(int size);
95  virtual int lookaheadSize() const;
96 
98  virtual char* timePtr();
99 
101  virtual char* lookaheadPtr();
102 
104  virtual DtTimeLookaheadMsg* self() const;
105 
106 protected:
108  DtRtiApiTimeInterval * myLookahead;
109 };
110 
111 inline DtTimeLookaheadMsg* DtTimeLookaheadMsg::self() const
112 {
113  return const_cast<DtTimeLookaheadMsg*>( this );
114 }
115 
116 #endif
DtRtiMsgKind
Definition: rtiMsgKind.h:9
virtual void setTime(const DtRtiApiTime &time)
Set/Get time Used in timestamped messages.
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
virtual DtRtiApiTime const * time(DtLogicalTimeFactory *fedTimeFactory) const
RTI_API::LogicalTime DtRtiApiTime
Typedefs for RTI API types that frequently require conditional precompile directives.
Definition: rtiApiTypes.h:91
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
RTI_API::LogicalTimeInterval DtRtiApiTimeInterval
Definition: rtiApiTypes.h:92

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)