MAK RTIspy API Documentation for HLA 1516
 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  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, 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 MAKRti::DtInetAddr getFederateHost() const;
87  virtual void setFederateHost( const MAKRti::DtInetAddr& hostAddr );
88 
90  virtual char* getFederateHostName() const;
91  virtual void setFederateHostName( char* hostname );
92 
94  virtual const DtSyncHashlist& syncPtList() const;
95 
97  virtual DtTime federateHeartbeat() const;
98  virtual void setFederateHeartbeat(MAKRti::DtTime time);
99 
101  virtual void setSaveStatus(DtSaveStatus status);
102  virtual DtSaveStatus saveStatus() const;
103 
105  virtual void setRestoreStatus(DtRestoreStatus status);
106  virtual DtRestoreStatus restoreStatus() const;
107 
109  virtual void setHlaVersion(DtHlaVersionId version);
110  virtual DtHlaVersionId hlaVersion() const;
111 
113  virtual void setAssistantCompId(int id);
114  virtual int assistantCompId() const;
115 
116 
117 public:
118 
120  static DtFederate* create(const char* type, const char* name,
121  DtFederateHandle handle, unsigned long connHandle, int astntCompId,
122  const char* fedHostName, const MAKRti::DtInetAddr& host,
123  const DtSyncHashlist& syncList, DtHlaVersionId hlaVersion);
124 
128  static void setCreatorFunction(DtFederateCreator creator);
129 
130 
131 
132 protected:
133  char* myType;
134  char* myName;
135  bool myIsNamed;
137  MAKRti::DtTime myHeartbeat;
140  DtRestoreStatus myRestoreStatus;
141  unsigned long myConnectionHandle;
143  MAKRti::DtInetAddr myFederateHost;
144  DtString myDescription;
147 
148 protected:
149 
151 };
152 
153 inline char* DtFederate::getType() const
154 {
155  return myType;
156 }
157 
158 inline char* DtFederate::getName() const
159 {
160  return myName;
161 }
162 
163 inline bool DtFederate::isNamed() const
164 {
165  return myIsNamed;
166 }
167 
169 {
170  return myHandle;
171 }
172 
173 inline const char* DtFederate::getDescription() const
174 {
175  return myDescription.c_str();
176 }
177 
178 inline unsigned long DtFederate::getConnectionHandle() const
179 {
180  return myConnectionHandle;
181 }
182 
183 inline DtTime DtFederate::federateHeartbeat() const
184 {
185  return myHeartbeat;
186 }
187 
189 {
190  return myHashlist;
191 }
192 
193 #endif

Document ID: Generated on Fri Sep 27 00:57:56 EDT 2019 from SVN revision 201708
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)