AntiMicroX
commandlineutility.h
Go to the documentation of this file.
1 /* antimicrox Gamepad to KB+M event mapper
2  * Copyright (C) 2015 Travis Nickles <nickles.travis@gmail.com>
3  * Copyright (C) 2020 Jagoda Górska <juliagoda.pl@protonmail>
4  * Copyright (C) 2021 Paweł Kotiuk <kotiuk@zohomail.eu>
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10 
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15 
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef COMMANDLINEPARSER_H
21 #define COMMANDLINEPARSER_H
22 
23 class QCommandLineParser;
24 
25 #include <QApplication>
26 
27 #include "logger.h"
28 
30 {
31  public:
33  {
34  controllerNumber = 0;
35  startSetNumber = 0;
36  unloadProfile = false;
37  }
38 
39  bool hasProfile() { return !profileLocation.isEmpty(); }
40 
41  QString getProfileLocation() { return profileLocation; }
42 
43  void setProfileLocation(QString location) { profileLocation = location; }
44 
45  bool hasControllerNumber() { return (controllerNumber > 0); }
46 
48 
49  void setControllerNumber(int temp) { controllerNumber = temp; }
50 
51  bool hasControllerID() { return !controllerIDString.isEmpty(); }
52 
53  QString getControllerID() { return controllerIDString; }
54 
55  void setControllerID(QString temp) { controllerIDString = temp; }
56 
57  bool isUnloadRequested() { return unloadProfile; }
58 
59  void setUnloadRequest(bool status) { unloadProfile = status; }
60 
62 
63  int getJoyStartSetNumber() { return startSetNumber - 1; }
64 
65  void setStartSetNumber(int temp)
66  {
67  if ((temp >= 1) && (temp <= 8))
68  {
69  startSetNumber = temp;
70  }
71  }
72 
73  private:
74  QString profileLocation;
79 };
80 
81 class CommandLineUtility : public QObject
82 {
83  Q_OBJECT
84 
85  public:
86  explicit CommandLineUtility(QObject *parent = nullptr);
87 
94  void parseArguments(const QApplication &parsed_app);
95 
96  bool isLaunchInTrayEnabled();
97  bool isTrayHidden();
98  bool hasProfile();
99  bool hasControllerNumber();
100  bool hasControllerID();
101  bool isHiddenRequested();
102  bool isShowRequested();
103  bool isUnloadRequested();
104  bool shouldListControllers();
105  bool hasProfileInOptions();
106 
107  int getControllerNumber();
108  int getStartSetNumber();
109  int getJoyStartSetNumber();
110 
111  QString getControllerID();
112  QString getProfileLocation();
113  QString getEventGenerator();
114  QString getCurrentLogFile();
115 
116  QList<int> *getJoyStartSetNumberList();
117  QList<ControllerOptionsInfo> const &getControllerOptionsList();
118 
120 
121  protected:
122  private:
129 
133 
136  QString eventGenerator;
137  QString currentLogFile;
138 
140 
141  QList<ControllerOptionsInfo> controllerOptionsList;
142 
143  static QStringList eventGeneratorsList;
144 
145  void parseArgsProfile(const QCommandLineParser &parser);
146  void parseArgsPrControle(const QCommandLineParser &parser);
147  void parseArgsUnload(const QCommandLineParser &parser);
148  void parseArgsStartSet(const QCommandLineParser &parser);
149 };
150 
151 #endif // COMMANDLINEPARSER_H
ControllerOptionsInfo
Definition: commandlineutility.h:29
CommandLineUtility::hasControllerID
bool hasControllerID()
Definition: commandlineutility.cpp:389
CommandLineUtility::parseArgsProfile
void parseArgsProfile(const QCommandLineParser &parser)
Definition: commandlineutility.cpp:228
CommandLineUtility::controllerIDString
QString controllerIDString
Definition: commandlineutility.h:135
ControllerOptionsInfo::setUnloadRequest
void setUnloadRequest(bool status)
Definition: commandlineutility.h:59
CommandLineUtility::currentLogFile
QString currentLogFile
Definition: commandlineutility.h:137
ControllerOptionsInfo::ControllerOptionsInfo
ControllerOptionsInfo()
Definition: commandlineutility.h:32
CommandLineUtility
Definition: commandlineutility.h:81
CommandLineUtility::eventGeneratorsList
static QStringList eventGeneratorsList
Definition: commandlineutility.h:143
logger.h
ControllerOptionsInfo::hasControllerID
bool hasControllerID()
Definition: commandlineutility.h:51
CommandLineUtility::isLaunchInTrayEnabled
bool isLaunchInTrayEnabled()
Definition: commandlineutility.cpp:373
CommandLineUtility::CommandLineUtility
CommandLineUtility(QObject *parent=nullptr)
Definition: commandlineutility.cpp:32
ControllerOptionsInfo::getControllerNumber
int getControllerNumber()
Definition: commandlineutility.h:47
CommandLineUtility::currentListsIndex
int currentListsIndex
Definition: commandlineutility.h:132
Logger::LOG_DEBUG
@ LOG_DEBUG
Definition: logger.h:70
ControllerOptionsInfo::unloadProfile
bool unloadProfile
Definition: commandlineutility.h:78
ControllerOptionsInfo::controllerIDString
QString controllerIDString
Definition: commandlineutility.h:76
CommandLineUtility::startSetNumber
int startSetNumber
Definition: commandlineutility.h:130
ControllerOptionsInfo::setControllerID
void setControllerID(QString temp)
Definition: commandlineutility.h:55
CommandLineUtility::eventGenerator
QString eventGenerator
Definition: commandlineutility.h:136
ControllerOptionsInfo::getJoyStartSetNumber
int getJoyStartSetNumber()
Definition: commandlineutility.h:63
EventHandlerFactory::fallBackIdentifier
static QString fallBackIdentifier()
Definition: eventhandlerfactory.cpp:97
CommandLineUtility::parseArgsUnload
void parseArgsUnload(const QCommandLineParser &parser)
Definition: commandlineutility.cpp:277
CommandLineUtility::getStartSetNumber
int getStartSetNumber()
Definition: commandlineutility.cpp:395
CommandLineUtility::launchInTray
bool launchInTray
Definition: commandlineutility.h:123
CommandLineUtility::controllerOptionsList
QList< ControllerOptionsInfo > controllerOptionsList
Definition: commandlineutility.h:141
CommandLineUtility::hasProfileInOptions
bool hasProfileInOptions()
Definition: commandlineutility.cpp:409
EventHandlerFactory::buildEventGeneratorList
static QStringList buildEventGeneratorList()
Definition: eventhandlerfactory.cpp:137
ControllerOptionsInfo::controllerNumber
int controllerNumber
Definition: commandlineutility.h:75
CommandLineUtility::getCurrentLogFile
QString getCurrentLogFile()
Definition: commandlineutility.cpp:405
CommandLineUtility::currentLogLevel
Logger::LogLevel currentLogLevel
Definition: commandlineutility.h:139
CommandLineUtility::controllerNumber
int controllerNumber
Definition: commandlineutility.h:131
Logger::LogLevel
LogLevel
Definition: logger.h:63
CommandLineUtility::isUnloadRequested
bool isUnloadRequested()
Definition: commandlineutility.cpp:393
eventhandlerfactory.h
Logger::LOG_VERBOSE
@ LOG_VERBOSE
Definition: logger.h:69
CommandLineUtility::getJoyStartSetNumberList
QList< int > * getJoyStartSetNumberList()
CommandLineUtility::parseArgsStartSet
void parseArgsStartSet(const QCommandLineParser &parser)
Definition: commandlineutility.cpp:321
ControllerOptionsInfo::setProfileLocation
void setProfileLocation(QString location)
Definition: commandlineutility.h:43
CommandLineUtility::unloadProfile
bool unloadProfile
Definition: commandlineutility.h:127
Logger::LOG_WARNING
@ LOG_WARNING
Definition: logger.h:67
CommandLineUtility::getJoyStartSetNumber
int getJoyStartSetNumber()
Definition: commandlineutility.cpp:397
ControllerOptionsInfo::hasControllerNumber
bool hasControllerNumber()
Definition: commandlineutility.h:45
ControllerOptionsInfo::startSetNumber
int startSetNumber
Definition: commandlineutility.h:77
CommandLineUtility::hiddenRequest
bool hiddenRequest
Definition: commandlineutility.h:125
CommandLineUtility::getControllerOptionsList
const QList< ControllerOptionsInfo > & getControllerOptionsList()
Definition: commandlineutility.cpp:407
CommandLineUtility::parseArgsPrControle
void parseArgsPrControle(const QCommandLineParser &parser)
Definition: commandlineutility.cpp:250
CommandLineUtility::parseArguments
void parseArguments(const QApplication &parsed_app)
load and parse arguments from commandline
Definition: commandlineutility.cpp:53
CommandLineUtility::hideTrayIcon
bool hideTrayIcon
Definition: commandlineutility.h:124
Logger::LOG_ERROR
@ LOG_ERROR
Definition: logger.h:66
ControllerOptionsInfo::isUnloadRequested
bool isUnloadRequested()
Definition: commandlineutility.h:57
CommandLineUtility::getControllerID
QString getControllerID()
Definition: commandlineutility.cpp:391
ControllerOptionsInfo::getControllerID
QString getControllerID()
Definition: commandlineutility.h:53
ControllerOptionsInfo::setStartSetNumber
void setStartSetNumber(int temp)
Definition: commandlineutility.h:65
common.h
CommandLineUtility::getCurrentLogLevel
Logger::LogLevel getCurrentLogLevel()
Definition: commandlineutility.cpp:403
ControllerOptionsInfo::hasProfile
bool hasProfile()
Definition: commandlineutility.h:39
CommandLineUtility::showRequest
bool showRequest
Definition: commandlineutility.h:126
ControllerOptionsInfo::getStartSetNumber
int getStartSetNumber()
Definition: commandlineutility.h:61
ControllerOptionsInfo::getProfileLocation
QString getProfileLocation()
Definition: commandlineutility.h:41
Logger::LOG_INFO
@ LOG_INFO
Definition: logger.h:68
ControllerOptionsInfo::profileLocation
QString profileLocation
Definition: commandlineutility.h:74
CommandLineUtility::isShowRequested
bool isShowRequested()
Definition: commandlineutility.cpp:387
CommandLineUtility::getEventGenerator
QString getEventGenerator()
Definition: commandlineutility.cpp:401
commandlineutility.h
CommandLineUtility::listControllers
bool listControllers
Definition: commandlineutility.h:128
CommandLineUtility::hasControllerNumber
bool hasControllerNumber()
Definition: commandlineutility.cpp:379
Logger::LOG_NONE
@ LOG_NONE
Definition: logger.h:65
CommandLineUtility::isHiddenRequested
bool isHiddenRequested()
Definition: commandlineutility.cpp:385
CommandLineUtility::getControllerNumber
int getControllerNumber()
Definition: commandlineutility.cpp:383
CommandLineUtility::shouldListControllers
bool shouldListControllers()
Definition: commandlineutility.cpp:399
CommandLineUtility::isTrayHidden
bool isTrayHidden()
Definition: commandlineutility.cpp:375
CommandLineUtility::hasProfile
bool hasProfile()
Definition: commandlineutility.cpp:377
ControllerOptionsInfo::setControllerNumber
void setControllerNumber(int temp)
Definition: commandlineutility.h:49
CommandLineUtility::profileLocation
QString profileLocation
Definition: commandlineutility.h:134
CommandLineUtility::getProfileLocation
QString getProfileLocation()
Definition: commandlineutility.cpp:381