22#include <vrfutil/rwUUID.h>
24#include <vlpi/simulationAddress.h>
33class DtVrfObjectMessage;
36class DtVrfMessageInterface;
39class DtReflectedEntityList;
42class DtEntityIdentifier;
45class DtReflectedEntity;
51class DtReflectedExtEntityList;
54class DtReflectedExtEntity;
57class DtReflectedControlObjectList;
60class DtIfResourceMonitorResponse;
69class DtSimInterfaceContent;
72class DtReflectedControlObject;
75class DtReflectedEnvironmentProcess;
78class DtCommunicationManager;
83class DtVrlinkVrfRemoteController;
163 makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection* connection,
int vrfSessionId);
922 static bool backendRemapper(DtBackendMap* map,
const std::set<DtSimulationAddress>& expectedBackends,
void* usr);
933 virtual bool remapBackends(DtBackendMap* map,
const std::set<DtSimulationAddress>& expectedBackends);
951 virtual DtUUID
lookupUUID(
const DtEntityIdentifier& entityId);
961 virtual DtUUID
findUUID(DtReflectedExtEntity* reflectedEntity);
Definition createNewOwnship.h:31
Base class for all simulation event connectors in VREngage.
Definition simEventConnector.h:54
virtual std::string name()
Gets the connector name.
Definition connector.h:64
Top-level class representing the VR-Engage application.
Definition playerStationApp.h:163
Abstract base class for all VREngage messages.
Definition vreMessage.h:50
unsigned int myId
Unique identifier for this connector instance.
Definition vrfRemoteControlConnector.h:1160
virtual DtVreMessageResult handleSetAltitude(DtVreMessage *msg)
Handles a request to set an entity's altitude.
virtual DtUUID findUUID(DtReflectedExtEntity *reflectedEntity)
Finds a UUID for a reflected entity.
virtual void updateBackendStatus()
Status update methods.
DtVrfMessageInterface * myVrfMessageInterface
Pointer to the VRF message interface.
Definition vrfRemoteControlConnector.h:1095
virtual void processBackendDiscovered(const DtSimulationAddress &)
Adds to internal simulation addresses, and, if the backend we want to launch is using an already disc...
virtual DtVreMessageResult handleSetRulesOfEngagement(DtVreMessage *msg)
Entity action and equipment message handlers.
virtual DtVreMessageResult handleSessionPlayStateRequest(DtVreMessage *message)
Handles a request for the session play state.
virtual DtVreMessageResult handleCreateNewOwnship(DtVreMessage *message)
Entity control message handlers.
virtual DtVreMessageResult handleVrfSensorMessages(DtVreMessage *msg)
Handles sensor-related messages.
virtual void processAssignRolePlayerMessage(DtSimMessage *msg)
Processes assign role player messages.
virtual void sendInterfaceContent(const DtSimInterfaceContent &content)
Sends interface content to the VR-Forces backend.
DtReflectedExtEntityInfo * myCachedReflectedEntityInfo
Cached information about the last reflected entity lookup.
Definition vrfRemoteControlConnector.h:1104
virtual DtVreMessageResult handleRadarStateSubscription(DtVreMessage *msg)
Handles requests to subscribe to radar state data.
virtual DtVreMessageResult handleVrfRewind(DtVreMessage *message)
Handles a request to rewind the simulation.
DtSimulationAddress myVreBackend
Simulation address of the VRE backend.
Definition vrfRemoteControlConnector.h:1119
virtual DtVreMessageResult handleSetPitch(DtVreMessage *msg)
Handles a request to set an entity's pitch.
static void textReportCallback(const DtVrfObjectMessage *msg, void *usr)
Static callback for text report messages.
virtual DtEntityIdentifier findEntityIdFromUUID(const DtUUID &uuid)
Finds an entity identifier from a UUID.
virtual DtVreMessageResult handleSetDefaultSmsList(DtVreMessage *message)
Handles a request to set the default SMS list.
virtual void handleLocalEntityCreated(const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid)
Handles the creation of a local entity.
virtual void sendCreateNewOwnship()
Sends a request to create a new ownship entity.
virtual DtVreMessageResult handleWindRequest(DtVreMessage *msg)
Environmental request handlers.
virtual DtVreMessageResult handleSensorSubscription(DtVreMessage *msg)
Handles requests to subscribe to sensor data.
virtual DtVreMessageResult handleVrfSessionStatusRequest(DtVreMessage *message)
Session status and configuration message handlers.
CreateNewOwnshipMessage * myDesiredCreateEntityMessage
Message describing a new ownship entity to create.
Definition vrfRemoteControlConnector.h:1133
virtual DtVreMessageResult handleSetAppearanceMessage(DtVreMessage *msg)
Handles a request to set an entity's appearance.
virtual DtReflectedExtEntityInfo * lookupReflectedEntityInfo(const DtEntityIdentifier &entityId)
Looks up reflected entity information by entity identifier.
virtual bool removeControlSet(const DtEntityIdentifier &entityId)
Removes a control set for an entity.
virtual DtVreMessageResult handleSetGimbalTrackMode(DtVreMessage *msg)
Handles requests to set the tracking mode of a gimbal system.
virtual bool doesVreBackendExist() const
Checks if the VR-Engage backend exists.
virtual bool processEnvProcessDiscoveryCriteria(DtReflectedEnvironmentProcess *envProcess)
Processes environment process discovery criteria.
static void BackendDiscovered(const DtSimulationAddress &, void *usr)
Calls virtual method of similar name when backend is discovered.
bool myWaitingForOwnshipDelete
Flag indicating whether we're waiting for an ownship to be deleted.
Definition vrfRemoteControlConnector.h:1139
virtual DtVreMessageResult handleSetHeading(DtVreMessage *msg)
Handles a request to set an entity's heading.
virtual DtVreMessageResult handleSensorUnsubscription(DtVreMessage *msg)
Handles requests to unsubscribe from sensor data.
virtual DtVreMessageResult handleScriptedSet(DtVreMessage *msg)
Handles scripted set messages.
virtual DtVreMessageResult handleVrfTaskMessages(DtVreMessage *msg)
Handles task-related messages.
virtual void install(DtPlayerStationApp *app, DtCommunicationManager *communicationManager, makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection *connection, int vrfSessionId)
Installs the VRF remote control connector with the application and connection.
virtual DtVreMessageResult handleRwrUnsubscription(DtVreMessage *msg)
Handles requests to unsubscribe from radar warning receiver data.
static void BackendRemoved(const DtSimulationAddress &, void *usr)
Calls virtual method of similar name when backend is removed.
virtual void processLoadCompleteMessage(DtSimMessage *msg)
Processes interface load complete messages.
double mySnapshotSimTime
Definition vrfRemoteControlConnector.h:1121
bool myWaitingForOwnshipCreate
Flag indicating whether we're waiting for a new ownship to be created.
Definition vrfRemoteControlConnector.h:1142
static void vreStatusMessageCallback(DtSimMessage *msg, void *usr)
Static callback for VRE status messages.
DtReflectedExtEntityInfo myCreatedEntityInfo
Information about the created entity.
Definition vrfRemoteControlConnector.h:1136
DtVrfRemoteControlConnector()
Default constructor.
virtual DtVreMessageResult handleSessionSmsListRequest(DtVreMessage *message)
Handles a request for the session simulation model set list.
virtual DtVreMessageResult handleSetAntennaSweep(DtVreMessage *msg)
Handles requests to set the sweep pattern of an antenna.
static void radarStateDataMessageCallback(DtSimMessage *msg, void *usr)
Static callback for radar state data messages.
static bool backendRemapper(DtBackendMap *map, const std::set< DtSimulationAddress > &expectedBackends, void *usr)
Static backend remapping callback.
makVrf::DtVrlinkVrfRemoteController * myVrfRemoteController
Pointer to the VRF remote controller.
Definition vrfRemoteControlConnector.h:1101
static void vreTdlEngagementStatusCallback(DtSimMessage *msg, void *usr)
Static callback for tactical data link engagement status messages.
virtual void processRadarDataMessage(DtSimMessage *msg)
Processes radar data messages.
virtual void sendDeleteNewOwnship()
Sends a request to delete an ownship entity.
virtual DtVreMessageResult handleDesignatedTargetsUpdate(DtVreMessage *msg)
Targeting and weapon system message handlers.
virtual DtVreMessageResult handleSetModeAndSubmode(DtVreMessage *msg)
Handles requests to set an entity's mode and submode.
virtual void sendSessionStatusMessage()
Sends a message with current session status.
DtReflectedExtEntityList * myReflectedEntityList
Pointer to the reflected extended entity list.
Definition vrfRemoteControlConnector.h:1098
virtual DtUUID lookupUUID(const DtEntityIdentifier &entityId)
Looks up a UUID by entity identifier.
static void vreTdlTrackListCallback(DtSimMessage *msg, void *usr)
Static callback for tactical data link track list messages.
virtual makVrf::DtVrlinkVrfRemoteController * vrfRemoteController()
Gets the VRF remote controller.
virtual DtVreMessageResult handleTrackLaserCode(DtVreMessage *msg)
Handles requests to track a specific laser code.
VrfSessionStatusMessage::VrfSessionStatusData mySessionStatus
Current session status data.
Definition vrfRemoteControlConnector.h:1110
virtual void processChatEvent(const makVrfEvents::DtEvent &evt)
Chat message handling methods.
virtual DtVreMessageResult handleSetGimbalTrackLocation(DtVreMessage *msg)
Gimbal and sensor control message handlers.
virtual DtVreMessageResult handleSetGimbalTrackObject(DtVreMessage *msg)
Handles requests to track an object with a gimbal system.
virtual void verifyNewOwnship()
Entity creation and management methods.
virtual DtVreMessageResult handleEmbarkMessage(DtVreMessage *msg)
Handles an embark/disembark message.
virtual DtVreMessageResult handleChatEvent(DtVreMessage *message)
Handles a chat message from VR-Engage.
virtual void processResourceResponse(const makVrfEvents::DtEvent &evt)
Processes a resource response event.
std::vector< ControlSet * > myControlSets
Vector of control sets for managed entities.
Definition vrfRemoteControlConnector.h:1151
virtual void processUnassignRolePlayerMessage(DtSimMessage *msg)
Processes unassign role player messages.
virtual void handleActionMenuControlObjectRemoved(DtReflectedControlObject *obj)
Handles removal of an action menu control object.
virtual ~DtVrfRemoteControlConnector() override
Virtual destructor.
std::set< DtSimulationAddress > mySimulationAddresses
list of existing back-end address. We will change our internal starting address if there is a similar...
Definition vrfRemoteControlConnector.h:1170
virtual void tick() override
Performs periodic processing of backend and session status.
virtual void sendSessionSmsUpdate()
Sends a message with the current session SMS list.
virtual void updateSessionStatus()
Updates the internal session status information.
virtual void handleActionMenuControlObjectDiscovered(DtReflectedControlObject *obj)
Handles discovery of an action menu control object.
virtual DtVreMessageResult handleVrfSetDataRequests(DtVreMessage *msg)
Handles data request messages.
virtual DtVreMessageResult handleJoystick(DtVreMessage *msg)
Entity manipulation message handlers.
virtual void handleSensorUpdate(DtIfSensorData *sensorData)
Handles sensor update data.
virtual DtVreMessageResult handleSetLaserCode(DtVreMessage *msg)
Handles requests to set a laser code.
virtual DtVreMessageResult handleSetRoll(DtVreMessage *msg)
Handles a request to set an entity's roll.
virtual ControlSet * findControlSet(const DtEntityIdentifier &entityId)
Control set management methods.
virtual DtVreMessageResult handleRadarStateUnsubscription(DtVreMessage *msg)
Handles requests to unsubscribe from radar state data.
virtual void processRwrDataMessage(DtSimMessage *msg)
Processes radar warning receiver data messages.
virtual DtVreMessageResult handleVrfReleaseControlOf(DtVreMessage *message)
Handles a request to release control of an entity.
virtual DtVreMessageResult handleVreStatus(DtVreMessage *message)
Status and query message handlers.
virtual DtVreMessageResult handleSetBackendConfig(DtVreMessage *message)
Backend management message handlers.
virtual DtVreMessageResult handleRequestBackendStatus(DtVreMessage *message)
Handles a request for backend status.
virtual void processBackendRemoved(const DtSimulationAddress &)
Removes from internal simulation addresses.
virtual DtVreMessageResult handleStopBackend(DtVreMessage *message)
Handles a request to stop the backend.
virtual DtVreMessageResult handleRenameMessage(DtVreMessage *msg)
Handles a request to rename an entity.
virtual void sendBackendStatusMessage()
Sends a message with current backend status.
virtual DtVreMessageResult handleSetLocation(DtVreMessage *msg)
Handles a request to set an entity's location.
virtual DtVreMessageResult handleLoadBackend(DtVreMessage *message)
Handles a request to load a scenario into the backend.
virtual void processTextReport(const DtVrfObjectMessage *msg)
Processes text report messages.
virtual DtVreMessageResult handleTriggerEvent(DtVreMessage *msg)
Handles requests to trigger a simulation event.
virtual void handleEntityRemoved(const DtReflectedExtEntity *entity)
Handles removal of an entity from the simulation.
virtual DtVreMessageResult handleResetPlayer(DtVreMessage *msg)
Handles a request to reset a player entity.
virtual DtReflectedEntityList * reflectedEntityList()
Gets the reflected entity list.
virtual DtVreMessageResult handleDestroyNewOwnship(DtVreMessage *message)
Handles a request to destroy an ownship entity.
std::pair< DtEntityIdentifier, DtVector > myWaypointTarget
Cached waypoint target information.
Definition vrfRemoteControlConnector.h:1166
static void unassignRolePlayerMessageCallback(DtSimMessage *msg, void *usr)
Static callback for unassign role player messages.
virtual void processVreTdlTrackList(DtSimMessage *msg)
Processes tactical data link track list messages.
int myLaserCode
Current laser code for laser designation.
Definition vrfRemoteControlConnector.h:1148
double myLastWindSpeed
Last recorded wind speed.
Definition vrfRemoteControlConnector.h:1154
virtual bool remapBackends(DtBackendMap *map, const std::set< DtSimulationAddress > &expectedBackends)
Remaps backend addresses for redirection.
virtual void processVreStatusMessage(DtSimMessage *msg)
Processes VRE status messages.
virtual void sendSessionPlayState()
Sends a message with the current session play state.
bool myTookSnapshot
Definition vrfRemoteControlConnector.h:1120
virtual DtVreMessageResult handleVrfPause(DtVreMessage *message)
Handles a request to pause the simulation.
DtSimulationAddress myBackendStartingAddress
Initial simulation address used when starting the backend.
Definition vrfRemoteControlConnector.h:1124
double myLastWindDirection
Last recorded wind direction.
Definition vrfRemoteControlConnector.h:1157
std::set< std::string > mySessionSmsList
Set of simulation model sets in the current session.
Definition vrfRemoteControlConnector.h:1116
virtual DtVreMessageResult handleRwrSubscription(DtVreMessage *msg)
Subscription management message handlers.
virtual DtVreMessageResult handleStartBackend(DtVreMessage *message)
Handles a request to start the backend.
virtual DtVreMessageResult handleSetStateProperties(DtVreMessage *msg)
Environmental request handlers.
static void assignRolePlayerMessageCallback(DtSimMessage *msg, void *usr)
Static callback for assign role player messages.
BackendStatusMessage::BackendStatusData myLastBackendStatus
Last known backend status data.
Definition vrfRemoteControlConnector.h:1127
virtual DtVreMessageResult handleSetHandItem(DtVreMessage *msg)
Handles requests to set a human entity's hand item.
static void radarDataMessageCallback(DtSimMessage *msg, void *usr)
Commented-out sensor data callback methods.
virtual DtVreMessageResult handleVrfRun(DtVreMessage *message)
Simulation control message handlers.
bool myBackendIsHost
Flag indicating whether this backend is the hosting backend.
Definition vrfRemoteControlConnector.h:1130
virtual void handleEntityAdded(const DtReflectedExtEntity *entity)
Handles addition of an entity to the simulation.
virtual DtVreMessageResult handleVrfTakeControlOf(DtVreMessage *message)
Handles a request to take control of an existing entity.
virtual DtVreMessageResult handleRequestEntitiesByType(DtVreMessage *msg)
Handles requests for entities by type.
virtual void processVreTdlEngagementStatus(DtSimMessage *msg)
Processes tactical data link engagement status messages.
DtReflectedControlObjectList * myReflectedControlObjectList
Pointer to the reflected control object list.
Definition vrfRemoteControlConnector.h:1107
virtual void processRadarStateDataMessage(DtSimMessage *msg)
Processes radar state data messages.
virtual void shutdown() override
Shuts down the VRF remote control connector.
bool myCreatedOwnshipNeedsReposition
Flag indicating whether a newly created ownship needs repositioning.
Definition vrfRemoteControlConnector.h:1145
bool mySessionIsPlaying
Flag indicating whether the session is playing.
Definition vrfRemoteControlConnector.h:1113
virtual DtVreMessageResult handleSetLightState(DtVreMessage *msg)
Handles requests to set an entity's light state.
static void ifLoadCompleteMessageCallback(DtSimMessage *msg, void *usr)
Static callback for interface load complete messages.
static void rwrDataMessageCallback(DtSimMessage *msg, void *usr)
Message callback methods.
virtual ControlSet * addControlSet(const DtEntityIdentifier &entityId)
Adds a new control set for an entity.
virtual DtVreMessageResult handleRequestSimulationStateMessage(DtVreMessage *msg)
Simulation state and task message handlers.
Defines export macros and protocol namespace for vrePlayerStationConnector.
#define VRL_DLL
Empty definition for non-Windows platforms.
Definition export.h:52
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
DtVreMessageResult
Enumeration of possible message handling results.
Definition vreMessage.h:33
Definition vrfRemoteControlConnector.h:87
Definition connectorAccessory.h:39
Defines the base DtSimEventConnector class for VREngage simulation events.
Definition backendStatus.h:34
Structure containing entity control capabilities.
Definition vrfRemoteControlConnector.h:118
std::set< DtString > functionGroups
Set of function groups available for this entity.
Definition vrfRemoteControlConnector.h:132
DtEntityIdentifier entityId
Entity identifier.
Definition vrfRemoteControlConnector.h:129
ControlSet()
Default constructor.
Definition vrfRemoteControlConnector.h:122
std::vector< std::string > roles
Vector of roles available for this entity.
Definition vrfRemoteControlConnector.h:135
bool valid()
Checks if the control set is valid.
Definition vrfRemoteControlConnector.h:126
Structure containing information about a reflected extended entity.
Definition vrfRemoteControlConnector.h:99
DtUUID myUUID
Universally unique identifier for the entity.
Definition vrfRemoteControlConnector.h:107
DtEntityIdentifier myEntityId
Entity identifier.
Definition vrfRemoteControlConnector.h:101
DtString myMarkingText
Marking text (name/label) for the entity.
Definition vrfRemoteControlConnector.h:110
DtEntityType myEntityType
Entity type information.
Definition vrfRemoteControlConnector.h:104
Definition vrfSessionStatus.h:35