MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
federate.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: federate.h,v $ $Revision: 1.11 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtFederate_H_
13 #define DtFederate_H_
14 
15 #include "rtiMsConfig.h"
16 #include <vlutil/vlMachineTypes.h>
17 #include "syncHashlist.h"
18 #include <vlutil/vlHashKeys.h>
19 #include <vlutil/vlTime.h>
20 #include <vlutil/vlPrint.h>
21 #include <vlutil/vlUtil.h>
22 #include <vlutil/vlInetAddr.h>
23 #include <rtiVersion.h>
24 #include "internalTypes.h"
25 #include "saveStatusMsg.h"
26 #include "restoreStatusMsg.h"
27 
28 
31 class DtFederate;
32 typedef DtFederate* (*DtFederateCreator)(const char* type, const char* name,
33  DtFederateHandle handle, unsigned long connHandle, int astntCompId,
34  DtResignAction resignAction, const char* fedHostName, const MAKRti::DtInetAddr& host,
35  const DtSyncHashlist& syncList, DtHlaVersionId hlaVersion);
36 
37 
38 
40 {
41 public:
42 
44  DtFederate(const char* type, const char* name, DtFederateHandle handle,
45  unsigned long connHandle, int astntCompId, DtResignAction resignAction, const char* fedHostName,
46  const MAKRti::DtInetAddr& host, const DtSyncHashlist& syncList, DtHlaVersionId hlaVersion);
47 
49  virtual ~DtFederate();
50 
51 private:
53  DtFederate(const DtFederate&);
55  DtFederate& operator=(const DtFederate &);
56 public:
58  virtual void setFederateSyncPtAchieved(const char* name, bool successful);
59  virtual bool federateSyncPtAchieved(const char* name);
60  virtual bool federateSyncPtAchievedSuccessfully(const char* name);
61 
63  virtual void addFederateSyncPt(const char* name, DtSyncPt* item);
64  virtual DtSyncPt* removeFederateSyncPt(const char* name);
65 
67  virtual char* getType() const;
68 
70  virtual char* getName() const;
71 
73  virtual bool isNamed() const;
74 
76  virtual DtFederateHandle getHandle() const;
77 
79  virtual const char* getDescription() const;
80 
82  virtual unsigned long getConnectionHandle() const;
83  virtual void setConnectionHandle(unsigned long handle);
84 
86  virtual DtResignAction resignAction() const;
87  virtual void setResignAction(DtResignAction val);
88 
90  virtual MAKRti::DtInetAddr getFederateHost() const;
91  virtual void setFederateHost( const MAKRti::DtInetAddr& hostAddr );
92 
94  virtual char* getFederateHostName() const;
95  virtual void setFederateHostName( char* hostname );
96 
98  virtual const DtSyncHashlist& syncPtList() const;
99 
101  virtual DtTime federateHeartbeat() const;
102  virtual void setFederateHeartbeat(MAKRti::DtTime time);
103 
105  virtual void setSaveStatus(DtSaveStatus status);
106  virtual DtSaveStatus saveStatus() const;
107 
109  virtual void setRestoreStatus(DtRestoreStatus status);
110  virtual DtRestoreStatus restoreStatus() const;
111 
113  virtual void setHlaVersion(DtHlaVersionId version);
114  virtual DtHlaVersionId hlaVersion() const;
115 
117  virtual void setAssistantCompId(int id);
118  virtual int assistantCompId() const;
119 
120 
121 public:
122 
124  static DtFederate* create(const char* type, const char* name,
125  DtFederateHandle handle, unsigned long connHandle, int astntCompId,
126  DtResignAction resignAction, const char* fedHostName, const MAKRti::DtInetAddr& host,
127  const DtSyncHashlist& syncList, DtHlaVersionId hlaVersion);
128 
132  static void setCreatorFunction(DtFederateCreator creator);
133 
134 
135 
136 protected:
137  char* myType;
138  char* myName;
139  bool myIsNamed;
141  MAKRti::DtTime myHeartbeat;
145  unsigned long myConnectionHandle;
147  MAKRti::DtInetAddr myFederateHost;
148  DtString myDescription;
151  DtResignAction myResignAction;
152 
153 protected:
154 
156 };
157 
158 inline char* DtFederate::getType() const
159 {
160  return myType;
161 }
162 
163 inline char* DtFederate::getName() const
164 {
165  return myName;
166 }
167 
168 inline bool DtFederate::isNamed() const
169 {
170  return myIsNamed;
171 }
172 
174 {
175  return myHandle;
176 }
177 
178 inline const char* DtFederate::getDescription() const
179 {
180  return myDescription.c_str();
181 }
182 
183 inline unsigned long DtFederate::getConnectionHandle() const
184 {
185  return myConnectionHandle;
186 }
187 
188 inline DtTime DtFederate::federateHeartbeat() const
189 {
190  return myHeartbeat;
191 }
192 
194 {
195  return myHashlist;
196 }
197 
198 #endif
unsigned long myConnectionHandle
Definition: federate.h:145
virtual DtResignAction resignAction() const
Set/Get federate resign action.
virtual unsigned long getConnectionHandle() const
Set/Get connection handle.
Definition: federate.h:183
DtFederateHandle myHandle
Definition: federate.h:142
MAKRti::DtInetAddr myFederateHost
Definition: federate.h:147
virtual const DtSyncHashlist & syncPtList() const
Return the sync point list.
Definition: federate.h:193
virtual char * getType() const
Get the federate type.
Definition: federate.h:158
Definition: syncPt.h:24
bool myIsNamed
Definition: federate.h:139
DtSyncHashlist myHashlist
Definition: federate.h:146
DtString myDescription
Definition: federate.h:148
virtual const char * getDescription() const
Get the federate description.
Definition: federate.h:178
Definition: syncHashlist.h:21
DtSaveStatus
Definition: saveStatusMsg.h:18
char * myType
Definition: federate.h:137
DtHlaVersionId
Definition: rtiVersion.h:51
DtRestoreStatus myRestoreStatus
Definition: federate.h:144
int myAstntCompId
Definition: federate.h:150
DtRestoreStatus
Definition: restoreStatusMsg.h:19
virtual DtHlaVersionId hlaVersion() const
static DtFederateCreator theCreator
Definition: federate.h:155
Definition: federate.h:39
DtFederate *(* DtFederateCreator)(const char *type, const char *name, DtFederateHandle handle, unsigned long connHandle, int astntCompId, DtResignAction resignAction, const char *fedHostName, const MAKRti::DtInetAddr &host, const DtSyncHashlist &syncList, DtHlaVersionId hlaVersion)
Definition: federate.h:32
DtHlaVersionId myHlaVersion
Definition: federate.h:149
DtHandle DtFederateHandle
Definition: internalTypes.h:46
char * myFederateHostName
Definition: federate.h:140
MAKRti::DtTime myHeartbeat
Definition: federate.h:141
DtResignAction myResignAction
Definition: federate.h:151
virtual char * getName() const
Get the federate name.
Definition: federate.h:163
char * myName
Definition: federate.h:138
DtSaveStatus mySaveStatus
Definition: federate.h:143
virtual bool isNamed() const
Get whether the federate was explicity named.
Definition: federate.h:168
The declaration of internal types.
virtual DtTime federateHeartbeat() const
Set/Get heartbeat.
Definition: federate.h:188
virtual DtFederateHandle getHandle() const
Get the federate handle.
Definition: federate.h:173
#define DT_DLL_EXEC
Definition: rtiMsConfig.h:152

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)