MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
assistantExecStateMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2008 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: assistantExecStateMsg.h,v $ $Revision: 1.1 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef DtAssistantExecStateMsg_H_
10 #define DtAssistantExecStateMsg_H_
11 
15 
16 #include <vlutil/vlInetAddr.h>
17 #include <vlutil/vlString.h>
18 #include <vlutil/vlUtil.h>
19 
20 #include "assistantMsg.h"
21 #include "federationInfo.h"
23 
24 class DtRtiAssistantPeer;
27 
28 typedef void (*DtAssistantExecStateCb)(const DtAssistantExecStateMsg& inter, void* usr);
29 
35 {
36 public:
37 
39  DtAssistantExecStateMsg(MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
40 
42  MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
43 
45  virtual ~DtAssistantExecStateMsg();
46 
48  virtual DtAssistantMsg* clone(bool copy = true) const;
49 
51  virtual void printData() const;
52 
53 public:
54 
56  static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial,
57  MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
58 
59  static DtAssistantMsg* create(MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
60 
63  static void addCallback(DtRtiAssistantServer* conn,
64  DtAssistantExecStateCb cb, void* usr);
65  static void removeCallback(DtRtiAssistantServer* conn,
66  DtAssistantExecStateCb cb, void* usr);
67 
70  static void addCallback(DtRtiAssistantPeer* conn,
71  DtAssistantExecStateCb cb, void* usr);
72  static void removeCallback(DtRtiAssistantPeer* conn,
73  DtAssistantExecStateCb cb, void* usr);
74 
75  void getAllData(unsigned int& numFedexs,
76  std::vector<unsigned int>& fedexHandles,
77  std::vector<MAKRti::DtString>& fedexNames,
78  std::vector<unsigned int>& fedsInEachFedex,
79  std::vector<unsigned int>& fedHandles,
80  std::vector<MAKRti::DtString>& fedNames,
81  std::vector<MAKRti::DtString>& fedHostNames,
82  std::vector<MAKRti::DtInetAddr>& federateAddrs,
83  std::vector<DtHlaVersionId>& hlaVers) const;
84 
85  bool setAllData(unsigned int numFedexs,
86  const std::vector<unsigned int>& fedexHandles,
87  const std::vector<MAKRti::DtString>& fedexNames,
88  const std::vector<unsigned int>& federatesInEachFedex,
89  const std::vector<unsigned int>& fedHandles,
90  const std::vector<MAKRti::DtString>& fedNames,
91  const std::vector<MAKRti::DtString>& fedHostNames,
92  const std::vector<MAKRti::DtInetAddr>& federateAddrs,
93  const std::vector<DtHlaVersionId>& hlaVers);
94 
95 protected:
96 
98  virtual DtNetAssistantExecStateMsg* netAssistantExecStateMsg();
99  virtual const DtNetAssistantExecStateMsg* netAssistantExecStateMsg() const;
100 
103 
105  virtual int minSize() const;
106 
108  virtual unsigned int numFederations() const;
109  virtual void setNumFederations( unsigned int numFed );
110 
113  virtual unsigned long federationNamesSize() const;
114  virtual void setFederationNamesSize(unsigned long);
115 
117  virtual const char* federationNamesPtr() const;
118  virtual char* federationNamesPtr();
119 
120  virtual bool setFederationNames( const std::vector<MAKRti::DtString>& fedexNames);
121  virtual void federationNames(std::vector<MAKRti::DtString>& names) const;
122 
124  virtual unsigned int numFederates() const;
125  virtual void setNumFederates( unsigned int totalNum );
126 
128  virtual MAKRti::DtInetUtils::DtInetAddrFamily addressFamily() const;
129  virtual void setAddressFamily( MAKRti::DtInetUtils::DtInetAddrFamily totalNum );
130 
133  virtual unsigned long federateNamesSize() const;
134  virtual void setFederateNamesSize(unsigned long);
135 
137  virtual const char* federateNamesPtr() const;
138  virtual char* federateNamesPtr();
139 
140  virtual bool setFederateNames( const std::vector<MAKRti::DtString>& fedNames);
141  virtual void federateNames(std::vector<MAKRti::DtString>& fedNames) const;
142 
145  virtual unsigned long federateHostNamesSize() const;
146  virtual void setFederateHostNamesSize(unsigned long);
147 
149  virtual const char* federateHostNamesPtr() const;
150  virtual char* federateHostNamesPtr();
151 
152  virtual bool setFederateHostNames( const std::vector<MAKRti::DtString>& fedHostNames);
153  virtual void federateHostNames(std::vector<MAKRti::DtString>& names) const;
154 
156  virtual void federationHandles(std::vector<unsigned int>& handles) const;
157  virtual bool setFederationHandles(const std::vector<unsigned int>& fedexHandles);
158 
160  virtual const DtNetU32* federationHandlesPtr() const;
161  virtual DtNetU32* federationHandlesPtr();
162 
164  virtual void federateHandles(std::vector<unsigned int>& handles) const;
165  virtual bool setFederateHandles(const std::vector<unsigned int>& fedHandles);
166 
168  virtual const DtNetU32* federateHandlesPtr() const;
169  virtual DtNetU32* federateHandlesPtr();
170 
172  virtual void federateHlaVersions(std::vector<DtHlaVersionId>& versions) const;
173  virtual bool setFederateHlaVersions(const std::vector<DtHlaVersionId>& versions);
174 
176  virtual const DtNetU8* federateHlaVersionsPtr() const;
177  virtual DtNetU8* federateHlaVersionsPtr();
178 
179 
181  virtual void federateHostAddresses(std::vector<MAKRti::DtInetAddr>& addrs) const;
182  virtual bool setFederateHostAddresses(const std::vector<MAKRti::DtInetAddr>& federateAddrs);
183 
185  virtual const DtNetU128* federateHostAddrsPtr() const;
186  virtual DtNetU128* federateHostAddrsPtr();
187 
188 
190  virtual void numFederatesInEachFederation(std::vector<unsigned int>& numFeds ) const;
191  virtual bool setNumFederatesInEachFederation(
192  const std::vector<unsigned int>& federatesInEachFedex);
193 
194  virtual const DtNetU16* federatesInEachFederationPtr() const;
195  virtual DtNetU16* federatesInEachFederationPtr();
196 
197 
198 
199 
200 };
201 
202 #endif

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)