17 #include <vlutil/vlString.h>
18 #include <vlpi/entityIdentifier.h>
19 #include <vlutil/vlInetSocket.h>
28 class DtEntityIdentifier;
42 class DtRemoteControlDomainInterface;
43 class DtRemoteControlSystemInterface;
44 class DtRemoteControlPlaybackInterface;
45 class DtRemoteControlRecordInterface;
46 class DtRemoteControlEditorInterface;
47 class DtRemoteControlSimulationInterface;
93 virtual void setConnection(
DtExerciseConn* exconn,
const DtEntityIdentifier& entityId);
96 virtual void setConnection(
const DtEntityIdentifier&
id, DtInetSocket* socket);
100 virtual void clearConnection();
103 virtual void disconnect(
const DtEntityIdentifier& entityId);
109 virtual void setId(
const DtEntityIdentifier&
id );
111 virtual const DtEntityIdentifier& id()
const;
115 virtual void setAcceptAnyId(
bool acceptAny);
117 virtual bool acceptAnyId()
const;
121 virtual DtTime connectionTimeout()
const;
123 virtual void setConnectionTimeout(DtTime val);
127 virtual DtTime acknowledgeTimeout()
const;
129 virtual void setAcknowledgeTimeout(DtTime val);
133 virtual void setNumberOfLoggers(
int numberOfLoggersToManage);
135 virtual int numberOfLoggers()
const;
139 virtual void setPassivelyAccepting(
bool enablePassivelyAccept);
141 virtual bool isPassivelyAccepting()
const;
145 virtual void getConnectionIds(
DtEntityIdSet& connectedLoggers)
const;
148 virtual void getConnectionIds(
DtEntityIdSet& connectedLoggers,
149 const DtEntityIdentifier& idFilter)
const;
152 virtual int numberConnections()
const;
158 virtual DtTime lowestTime()
const;
161 virtual DtTime highestTime()
const;
178 const DtEntityIdentifier& target=theWildcardAddress);
187 const DtEntityIdentifier& target=theWildcardAddress);
194 const DtEntityIdentifier& target=theWildcardAddress);
203 const DtEntityIdentifier& target=theWildcardAddress);
248 static const DtEntityIdentifier& wildcardAddress();
251 static const char* commandToString(
int domain,
int command);
261 virtual void processControlPdus();
264 virtual void processBackChannel();
267 virtual void checkConnections();
270 virtual bool isIdMatching(
const DtEntityIdentifier& targetId,
bool allowWildCard=
true);
289 virtual void commandRejected(
const DtEntityIdentifier& source,
DtSequenceNumber sequenceNumber);
361 static const DtU16 theAddressWildcard = ((1<<16)-1);
The logger command which contains the command type and its parameters.
Definition: lgrCommand.h:109
std::map< DtLgrLgrHeartbeatCb, void * > myHeartbeatCallbacks
Definition: remoteControlInterface.h:345
DtSequenceNumber mySequenceNumber
Definition: remoteControlInterface.h:324
int myNumberOfLoggers
Definition: remoteControlInterface.h:335
DtInetBuffer myBackChannelBuffer
Definition: remoteControlInterface.h:322
void(* DtLgrConnectionRemovedCb)(const DtRemoteLoggerConnection &loggerConnection, void *usr)
Definition: remoteControlInterface.h:61
DtRemoteControlSimulationInterface * mySimulationInterface
Definition: remoteControlInterface.h:357
std::map< DtSequenceNumber, DtPendingAcknowledge > DtPendingAcknowledgeList
Definition: remoteControlInterface.h:311
std::list< DtLgrControlPdu * > DtPduList
Definition: remoteControlInterface.h:315
std::map< DtSequenceNumber, DtTime > DtRejectCommandList
Definition: remoteControlInterface.h:312
std::set< DtEntityIdentifier > DtEntityIdSet
Definition: remoteControlInterface.h:52
Instances of DtLgrTotalStatePdu are used to convey to a remote logger- controller the total current s...
Definition: lcTotalState.h:43
DtEntityIdSet myRejectedLoggerIds
Definition: remoteControlInterface.h:328
Instances of DtRemoteLoggerConnection are a family of messages used to control a remote instance of t...
Definition: lcRemoteLoggerConnection.h:27
DtRemoteLoggerMap myRemoteLoggers
Definition: remoteControlInterface.h:326
DtClock myClock
Definition: remoteControlInterface.h:337
Instances of DtLgrDisconnectPdu are used to convey to a remote logger- controller the total current s...
Definition: lcDisconnect.h:25
DtRemoteControlSystemInterface * mySystemInterface
Definition: remoteControlInterface.h:353
#define DT_DLL_LGR_RCI
Definition: lgrRemoteControlInterface.h:18
static const DtEntityIdentifier theWildcardAddress
Definition: remoteControlInterface.h:362
std::map< DtLgrConnectionRemovedCb, void * > myConnectionRemovedCallbacks
Definition: remoteControlInterface.h:347
Contains DtRemoteLoggerConnection.
bool myAcceptAnyId
Definition: remoteControlInterface.h:329
DtTime myConnectionTimeout
Definition: remoteControlInterface.h:330
void(* DtLgrResponseCb)(DtLgrResponsePdu *connect, void *usr)
Definition: remoteControlInterface.h:58
DtRemoteControlPlaybackInterface * myPlaybackInterface
Definition: remoteControlInterface.h:354
std::map< DtLgrCommandTimedOutCb, void * > myCommandTimedOutCallbacks
Definition: remoteControlInterface.h:351
std::map< DtLgrCommandRejectedCb, void * > myCommandRejectedCallbacks
Definition: remoteControlInterface.h:350
Primary interface to remote loggers.
Definition: remoteControlInterface.h:73
DtTime timeout
Definition: remoteControlInterface.h:307
DtRejectCommandList myRejectedCommands
Definition: remoteControlInterface.h:333
DtEntityIdSet myRemoteLoggerIds
Definition: remoteControlInterface.h:327
void(* DtLgrLgrHeartbeatCb)(DtLgrLgrHeartbeatPdu *connect, void *usr)
Definition: remoteControlInterface.h:56
DtAcknowledgeDomainMap myAcknowledgeInterface
Definition: remoteControlInterface.h:336
void(* DtLgrConnectCb)(DtLgrConnectPdu *connect, void *usr)
Definition: remoteControlInterface.h:54
void(* DtLgrConnectionAddedCb)(const DtRemoteLoggerConnection &loggerConnection, void *usr)
Definition: remoteControlInterface.h:60
Responsible for invoking simulation commands and processing simulation responses. ...
Definition: remoteControlSimulationInterface.h:21
DtRemoteControlRecordInterface * myRecordInterface
Definition: remoteControlInterface.h:355
DtU32 DtSequenceNumber
Definition: remoteControlInterface.h:48
std::map< DtLgrConnectCb, void * > myConnectCallbacks
Definition: remoteControlInterface.h:340
Base class for handling commands and responses.
Definition: remoteControlDomainInterface.h:27
DtExerciseConn * myExerciseCon
Definition: remoteControlInterface.h:320
std::map< DtLgrAcknowledgeCb, void * > myAcknowledgeCallbacks
Definition: remoteControlInterface.h:342
void(* DtLgrConnectionTimedOutCb)(const DtRemoteLoggerConnection &loggerConnection, void *usr)
Definition: remoteControlInterface.h:62
Entry for pending acknowledgment.
Definition: remoteControlInterface.h:305
Instances of DtLgrControlPdu are a family of messages used to control a remote instance of the MAK-Lo...
Definition: lcPdu.h:139
DtPendingAcknowledgeList myPendingAcknowledgements
Definition: remoteControlInterface.h:332
DtEntityIdSet pending
Definition: remoteControlInterface.h:308
DtTime myNextTimeoutCheck
Definition: remoteControlInterface.h:331
Instances of DtLgrLgrHeartbeatPdu are used for fault tolerance indicating that the logger is still ac...
Definition: lcLgrHeartbeat.h:18
std::map< DtLgrConnectionAddedCb, void * > myConnectionAddedCallbacks
Definition: remoteControlInterface.h:346
std::set< DtSequenceNumber > DtSequenceNumberSet
Definition: remoteControlInterface.h:51
void(* DtLgrCommandAcceptedCb)(DtSequenceNumber sequenceNumber, void *usr)
Definition: remoteControlInterface.h:64
void(* DtLgrTotalStateCb)(DtLgrTotalStatePdu *connect, void *usr)
Definition: remoteControlInterface.h:59
DtPduList myPduList
Definition: remoteControlInterface.h:325
bool myPassivelyAccepting
Definition: remoteControlInterface.h:338
DtInetSocket * myBackChannelConnection
Definition: remoteControlInterface.h:321
DtRemoteControlSharedInterface * mySharedInterface
Definition: remoteControlInterface.h:358
DtTime MyAcknowledgeTimeout
Definition: remoteControlInterface.h:334
class DT_DLL_LGRUTIL DtAbsoluteTime
Definition: absoluteTime.h:22
std::map< DtSequenceNumber, DtRemoteControlDomainInterface * > DtAcknowledgeDomainMap
Definition: remoteControlInterface.h:313
std::map< DtLgrTotalStateCb, void * > myTotalStateCallbacks
Definition: remoteControlInterface.h:344
Instances of DtLgrResponsePdu are to respond to a remote controller with the result of a logger comma...
Definition: lcResponse.h:19
std::map< DtLgrResponseCb, void * > myResponseCallbacks
Definition: remoteControlInterface.h:343
std::map< DtEntityIdentifier, DtRemoteLoggerConnection > DtRemoteLoggerMap
Collection of remote logger connections.
Definition: lcRemoteLoggerConnection.h:210
Responsible for invoking editor commands and processing editor responses.
Definition: remoteControlEditorInterface.h:27
Responsible for invoking shared commands and processing shared responses.
Definition: remoteControlSharedInterface.h:22
void(* DtLgrAcknowledgeCb)(DtLgrAcknowledgePdu *connect, void *usr)
Definition: remoteControlInterface.h:57
Instances of DtLgrAcknowledgePdu are to respond to a remote controller with the result of a logger co...
Definition: lcAcknowledge.h:24
Contains lgrRemoteControlInterface library definitions.
std::map< DtLgrDisconnectCb, void * > myDisconnectCallbacks
Definition: remoteControlInterface.h:341
std::map< DtLgrConnectionTimedOutCb, void * > myConnectionTimedOutCallbacks
Definition: remoteControlInterface.h:348
Responsible for invoking system commands and processing system responses.
Definition: remoteControlSystemInterface.h:21
Responsible for invoking playback commands and processing playback responses.
Definition: remoteControlPlaybackInterface.h:29
DtEntityIdentifier myId
Definition: remoteControlInterface.h:323
void(* DtLgrDisconnectCb)(DtLgrDisconnectPdu *connect, void *usr)
Definition: remoteControlInterface.h:55
void(* DtLgrCommandRejectedCb)(const DtEntityIdentifier &source, DtSequenceNumber sequenceNumber, void *usr)
Definition: remoteControlInterface.h:65
DtRemoteControlEditorInterface * myEditorInterface
Definition: remoteControlInterface.h:356
void(* DtLgrCommandTimedOutCb)(DtSequenceNumber sequenceNumber, void *usr)
Definition: remoteControlInterface.h:66
std::map< DtLgrCommandAcceptedCb, void * > myCommandAcceptedCallbacks
Definition: remoteControlInterface.h:349
Instances of DtLgrConnectPdu are used to convey to a remote logger- controller the total current stat...
Definition: lcConnect.h:26
Responsible for invoking record commands and processing record responses.
Definition: remoteControlRecordInterface.h:26