MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
nerLbtsMsg.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3 ** Copyright (c) 1998 MaK Technologies, Inc.
4 ** All rights reserved.
5 *********************************************************************/
6 /*********************************************************************
7 ** $RCSfile: nerLbtsMsg.h,v $ $Revision: 1.9 $ $State: Exp $
8 *********************************************************************/
9 
12 
13 #ifndef DtNerLbtsMsg_H_
14 #define DtNerLbtsMsg_H_
15 
16 #ifdef DtTIME
17 
18 #include "rtiMsg.h"
19 #include "netNerLbtsMsg.h"
20 
21 class DtConnectionMgr;
22 class DtNerLbtsMsg;
23 typedef void (*DtNerLbtsMsgCb)(const DtNerLbtsMsg& msg, void* usr);
24 
25 class DT_DLL_LRC DtNerLbtsMsg : public DtRtiMsg
26 {
27 public:
28 
30  DtNerLbtsMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
31 
33  DtNerLbtsMsg(unsigned long nerCycleVal, DtFederateHandle handle, bool nerPending, bool lagNerPending, DtRtiApiTime const & lbtsVal, DtRtiApiTime const & lagLbtsVal,
34  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
35 
37  DtNerLbtsMsg(const DtNetNerLbts* netRepMsg,
38  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
39 
41  virtual ~DtNerLbtsMsg();
42 
44  virtual DtRtiMsg* clone(bool copy = true) const;
45 
47  virtual void set(unsigned long nerCycleVal, DtFederateHandle handle, bool nerPending, bool lagNerPending, DtRtiApiTime const & lbtsVal, DtRtiApiTime const & lagLbtsVal, bool adjustBufferSize = true);
48 
50  virtual void setNerCycle(unsigned long nerCycleVal);
51  virtual unsigned long nerCycle() const;
52 
54  virtual void setLaggardFederate(DtFederateHandle handle);
55  virtual DtFederateHandle laggardFederate() const;
56 
58  virtual void setIsNerPending(bool nerAvailable);
59  virtual bool isNerPending() const;
60 
62  virtual void setIsLagNerPending(bool nerAvailable);
63  virtual bool isLagNerPending() const;
64 
66  virtual void setTime(DtRtiApiTime const & timeVal, bool adjustBufferSize = true);
67  virtual DtRtiApiTime const * time(DtLogicalTimeFactory* logicalTimeFactory) const;
68 
70  virtual void setLagLbts(DtRtiApiTime const & lbtsVal, bool adjustBufferSize = true);
71  virtual DtRtiApiTime const * lagLbts(DtLogicalTimeFactory* logicalTimeFactory) const;
72 
74  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
75 
76 public:
77 
79  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
80 
82  static DtRtiMsg* create(const DtNetMsgHeader* initial,
83  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
84 
86  static void addCallback(DtConnectionMgr *conn,
87  DtNerLbtsMsgCb cb, void *usr);
88  static void removeCallback(DtConnectionMgr *conn,
89  DtNerLbtsMsgCb cb, void *usr);
90 
91 protected:
92 
95 
97  virtual DtNetNerLbts* netNerLbtsMsg();
98  virtual const DtNetNerLbts* netNerLbtsMsg() const;
99 
101  virtual int minSize(DtRtiApiTime const * lbtsVal=NULL, DtRtiApiTime const * lagLbtsVal=NULL) const;
102 
104  virtual void setTimeSize(int size);
105  virtual int timeSize() const;
106 
108  virtual char* timePtr();
109 
111  virtual void setLagLbtsSize(int size);
112  virtual int lagLbtsSize() const;
113 
115  virtual char* lagLbtsPtr();
116 
118  virtual DtNerLbtsMsg* self() const;
119 
120 protected:
122  DtRtiApiTime* myLagLbts;
123 };
124 
125 inline DtNerLbtsMsg* DtNerLbtsMsg::self() const
126 {
127  return const_cast<DtNerLbtsMsg*>( this );
128 }
129 
130 #endif
131 #endif
132 
133 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
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
#define NULL
Definition: baseTypes13.h:8
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
DtHandle DtFederateHandle
Definition: internalTypes.h:46
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

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)