12 #include <vlutil/vlPrint.h>
13 #include <vlutil/vlMutex.h>
14 #include <vlutil/vlInetAddr.h>
29 class DtAssistantDisconnectCbInfo;
81 virtual bool tick(
unsigned int timeout = 0 );
84 virtual bool isConnected();
87 virtual bool isDisabled();
91 virtual void addMsgCallback(
DtAssistantMsgKind msgKind, DtAssistantMsgCbMgr::DtCallbackFcn fcn,
void* usr );
92 virtual void removeMsgCallback(
DtAssistantMsgKind msgKind, DtAssistantMsgCbMgr::DtCallbackFcn fcn,
void* usr );
93 virtual void addWildcardMsgCallback( DtAssistantMsgCbMgr::DtCallbackFcn fcn,
void* usr );
94 virtual void removeWildcardMsgCallback( DtAssistantMsgCbMgr::DtCallbackFcn fcn,
void* usr );
101 virtual bool sendLRCConnQueryMsg(
bool error,
102 MAKRti::DtString& connectionName,
bool& ridIsPreconfigured, MAKRti::DtString& ridConfig,
103 MAKRti::DtInetAddr& tcpAddr,
int& tcpPort, MAKRti::DtInetAddr& tcpIntf,
104 MAKRti::DtInetAddr& udpAddr,
int& udpPort, MAKRti::DtInetAddr& udpIntf,
105 int& forwarderPort,
bool& useRtiexec,
bool& forceFullCompliance);
108 virtual bool sendForwardingComponentConnQueryMsg(
bool error,
109 MAKRti::DtString& connectionName,
bool& ridIsPreconfigured, MAKRti::DtString& ridConfig,
110 MAKRti::DtInetAddr& tcpAddr,
int& tcpPort, MAKRti::DtInetAddr& tcpIntf,
111 MAKRti::DtInetAddr& udpAddr,
int& udpPort, MAKRti::DtInetAddr& udpIntf,
112 MAKRti::DtInetAddr& forwarderToConnectTo,
int& forwarderPort,
bool& forceFullCompliance );
122 virtual bool getNewLicenseServerFromAssistant(
bool allowUnlicensed,
123 bool& runUnlicensed, MAKRti::DtString& serverName,
const MAKRti::DtString& featToCheck );
126 virtual void sendNotifyMsg(
const MAKRti::DtString& text, DtNotifyLevelType notifyLevel );
129 virtual void sendSignalTickedMsg();
132 virtual void sendDialogBoxMsg(
const MAKRti::DtString& text,
133 const MAKRti::DtString& advancedText );
137 virtual void sendClose();
140 virtual void sendRidParamsMsg(
const MAKRti::DtString& params,
141 const MAKRti::DtFilename& filename,
142 const MAKRti::DtString& federation = MAKRti::DtString::nullString(),
143 unsigned federateHdl = 0 );
151 virtual void shutDownConnection();
154 virtual MAKRti::DtString getProcessName()
const;
157 virtual int getPID()
const;
160 virtual MAKRti::DtString getCommandArgs()
const;
163 bool testConnectionStatus();
166 virtual int componentId()
const;
172 virtual bool initialize();
181 virtual bool startAssistant();
184 virtual bool readAndProcess( MAKRti::DtTime maxTime );
204 static void processRespMsg(
const DtAssistantMsg& respMsg,
void* usr);
216 virtual void processDisconnect();
219 virtual std::auto_ptr<DtAssistantMsg> netRead(
int *retCode)
const;
222 virtual bool sendLicQueryMsg(
bool allowUnlicensed,
bool& runUnlicensed,
223 MAKRti::DtString& licServer );
227 virtual void sendClientInfo();
virtual Boolean tick(TickTime minimum, TickTime maximum)
The DtAssistantTestMgrStatusMsg defines a msg for a client to report the results of a latency test...
Definition: assistantTestMgrStatusMsg.h:37
MAKRti::DtString myCommandArgs
the command line arguments
Definition: rtiAssistantClient.h:313
int myAssistantCompId
The assistant assigned component ID.
Definition: rtiAssistantClient.h:316
Definition: rtiAssistantClient.h:36
bool myInitializingConnection
Is connection being initialized.
Definition: rtiAssistantClient.h:251
Manages the client connection to the RTI Assistant.
Definition: rtiAssistantClient.h:59
int myNumSuccessfulAssistantConnects
How many assistant reconnects occurred.
Definition: rtiAssistantClient.h:301
This file contains the declaration of DtRtiConnectionInfo.
DtAssistantMsgKind
Definition: assistantMsg.h:52
Base class for assistant Messages.
Definition: assistantMsg.h:152
static const MAKRti::DtTime theSleepBetweenAssistantConnectAttempts
When attempting to connect, this is the number of seconds.
Definition: rtiAssistantClient.h:295
DtAssistantDfltMsgFactory myDefaultMessageFactory
Default message factory.
Definition: rtiAssistantClient.h:260
MAKRti::DtU32 mySockOpts
The socket options to be used when connecting to the Assistant.
Definition: rtiAssistantClient.h:254
int myPID
the Process ID ( PID )
Definition: rtiAssistantClient.h:307
Definition: rtiAssistantClient.h:49
bool myAssistantDisabled
Set to true if the Assistant is disabled.
Definition: rtiAssistantClient.h:232
unsigned int myAssistantPort
The port on which the RTI Assistant listens for connections.
Definition: rtiAssistantClient.h:238
Definition: rtiAssistantClient.h:40
unsigned long mySequence
Message sequence number.
Definition: rtiAssistantClient.h:319
int myNumFailedAssistantConnects
How many assistant restarts have we attempted.
Definition: rtiAssistantClient.h:298
The DtAssistantNtfyLvlUpdateMsg defines a wrapper for the RTI Assistant notify level update message u...
Definition: assistantNtfyLvlUpdateMsg.h:31
static const int theMaxNumberOfAssistantConnectAttempts
either starting up or reconnecting, how many assistant restarts do we tolerate before giving up...
Definition: rtiAssistantClient.h:291
bool myCreateIfConnectFails
Indicates whether an Assistant should be created if a connection cannot be established.
Definition: rtiAssistantClient.h:245
MAKRti::DtTime myConnTestInterval
Interval at which connection should be tested.
Definition: rtiAssistantClient.h:269
#define DT_DLL_ASSISTANT
_WIN32
Definition: rtiMsConfig.h:121
#define DtASSISTANT_DEFAULT_PORT
Definition: assistantMsg.h:30
Definition: rtiAssistantClient.h:47
DtAssistantConnectionStatus
Definition: rtiAssistantClient.h:44
DtAssistantConnectionStatus myConnStatus
The current connection status.
Definition: rtiAssistantClient.h:248
Instances of DtAssistantDfltMsgFactory are used to create DtRtiMsgs.
Definition: assistantDefaultMsgFact.h:20
DtAssistantComponentType myComponentType
The component type. (LRC, rtiexec, etc.)
Definition: rtiAssistantClient.h:263
The DtAssistantLatencyReportMsg defines a msg for a client to report the results of a latency test...
Definition: assistantLatencyReportMsg.h:38
The DtAssistantFederateStateMsg defines a wrapper for the RTI Assistant federate state message used b...
Definition: assistantSignalTickedMsg.h:30
Definition: rtiAssistantClient.h:46
bool myShouldShutdown
should be set when assistant exit msg has been received.
Definition: rtiAssistantClient.h:287
std::list< DtAssistantDisconnectCbInfo * > myDisconnectCallbacks
Lists of pointers to socket disconnect callbacks.
Definition: rtiAssistantClient.h:281
The DtTcpMsgSocket class provides an address family independent TCP socket that handles RTI messages...
Definition: tcpMsgSocket.h:42
DtTcpMsgSocket * mySocket
The socket to the RTI Assistant.
Definition: rtiAssistantClient.h:241
Definition: rtiAssistantClient.h:48
static const MAKRti::DtInetAddr theFirstHostInetAddr
The first InetAddr when the federate was launched.
Definition: rtiAssistantClient.h:304
The DtAssistantExitMsg defines a wrapper for the RTI Assistant exit message used by the Assistant to ...
Definition: assistantExitMsg.h:32
DtAssistantComponentType
Definition: rtiAssistantClient.h:32
Definition: rtiAssistantClient.h:39
MAKRti::DtInetAddr myAssistantAddr
The IP address of the Assistant.
Definition: rtiAssistantClient.h:235
Definition: rtiAssistantClient.h:50
DT_DLL_ASSISTANT DtMessageCallbackManager< DtAssistantMsg, DtAssistantMsgKind > DtAssistantMsgCbMgr
Definition: assistantMsgCbMgr.h:18
MAKRti::DtMutex * mySocketMutex
locks access to the socket connection.
Definition: rtiAssistantClient.h:284
MAKRti::DtTime myTimeToTestConnection
Next time to test connection.
Definition: rtiAssistantClient.h:272
Definition: rtiAssistantClient.h:38
Definition: rtiAssistantClient.h:34
Definition: rtiAssistantClient.h:35
DtAssistantMessageFactory * myMessageFactory
The message factory.
Definition: rtiAssistantClient.h:257
MAKRti::DtClock myClock
Clock for timeouts.
Definition: rtiAssistantClient.h:266
void(* DtAssistantDisconnectCb)(void *usr)
Socket disconnect callback signatures.
Definition: rtiAssistantClient.h:22
std::auto_ptr< DtAssistantMsg > myRespMsg
The last response message to be received.
Definition: rtiAssistantClient.h:278
DtAssistantMsgCbMgr myMsgCbMgr
Message callback manager.
Definition: rtiAssistantClient.h:275
Definition: rtiAssistantClient.h:37
MAKRti::DtString myProcessName
the Process Name
Definition: rtiAssistantClient.h:310