VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfLauncher.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright (c) 2014 MAK Technologies, Inc.
3  * All rights reserved.
4  ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vlutil/vlString.h>
13 #include <vlutil/vlFilename.h>
14 #include <vlutil/vlPrint.h>
15 
16 #include <QtWidgets/QApplication>
17 
18 #include <QtCore/QDir>
19 
21 #include <mtl/configVariable.h>
22 #include <mtl/multiConfigVariable.h>
23 #include <connectionSettings.h>
24 
25 class DtSettingsManager;
27 class DtSimMetricsLauncherInitializer;
28 
29 namespace makArchives
30 {
31  class DtAutoDriversRecord;
32 }
33 
37 { Q_OBJECT;
38 public:
39 
42 
44  DtVrfLauncherApplication( int& argc, char* argv[] );
45 
47  virtual ~DtVrfLauncherApplication();
48 
51  virtual bool processPredefinedConnection();
52 
55  virtual bool processAutoConnect();
56 
59  virtual bool processDriver(const std::string driverName,
60  const std::string driverFilepath);
61 
63 
64  virtual void setConnectionSettings(DtConnectionSettings* settings);
65 
66  // Name of front-end application to run
67  virtual QString frontEndAppName();
68  // mutate/ access the appropriate bin directory for the Front-end.
69  virtual void setFrontEndBinDir( const char* path );
70  virtual const QDir& frontEndBinDir() const;
71  // returns a QFileInfo obj describing the path of the front-end app
72  //relative to the bin directory
73  virtual QFileInfo frontEndAppFile();
74  //returns a QStringList of app-specific command-line args and their values
75  virtual const QStringList frontEndAppArgs() const;
76  //relative to the bin directory
77  virtual QFileInfo radioAppFile();
78  //returns a QStringList of app-specific command-line args and their values
79  virtual QString radioAppName();
80  virtual const QStringList radioAppArgs() const;
81 
82  //returns true if the connection is valid. Checks the connection settings.
83  virtual bool connectionWillBeValid() const;
84  //returns true if the connection is valid. Checks the supplied argument.
85  virtual bool connectionWillBeValid(const QString deviceAddress) const;
86 
87  //Returns the name of the back-end app based upon protocol.
88  //If no protocol is given, it uses vrfLauncher.myProtocol.
89  virtual QString backEndAppNameFromProtocol( DtProtocolTypes thisProtocol );
90  virtual QString backEndAppName();
91  // mutate/ access the appropriate bin directory for the back-end.
92  virtual void setBackEndBinDir( const char* path );
93  virtual const QDir& backEndBinDir() const;
94  // returns a QFileInfo obj describing the path of the back-end app
95  //relative to the bin directory
96  virtual QFileInfo backEndAppFile();
97  //returns a QStringList of app-specific command-line args and their values
98  virtual const QStringList backEndAppArgs() const;
99 
100  virtual int startConnectionConfigWidget();
101 
102  // If this is true then the widget will have a launch button which will launch
103  // the current selected connection. If false the widget will only have a close button
104  virtual void setInLaunchMode( bool launch );
105  virtual bool inLaunchMode() const;
106 
107  // returns a bool indicating whether the frontend and backend have been requested to launch
108  virtual bool frontEndLaunchRequested() const;
109  virtual bool backEndLaunchRequested() const;
110  virtual bool radioLaunchRequested() const;
111  virtual bool configurationMode() const;
112 
113  virtual bool combinedLaunchRequested() const;
114 
115  std::string language() const;
116 
117  virtual void setDarkMode(bool);
118  bool darkMode() const
119  {
120  return myDarkMode;
121  }
122 
123  virtual std::string iconPath() const;
124 
125 protected:
126 
129  DtConfigVariable<bool> myRunFrontEndFlag;
130  DtConfigVariable<bool> myRunBackEndFlag;
131  DtConfigVariable<bool> myConfigTool;
132  DtConfigVariable<bool> myIgnoreFlag;
133  DtConfigVariable<bool> mySimArgsFlag;
134  DtConfigVariable<bool> myGuiArgsFlag;
135  DtConfigVariable<bool> myMakRadioFlag;
136  DtConfigVariable<bool> myUseUserSettingsDirectory;
137  DtConfigVariable<DtString> myUsePredefinedConnection;
138  DtConfigVariable<DtString> myLanguage;
139 
142 
147 };
DtConfigVariable< DtString > myUsePredefinedConnection
Definition: vrfLauncher.h:137
virtual void setBackEndBinDir(const char *path)
virtual const QStringList backEndAppArgs() const
std::string language() const
DtConfigVariable< bool > myUseUserSettingsDirectory
Definition: vrfLauncher.h:136
Adds a new method to the DtApplicationSettings class so that the –ignore_rest command option is not a...
Definition: applicationSettingsWithoutIgnore.h:17
Contains the DtConnectionSettingsObject class declaration.
DtConfigVariable< DtString > myLanguage
Definition: vrfLauncher.h:138
virtual QFileInfo frontEndAppFile()
DtApplicationSettingsWithoutIgnore myApplicationSettings
Definition: vrfLauncher.h:128
DtConfigVariable< bool > myRunFrontEndFlag
Definition: vrfLauncher.h:129
virtual bool frontEndLaunchRequested() const
virtual ~DtVrfLauncherApplication()
DTOR.
virtual int startConnectionConfigWidget()
bool myDarkMode
Definition: vrfLauncher.h:146
virtual bool configurationMode() const
DtConfigVariable< bool > myRunBackEndFlag
Definition: vrfLauncher.h:130
Contains the DtApplicationSettingsWithoutIgnore class declaration.
DtConfigVariable< bool > myGuiArgsFlag
Definition: vrfLauncher.h:134
QStringList myAdditionalFrontEndArgs
Definition: vrfLauncher.h:141
DtProtocolTypes
Enumeration for supported protocol types.
Definition: connectionSettings.h:45
virtual bool radioLaunchRequested() const
Base class for all Launcher settings objects.
Definition: connectionSettings.h:62
bool myLaunchFlag
Definition: vrfLauncher.h:145
virtual void setConnectionSettings(DtConnectionSettings *settings)
virtual QString radioAppName()
virtual const QDir & backEndBinDir() const
virtual bool combinedLaunchRequested() const
DtVrfLauncherApplication()
Default CTOR.
virtual QFileInfo radioAppFile()
virtual bool backEndLaunchRequested() const
DtConfigVariable< bool > myIgnoreFlag
Definition: vrfLauncher.h:132
virtual QString frontEndAppName()
QStringList myAdditionalBackEndArgs
Definition: vrfLauncher.h:144
Manages launch configurations for the front-end and back-end.
Definition: vrfLauncher.h:36
DtConnectionSettings * myConnectionSettings
Definition: vrfLauncher.h:127
virtual std::string iconPath() const
DtConfigVariable< bool > myMakRadioFlag
Definition: vrfLauncher.h:135
Definition: settingsManager.h:100
virtual const QStringList frontEndAppArgs() const
virtual void setFrontEndBinDir(const char *path)
virtual QString backEndAppNameFromProtocol(DtProtocolTypes thisProtocol)
virtual void setInLaunchMode(bool launch)
virtual QFileInfo backEndAppFile()
virtual bool processDriver(const std::string driverName, const std::string driverFilepath)
If the specified driver file can be loaded it is used to populate myConnection and true is returned...
DtConfigVariable< bool > mySimArgsFlag
Definition: vrfLauncher.h:133
virtual const QDir & frontEndBinDir() const
bool darkMode() const
Definition: vrfLauncher.h:118
virtual bool inLaunchMode() const
virtual void setDarkMode(bool)
virtual const QStringList radioAppArgs() const
virtual bool connectionWillBeValid() const
virtual bool processAutoConnect()
If the autoConnect.xml file is present, calls processDriver to attempt to load it.
DtConfigVariable< bool > myConfigTool
Definition: vrfLauncher.h:131
virtual QString backEndAppName()
QDir myBackEndBinDir
Definition: vrfLauncher.h:143
virtual DtConnectionSettings * connectionSettings()
QDir myFrontEndBinDir
Definition: vrfLauncher.h:140
virtual bool processPredefinedConnection()
If myUsePredefinedConnection is not empty, call processDriver to attempt to load the connection...

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)