MAK RTIspy API Documentation for HLA Evolved
rtiAssistantClient.h
Go to the documentation of this file.
1 /*********************************************************************
2  ** Copyright (c) 2008 MaK Technologies, Inc.
3  ** All rights reserved.
4  *********************************************************************/
5 /*******************************************************************************
6  ** $RCSfile: rtiAssistantClient.h,v $ $Revision: 1.38 $ $State: Exp $
7  *******************************************************************************/
8 
9 #ifndef rtiAssistantClient_H_
10 #define rtiAssistantClient_H_
11 
15 
16 #include <vlutil/vlPrint.h>
17 #include <vlutil/vlMutex.h>
18 #include <vlutil/vlInetAddr.h>
19 #include <rtiMsConfig.h>
20 
22 #include "assistantMsgCbMgr.h"
24 
26 typedef void (*DtAssistantDisconnectCb)(void* usr);
27 
31 class DtAssistantExitMsg;
34 class DtTcpMsgSocket;
35 
37 {
45 
46 };
47 
49 {
55 };
56 
57 
65 {
66 public:
67 
70 
72  virtual ~DtRtiAssistantClient();
73 
74 private:
75 
78 
80  DtRtiAssistantClient& operator=(DtRtiAssistantClient const&);
81 
82 public:
83 
86  virtual bool tick( unsigned int timeout = 0 );
87 
89  virtual bool isConnected();
90 
92  virtual bool isDisabled();
93 
96  virtual void addMsgCallback(DtAssistantMsgKind msgKind, DtAssistantMsgCbMgr::DtCallbackFcn fcn,
97  void *usr );
98  virtual void removeMsgCallback(DtAssistantMsgKind msgKind, DtAssistantMsgCbMgr::DtCallbackFcn fcn,
99  void *usr );
100  virtual void addWildcardMsgCallback(DtAssistantMsgCbMgr::DtCallbackFcn fcn,
101  void *usr );
102  virtual void removeWildcardMsgCallback(DtAssistantMsgCbMgr::DtCallbackFcn fcn,
103  void *usr );
104 
106  virtual void addDisconnectCallback(DtAssistantDisconnectCb cb, void* usr);
107  virtual void removeDisconnectCallback(DtAssistantDisconnectCb cb, void* usr);
108 
110  virtual bool sendLRCConnQueryMsg( bool error, MAKRti::DtInetAddr& relIpAddr,
111  MAKRti::DtInetAddr& beIpAddr, MAKRti::DtInetAddr& interfaceAddr,
112  int& udpPort, int& tcpPort, bool& useRtiexec, bool& forceFullCompliance,
113  int& forwarderPort );
114 
116  virtual bool sendForwardingComponentConnQueryMsg( bool error,
117  MAKRti::DtInetAddr& relIpAddr, MAKRti::DtInetAddr& beIpAddr,
118  MAKRti::DtInetAddr& interfaceAddr, int& udpPort, int& tcpPort,
119  bool& forceFullCompliance, int& forwarderPort,
120  MAKRti::DtInetAddr& forwardrToConnectTo );
121 
123  virtual void sendLatencyTestMsg( const DtAssistantLatencyReportMsg& msg );
124 
126  virtual void sendLatencyTestStatusMsg( const DtAssistantTestMgrStatusMsg& msg );
127 
130  virtual bool getNewLicenseServerFromAssistant( bool allowUnlicensed,
131  bool& runUnlicensed, MAKRti::DtString& serverName, const MAKRti::DtString& featToCheck );
132 
135  virtual void sendNotifyMsg( const MAKRti::DtString& text, DtNotifyLevelType notifyLevel );
136 
138  virtual void sendSignalTickedMsg();
139 
141  virtual void sendDialogBoxMsg( const MAKRti::DtString& text,
142  const MAKRti::DtString& advancedText );
143 
146  virtual void sendClose();
147 
149  virtual void sendRidParamsMsg( const MAKRti::DtString& params,
150  const MAKRti::DtFilename& filename,
151  const MAKRti::DtString& federation = MAKRti::DtString::nullString(),
152  unsigned federateHdl = 0 );
153 
155  virtual void setMsgFactory(DtAssistantMessageFactory* fact);
156  virtual DtAssistantMessageFactory* msgFactory() const;
157 
160  virtual void shutDownConnection();
161 
163  virtual MAKRti::DtString getProcessName() const;
164 
166  virtual int getPID() const;
167 
169  virtual MAKRti::DtString getCommandArgs() const;
170 
172  bool testConnectionStatus();
173 
175  virtual int componentId() const;
176 
177 protected:
178 
181  virtual bool initialize();
182 
185  virtual DtAssistantConnectionStatus connectToAssistant();
186 
187  virtual DtAssistantConnectionStatus makeSingleConnectionAttempt();
188 
190  virtual bool startAssistant();
191 
193  virtual bool readAndProcess( MAKRti::DtTime maxTime );
194 
197  virtual bool sendMsg( const DtAssistantMsg& msg );
198 
205  virtual DtAssistantMsg* sendMsgAndWait( const DtAssistantMsg& msg,
206  DtAssistantMsgKind respKind, unsigned int waitSecs = 0 );
207 
210  virtual DtAssistantConnectionStatus sendConnectMsg();
211 
213  static void processRespMsg(const DtAssistantMsg& respMsg, void* usr);
214  virtual void processRespMsg(const DtAssistantMsg& respMsg);
215 
217  static void processNtfyLvlUpdateMsg(const DtAssistantNtfyLvlUpdateMsg& updateMsg, void* usr);
218  virtual void processNtfyLvlUpdateMsg(const DtAssistantNtfyLvlUpdateMsg& updateMsg);
219 
221  static void processAssistantExitMsg( const DtAssistantExitMsg& inter, void* usr);
222  virtual void processAssistantExitMsg( const DtAssistantExitMsg& inter);
223 
225  virtual void processDisconnect();
226 
228  virtual std::auto_ptr<DtAssistantMsg> netRead( int *retCode) const;
229 
231  virtual bool sendLicQueryMsg( bool allowUnlicensed, bool& runUnlicensed,
232  MAKRti::DtString& licServer );
233 
236  virtual void sendClientInfo();
237 
238 protected:
239 
242 
244  MAKRti::DtInetAddr myAssistantAddr;
245 
247  unsigned int myAssistantPort;
248 
251 
255 
258 
261 
263  MAKRti::DtU32 mySockOpts;
264 
267 
270 
273 
275  MAKRti::DtClock myClock;
276 
278  MAKRti::DtTime myConnTestInterval;
279 
281  MAKRti::DtTime myTimeToTestConnection;
282 
285 
287  std::auto_ptr<DtAssistantMsg> myRespMsg;
288 
290  std::list<DtAssistantDisconnectCbInfo*> myDisconnectCallbacks;
291 
293  MAKRti::DtMutex* mySocketMutex;
294 
297 
301 
304 
307 
309  static const MAKRti::DtInetAddr theFirstHostInetAddr;
310 
312  int myPID;
313 
315  MAKRti::DtString myProcessName;
316 
318  MAKRti::DtString myCommandArgs;
319 
322 
323 };
324 
325 #endif

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)