MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
resignMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: resignMsg.h,v $ $Revision: 1.20 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtResignMsg_H_
13 #define DtResignMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netResignMsg.h"
17 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) || defined(DtIFSPEC1516_2025)
18 #include "RTI/Enums.h"
19 #endif
20 #include <vlutil/vlFedTarget.h>
21 
22 class DtConnectionMgr;
23 class DtResignMsg;
24 typedef void (*DtResignCb)(const DtResignMsg& inter, void* usr);
25 
27 {
28  DtNormalResign, // Through API call
29  DtNotHeartbeatedResign, // Heartbeat msg not received in time
30  DtLostConnectionResign, // Lost reliable connection
31  DtForwarderQueueFullResign, // Forwarder queue for federate filled
32  DtUserForcedResign, // Forced through GUI or command line
33  DtNormalResignExpectingResponse // Through API call but expects a response from RTIEXEC
34 };
35 
37 {
38 public:
39 
41  DtResignMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
42 
43  DtResignMsg(const char* fedExName,
44  DtFederateHandle fedHandle,
45  DtResignAction action,
46  DtResignReason reason,
47  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
48 
50  DtResignMsg(const DtNetResignMsg* netRepMsg,
51  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
52 
54  virtual ~DtResignMsg();
55 
57  virtual DtRtiMsg* clone(bool copy = true) const;
58 
60  virtual void set(const char* fedExName,
61  DtFederateHandle fedHandle,
62  DtResignAction action,
63  DtResignReason reason);
64 
66  virtual void setResignAction(DtResignAction action);
67  virtual DtResignAction resignAction() const;
68 
70  virtual void setResignReason(DtResignReason reason);
71  virtual DtResignReason resignReason() const;
72 
74  virtual void setTimeStamp(DtRtiApiTime const & time);
75  virtual DtRtiApiTime const * timeStamp(DtLogicalTimeFactory* logicalTimeFactory) const;
76 
78  virtual void setTimeStampSize(int size);
79  virtual int timeStampSize() const;
80 
82  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
83 
84 public:
85 
87  static DtRtiMsg* create(const DtNetMsgHeader* initial,
88  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
89 
91  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
92 
94  static void addCallback(DtConnectionMgr* conn,
95  DtResignCb cb, void* usr, bool isMomCallback=false);
96  static void removeCallback(DtConnectionMgr* conn,
97  DtResignCb cb, void* usr, bool isMomCallback=false);
98 
99 protected:
100 
102  virtual DtNetResignMsg* netResignMsg();
103  virtual const DtNetResignMsg* netResignMsg() const;
104 
107 
109  virtual int minSize() const;
110 
112  virtual char* timeStampPtr();
113 
115  virtual DtResignMsg* self() const;
116 
117 protected:
118 
121 
122 };
123 
124 
126 {
127  return const_cast<DtResignMsg*>( this );
128 }
129 
130 
131 #endif
132 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
virtual DtResignMsg * self() const
Casts away const-ness.
Definition: resignMsg.h:125
Definition: netRtiMsgHdr.h:23
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
DtRtiApiTime * myTimeStamp
use base rti message time
Definition: resignMsg.h:120
void(* DtResignCb)(const DtResignMsg &inter, void *usr)
Definition: resignMsg.h:24
Definition: resignMsg.h:36
RTI_API::LogicalTime DtRtiApiTime
Typedefs for RTI API types that frequently require conditional precompile directives.
Definition: rtiApiTypes.h:91
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
Definition: resignMsg.h:31
Definition: netResignMsg.h:19
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
Definition: resignMsg.h:33
Definition: resignMsg.h:32
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
Definition: resignMsg.h:29
This file contains enumerations used by the interface.
Definition: resignMsg.h:30
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: resignMsg.h:28
DtResignReason
Definition: resignMsg.h:26

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)