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 );
152 virtual void shutDownConnection(
const char* reason);
155 virtual MAKRti::DtString getProcessName()
const;
158 virtual int getPID()
const;
161 virtual MAKRti::DtString getCommandArgs()
const;
164 bool testConnectionStatus();
167 virtual int componentId()
const;
173 virtual bool initialize();
182 virtual bool startAssistant();
185 virtual bool readAndProcess( MAKRti::DtTime maxTime );
205 static void processRespMsg(
const DtAssistantMsg& respMsg,
void* usr);
217 virtual void processDisconnect();
220 virtual DtUniquePtr<DtAssistantMsg> netRead(
int *retCode)
const;
223 virtual bool sendLicQueryMsg(
bool allowUnlicensed,
bool& runUnlicensed,
224 MAKRti::DtString& licServer );
228 virtual void sendClientInfo();
const char * myShouldShutdown
should be set with reason string when assistant exit msg has been received.
Definition: rtiAssistantClient.h:288
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:314
int myAssistantCompId
The assistant assigned component ID.
Definition: rtiAssistantClient.h:317
Definition: rtiAssistantClient.h:36
bool myInitializingConnection
Is connection being initialized.
Definition: rtiAssistantClient.h:252
Manages the client connection to the RTI Assistant.
Definition: rtiAssistantClient.h:59
int myNumSuccessfulAssistantConnects
How many assistant reconnects occurred.
Definition: rtiAssistantClient.h:302
This file contains the declaration of DtRtiConnectionInfo.
DtAssistantMsgKind
Definition: assistantMsg.h:53
Base class for assistant Messages.
Definition: assistantMsg.h:153
static const MAKRti::DtTime theSleepBetweenAssistantConnectAttempts
When attempting to connect, this is the number of seconds.
Definition: rtiAssistantClient.h:296
DtAssistantDfltMsgFactory myDefaultMessageFactory
Default message factory.
Definition: rtiAssistantClient.h:261
MAKRti::DtU32 mySockOpts
The socket options to be used when connecting to the Assistant.
Definition: rtiAssistantClient.h:255
int myPID
the Process ID ( PID )
Definition: rtiAssistantClient.h:308
Definition: rtiAssistantClient.h:49
bool myAssistantDisabled
Set to true if the Assistant is disabled.
Definition: rtiAssistantClient.h:233
unsigned int myAssistantPort
The port on which the RTI Assistant listens for connections.
Definition: rtiAssistantClient.h:239
Definition: rtiAssistantClient.h:40
unsigned long mySequence
Message sequence number.
Definition: rtiAssistantClient.h:320
int myNumFailedAssistantConnects
How many assistant restarts have we attempted.
Definition: rtiAssistantClient.h:299
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:292
bool myCreateIfConnectFails
Indicates whether an Assistant should be created if a connection cannot be established.
Definition: rtiAssistantClient.h:246
MAKRti::DtTime myConnTestInterval
Interval at which connection should be tested.
Definition: rtiAssistantClient.h:270
#define DT_DLL_ASSISTANT
Default – Unix or Win32 static.
Definition: rtiMsConfig.h:150
#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:249
Instances of DtAssistantDfltMsgFactory are used to create DtRtiMsgs.
Definition: assistantDefaultMsgFact.h:20
DtAssistantComponentType myComponentType
The component type. (LRC, rtiexec, etc.)
Definition: rtiAssistantClient.h:264
The DtAssistantLatencyReportMsg defines a msg for a client to report the results of a latency test...
Definition: assistantLatencyReportMsg.h:33
The DtAssistantFederateStateMsg defines a wrapper for the RTI Assistant federate state message used b...
Definition: assistantSignalTickedMsg.h:30
Definition: rtiAssistantClient.h:46
std::list< DtAssistantDisconnectCbInfo * > myDisconnectCallbacks
Lists of pointers to socket disconnect callbacks.
Definition: rtiAssistantClient.h:282
DtUniquePtr< DtAssistantMsg > myRespMsg
The last response message to be received.
Definition: rtiAssistantClient.h:279
The DtTcpMsgSocket class provides an address family independent TCP socket that handles RTI messages...
Definition: tcpMsgSocket.h:40
DtTcpMsgSocket * mySocket
The socket to the RTI Assistant.
Definition: rtiAssistantClient.h:242
Definition: rtiAssistantClient.h:48
static const MAKRti::DtInetAddr theFirstHostInetAddr
The first InetAddr when the federate was launched.
Definition: rtiAssistantClient.h:305
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:236
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:285
MAKRti::DtTime myTimeToTestConnection
Next time to test connection.
Definition: rtiAssistantClient.h:273
Definition: rtiAssistantClient.h:38
Definition: rtiAssistantClient.h:34
Definition: rtiAssistantClient.h:35
DtAssistantMessageFactory * myMessageFactory
The message factory.
Definition: rtiAssistantClient.h:258
MAKRti::DtClock myClock
Clock for timeouts.
Definition: rtiAssistantClient.h:267
void(* DtAssistantDisconnectCb)(void *usr)
Socket disconnect callback signatures.
Definition: rtiAssistantClient.h:22
DtAssistantMsgCbMgr myMsgCbMgr
Message callback manager.
Definition: rtiAssistantClient.h:276
Definition: rtiAssistantClient.h:37
MAKRti::DtString myProcessName
the Process Name
Definition: rtiAssistantClient.h:311