MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
syncPointMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: syncPointMsg.h,v $ $Revision: 1.25 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtSyncPointMsg_H_
13 #define DtSyncPointMsg_H_
14 
15 #include "rtiMsg.h"
16 #include <vlutil/vlUtil.h>
17 #include "netSyncMsg.h"
18 
19 class DtConnectionMgr;
20 class DtSyncPointMsg;
22 
23 typedef void (*DtSyncPointCb)(const DtSyncPointMsg& msg, void* usr);
24 
26 {
34 };
35 
37 {
44 };
45 
47 {
48 public:
49 
51  DtSyncPointMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
52 
54  DtSyncMsgType kind,
56  DtSyncPointStatus statusValue,
57  char const * name,
59  const DtFederateHandleSet* set = NULL,
60  const DtFederateHandleSet* unsuccessfulSet = NULL,
61  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
62 
64  DtSyncPointMsg(const DtNetSyncMsg* netRepMsg,
65  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
66 
68  virtual ~DtSyncPointMsg();
69 
71  virtual DtRtiMsg* clone(bool copy = true) const;
72 
74  virtual void set(
75  DtSyncMsgType kind,
77  DtSyncPointStatus statusValue,
78  char const * name,
80  DtFederateHandleSet const* set = NULL,
81  DtFederateHandleSet const* unsuccessfulSet = NULL);
82 
84  virtual void setSyncMsgKind(DtSyncMsgType kind);
85  virtual DtSyncMsgType syncMsgKind() const;
86 
88  virtual void setFederateId(DtFederateHandle id);
89  virtual DtFederateHandle federateId() const;
90 
92  virtual void setSyncPointStatus(DtSyncPointStatus statusValue);
93  virtual DtSyncPointStatus syncPointStatus() const;
94 
96  virtual void setSyncPointName(char const * name);
97  virtual char const * syncPointName() const;
98 
100  virtual void setTag(DtRtiApiTagConstPtr tag);
101  virtual DtRtiApiTagConstPtr tag() const;
102 
104  virtual void setFederates(const DtFederateHandleSet* set);
105 
109  virtual DtFederateHandleSet const * federates() const;
110 
114  virtual void getFederates(DtFederateHandleSet* set) const;
115 
117  virtual int numFederates() const;
118 
122  virtual void getUnsuccessfulFederates(DtFederateHandleSet* set) const;
123 
126  virtual void setUnsuccessfulFederates(const DtFederateHandleSet* set);
127 
131  virtual DtFederateHandleSet const * unsuccessfulFederates() const;
132 
134  virtual int numUnsuccessfulFederates() const;
135 
137  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
138 
139 public:
140 
142  static DtRtiMsg* create(const DtNetMsgHeader* initial,
143  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
144 
146  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
147 
149  static void addCallback(DtConnectionMgr *conn,
150  DtSyncPointCb cb, void *usr);
151  static void removeCallback(DtConnectionMgr *conn,
152  DtSyncPointCb cb, void *usr);
153 
154 protected:
155 
157  virtual DtNetSyncMsg* netSyncMsg();
158  virtual const DtNetSyncMsg* netSyncMsg() const;
159 
161  virtual DtNetU32* handleArray();
162  virtual DtNetU32* unsuccessfulHandleArray();
163  virtual char* tagPtr();
164  virtual char* namePtr();
165 
167  virtual int handleArraySize() const;
168  virtual int unsuccessfulHandleArraySize() const;
169  virtual int tagFieldSize() const;
170  virtual int nameFieldSize() const;
171 
174 
176  virtual int minSize() const;
177 
179  DtSyncPointMsg* self() const;
180 
181 protected:
182 
183  MAKRti::DtString myName;
187 };
188 
190 {
191  return const_cast<DtSyncPointMsg*>( this );
192 }
193 
194 #endif
195 
196 
197 
198 
199 
200 
201 
202 
203 
204 
205 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
DtFederateHandleSet * mySet
Definition: syncPointMsg.h:184
Definition: syncPointMsg.h:40
Definition: fedTimeFactory.h:73
DtRtiApiVariableLengthData * DtRtiApiTagPtr
Definition: rtiApiTypes.h:100
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
Definition: syncPointMsg.h:33
Definition: syncPointMsg.h:32
DtRtiApiVariableLengthData const * DtRtiApiTagConstPtr
Definition: rtiApiTypes.h:99
Definition: fedHandleSet.h:61
Definition: syncPointMsg.h:42
DtRtiApiTagPtr myTag
Definition: syncPointMsg.h:186
Definition: syncPointMsg.h:31
DtFederateHandleSet * myUnsuccessfulSet
Definition: syncPointMsg.h:185
Definition: syncPointMsg.h:27
Definition: syncPointMsg.h:43
Definition: syncPointMsg.h:29
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
MAKRti::DtString myName
Definition: syncPointMsg.h:183
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
DtHandle DtFederateHandle
Definition: internalTypes.h:46
Definition: syncPointMsg.h:46
Definition: syncPointMsg.h:41
Definition: syncPointMsg.h:39
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
Definition: netSyncMsg.h:18
Definition: syncPointMsg.h:28
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
DtSyncPointStatus
Definition: syncPointMsg.h:36
virtual int tagFieldSize(int encodedLength) const
Returns size of a tag field (including byte alignment adjustment) given the tag&#39;s encoded length...
Definition: syncPointMsg.h:38
DtSyncMsgType
Definition: syncPointMsg.h:25
void(* DtSyncPointCb)(const DtSyncPointMsg &msg, void *usr)
Definition: syncPointMsg.h:23
DtSyncPointMsg * self() const
Casts away constness. Use with caution.
Definition: syncPointMsg.h:189
Definition: syncPointMsg.h:30

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)