19#include <vrvCore/DtStealthCommandLineProcessor.h>
20#include <vrvCore/DtVrvApplicationConfiguration.h>
22#include <vrvUtil/DtDisplayConfiguration.h>
23#include <vrvUtil/DtVrvCommandLineParser.h>
25#include <cmdLine/cmdArg.h>
26#include <cmdLine/cmdLine.h>
41 boost::function<void(std::vector<DtCmdLine::Arg*>&, makVrv::DtStealthCommandLineProcessor::StealthArgs&)>;
63 virtual void processCommandLine(makVrv::DtVrvApplicationConfiguration& appConfig,
int argc,
char** argv)
override;
107 makVrv::DtVrvApplicationConfiguration& appConfig, StealthArgs& args, std::string&
autoStartDriver) = 0;
125 makVrv::DtVrvApplicationConfiguration& appConfig, StealthArgs& args, std::string&
autoStartDriver)
override;
129 DtCmdLine::ValueArg<int>*
port;
155 makVrv::DtVrvApplicationConfiguration& appConfig, StealthArgs& args, std::string&
autoStartDriver)
override;
205 struct VreArgs :
public makVrv::DtStealthCommandLineProcessor::StealthArgs
246 virtual void createDriver(
const makVrv::DtVrvApplicationConfiguration& appConfig,
247 const makVrv::DtConfiguration& config,
BaseArgs* baseArgs, std::string& autoStarted);
259 virtual std::string
createDriver(
const makVrv::DtVrvApplicationConfiguration& app,
260 const makVrv::DtConfiguration& config,
const std::string& driverName,
const std::string& driverClass,
261 std::string& fullName);
271 const makVrv::DtVrvApplicationConfiguration& app,
const std::string& driverClass,
const std::string& driverName);
virtual void processArgs(makVrv::DtVrvApplicationConfiguration &appConfig, VreArgs &args)
Updates application configuration based on parsed arguments.
virtual void processCommandLine(makVrv::DtVrvApplicationConfiguration &appConfig, int argc, char **argv) override
Processes command line arguments and updates application configuration.
boost::function< void(std::vector< DtCmdLine::Arg * > &, makVrv::DtStealthCommandLineProcessor::StealthArgs &)> DtAdditionalCommandsFcn
Definition vreCommandLineProcessor.h:40
virtual void removeAutoStartDriver()
Removes any automatically created driver.
virtual void addHla1516eCommandArguments(std::vector< DtCmdLine::Arg * > &argumentOrder, VreArgs &args)
Adds HLA 1516e specific command line arguments.
virtual std::string createDriverFileName(const makVrv::DtVrvApplicationConfiguration &app, const std::string &driverClass, const std::string &driverName)
Generates a filename for a new auto-start driver file.
virtual void createDriver(const makVrv::DtVrvApplicationConfiguration &appConfig, const makVrv::DtConfiguration &config, BaseArgs *baseArgs, std::string &autoStarted)
Creates a new driver after removing existing VR-Forces drivers.
virtual void setupArguments(VreArgs &args, std::vector< DtCmdLine::Arg * > &argumentOrder)
Sets up default argument values.
virtual void addDisCommandArguments(std::vector< DtCmdLine::Arg * > &argumentOrder, VreArgs &args)
Adds DIS-specific command line arguments.
std::string applicationMode() const
Gets the application mode.
std::string myAutoStartDriver
Name of the automatically created driver.
Definition vreCommandLineProcessor.h:322
virtual void addHla13CommandArguments(std::vector< DtCmdLine::Arg * > &argumentOrder, VreArgs &args)
Adds HLA 1.3 specific command line arguments.
const std::string & autoStartDriver() const
Gets the name of the automatically created driver.
Definition vreCommandLineProcessor.h:76
virtual ~DtVreCommandLineProcessor() override
Virtual destructor.
virtual void addHla1516CommandArguments(std::vector< DtCmdLine::Arg * > &argumentOrder, VreArgs &args)
Adds HLA 1516 specific command line arguments.
std::vector< DtCmdLine::Arg * > myAdditionalCommandLineArguments
List of additional command line arguments.
Definition vreCommandLineProcessor.h:325
virtual std::string createDriver(const makVrv::DtVrvApplicationConfiguration &app, const makVrv::DtConfiguration &config, const std::string &driverName, const std::string &driverClass, std::string &fullName)
Creates a new driver file with specific name and class.
std::string stationName() const
Gets the station name.
std::string customSettingsString() const
std::string myApplicationMode
Current application mode.
Definition vreCommandLineProcessor.h:328
std::string customSettingsFile() const
Gets the initialization settings file path.
DtVreCommandLineProcessor()
Default constructor.
std::map< std::string, DtAdditionalCommandsFcn > myAdditionalCommands
Map of command names to handler functions for additional commands.
Definition vreCommandLineProcessor.h:319
virtual void addHlaCommandArguments(std::vector< DtCmdLine::Arg * > &argumentOrder, VreArgs &args, Hla13Args *hlaArgs)
Adds command line arguments common to all HLA versions.
Defines export macros for the VREngage Utility library.
#define UTIL_DLL
Export/import macro for non-Windows platforms.
Definition export.h:39
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
Base structure for protocol-independent parameters.
Definition vreCommandLineProcessor.h:105
DtCmdLine::ValueArg< int > * appId
Definition vreCommandLineProcessor.h:113
virtual std::string driverClass() const =0
DtCmdLine::SwitchArg * useAbsoluteTimeStamps
Definition vreCommandLineProcessor.h:114
virtual void processArgs(makVrv::DtVrvApplicationConfiguration &appConfig, StealthArgs &args, std::string &autoStartDriver)=0
virtual std::string driverName() const =0
DtCmdLine::ValueArg< int > * siteId
Definition vreCommandLineProcessor.h:112
DtVreCommandLineProcessor * myParser
Definition vreCommandLineProcessor.h:111
DtCmdLine::ValueArg< int > * fileTransporterReceivePort
Definition vreCommandLineProcessor.h:115
Structure containing DIS-specific parameters.
Definition vreCommandLineProcessor.h:123
virtual std::string driverName() const override
DtCmdLine::ValueArg< std::string > * destinationAddress
Definition vreCommandLineProcessor.h:132
DtCmdLine::ValueArg< int > * disVersion
Definition vreCommandLineProcessor.h:131
virtual std::string driverClass() const override
DtCmdLine::ValueArg< std::string > * subnetMask
Definition vreCommandLineProcessor.h:134
DtCmdLine::ValueArg< std::string > * appIdRange
Definition vreCommandLineProcessor.h:137
DtCmdLine::ValueArg< std::string > * reportedHostAddress
Definition vreCommandLineProcessor.h:136
DtCmdLine::MultiArg< std::string > * multicastAddresses
Definition vreCommandLineProcessor.h:144
DtCmdLine::SwitchArg * useIpv6
Definition vreCommandLineProcessor.h:142
DtCmdLine::ValueArg< std::string > * hostAddress
Definition vreCommandLineProcessor.h:135
DtCmdLine::SwitchArg * useAsynchIO
Definition vreCommandLineProcessor.h:141
DtCmdLine::ValueArg< int > * multicastTTL
Definition vreCommandLineProcessor.h:143
DtCmdLine::ValueArg< int > * sessionId
Definition vreCommandLineProcessor.h:138
DtCmdLine::ValueArg< int > * port
Definition vreCommandLineProcessor.h:129
DtCmdLine::ValueArg< int > * receiveBufferSize
Definition vreCommandLineProcessor.h:139
DtCmdLine::ValueArg< std::string > * deviceAddress
Definition vreCommandLineProcessor.h:133
DtCmdLine::ValueArg< int > * exerciseId
Definition vreCommandLineProcessor.h:130
DtCmdLine::ValueArg< double > * defaultObjectTimeout
Definition vreCommandLineProcessor.h:145
virtual void processArgs(makVrv::DtVrvApplicationConfiguration &appConfig, StealthArgs &args, std::string &autoStartDriver) override
DtCmdLine::ValueArg< int > * sendBufferSize
Definition vreCommandLineProcessor.h:140
Structure containing HLA 1.3 specific parameters.
Definition vreCommandLineProcessor.h:153
virtual std::string driverClass() const override
DtCmdLine::ValueArg< double > * rprFomVersion
Definition vreCommandLineProcessor.h:167
DtCmdLine::SwitchArg * useGeographicDdm
Definition vreCommandLineProcessor.h:170
DtCmdLine::ValueArg< int > * rprFomRevision
Definition vreCommandLineProcessor.h:168
DtCmdLine::ValueArg< std::string > * fomMapperInitData
Definition vreCommandLineProcessor.h:163
DtCmdLine::SwitchArg * useAdvisories
Definition vreCommandLineProcessor.h:169
DtCmdLine::ValueArg< std::string > * reportedHostAddress
Definition vreCommandLineProcessor.h:165
DtCmdLine::ValueArg< std::string > * fedFileName
Definition vreCommandLineProcessor.h:161
virtual void processArgs(makVrv::DtVrvApplicationConfiguration &appConfig, StealthArgs &args, std::string &autoStartDriver) override
DtCmdLine::ValueArg< std::string > * execName
Definition vreCommandLineProcessor.h:160
DtCmdLine::ValueArg< std::string > * federateType
Definition vreCommandLineProcessor.h:171
DtCmdLine::ValueArg< std::string > * hostAddress
Definition vreCommandLineProcessor.h:164
virtual std::string driverName() const override
DtCmdLine::ValueArg< std::string > * fomMapperLibName
Definition vreCommandLineProcessor.h:162
virtual void setupHlaConfiguration(makVrv::DtConfiguration &config, StealthArgs &args)
DtCmdLine::ValueArg< int > * sessionId
Definition vreCommandLineProcessor.h:166
Structure containing HLA 1516 specific parameters.
Definition vreCommandLineProcessor.h:179
virtual std::string driverClass() const override
virtual std::string driverName() const override
Structure containing HLA 1516e specific parameters.
Definition vreCommandLineProcessor.h:189
DtCmdLine::ValueArg< std::string > * localSettingsDesignator
Definition vreCommandLineProcessor.h:197
virtual void setupHlaConfiguration(makVrv::DtConfiguration &config, StealthArgs &args) override
DtCmdLine::ValueArg< std::string > * federateName
Definition vreCommandLineProcessor.h:196
DtCmdLine::MultiArg< std::string > * fomModule
Definition vreCommandLineProcessor.h:195
virtual std::string driverClass() const override
virtual std::string driverName() const override
Structure containing VREngage specific parameters.
Definition vreCommandLineProcessor.h:206
DtCmdLine::SwitchArg * hla1516eMode
Definition vreCommandLineProcessor.h:210
makVrv::SwitchArg * airMode
Definition vreCommandLineProcessor.h:217
makVrv::SwitchArg * windowedMode
Definition vreCommandLineProcessor.h:225
makVrv::SwitchArg * sensorMode
Definition vreCommandLineProcessor.h:219
DtCmdLine::SwitchArg * hla13Mode
Definition vreCommandLineProcessor.h:208
DtCmdLine::ValueArg< std::string > * customSettingsString
Definition vreCommandLineProcessor.h:214
std::vector< BaseArgs * > additionalArguments
Definition vreCommandLineProcessor.h:227
DtCmdLine::ValueArg< std::string > * stationName
Definition vreCommandLineProcessor.h:215
DtCmdLine::ValueArg< std::string > * customSettingsFile
Definition vreCommandLineProcessor.h:213
DtCmdLine::SwitchArg * enableSensorFX
Definition vreCommandLineProcessor.h:211
makVrv::SwitchArg * disableEscapeKeyArg
Definition vreCommandLineProcessor.h:223
makVrv::SwitchArg * enableAdminMode
Definition vreCommandLineProcessor.h:222
DtCmdLine::SwitchArg * disMode
Definition vreCommandLineProcessor.h:207
DtCmdLine::SwitchArg * hla1516Mode
Definition vreCommandLineProcessor.h:209
makVrv::SwitchArg * groundMode
Definition vreCommandLineProcessor.h:218
DtCmdLine::ValueArg< std::string > * applicationModeArg
Definition vreCommandLineProcessor.h:221