2011-04-02 13:25:18 +02:00
|
|
|
/*
|
|
|
|
* Cppcheck - A tool for static C/C++ code analysis
|
2023-09-04 19:44:27 +02:00
|
|
|
* Copyright (C) 2007-2023 Cppcheck team.
|
2011-04-02 13:25:18 +02:00
|
|
|
*
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
2011-04-02 12:35:52 +02:00
|
|
|
#ifndef APPLICATION_H
|
|
|
|
#define APPLICATION_H
|
|
|
|
|
2011-04-02 13:25:18 +02:00
|
|
|
#include <QString>
|
|
|
|
|
2011-04-02 12:35:52 +02:00
|
|
|
/**
|
2021-08-07 20:51:18 +02:00
|
|
|
* @brief A class containing information of the application to execute.
|
|
|
|
*
|
|
|
|
* Each application has a name and a path. Name is displayed to the user
|
|
|
|
* and has no other meaning. It isn't used to start the application.
|
|
|
|
* Path contains the full path to the application containing the executable name.
|
|
|
|
* Parameters contains the command line arguments for the executable.
|
|
|
|
*
|
|
|
|
* User can also specify certain predefined strings to parameters. These strings
|
|
|
|
* will be replaced with appropriate values concerning the error. Strings are:
|
|
|
|
* (file) - Filename containing the error
|
|
|
|
* (line) - Line number containing the error
|
|
|
|
* (message) - Error message
|
|
|
|
* (severity) - Error severity
|
|
|
|
*
|
|
|
|
* Example opening a file with Kate and make Kate scroll to the correct line.
|
|
|
|
* Executable: kate
|
|
|
|
* Parameters: -l(line) (file)
|
|
|
|
*/
|
2011-10-13 20:53:06 +02:00
|
|
|
class Application {
|
2011-04-02 12:35:52 +02:00
|
|
|
public:
|
2023-08-16 17:13:36 +02:00
|
|
|
Application() = default;
|
2022-07-28 22:51:45 +02:00
|
|
|
Application(QString name, QString path, QString params);
|
2011-04-02 13:25:18 +02:00
|
|
|
|
|
|
|
/**
|
2021-08-07 20:51:18 +02:00
|
|
|
* @brief Get application name.
|
|
|
|
* @return Application name.
|
|
|
|
*/
|
2014-11-20 14:20:09 +01:00
|
|
|
QString getName() const {
|
2011-04-02 13:25:18 +02:00
|
|
|
return mName;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2021-08-07 20:51:18 +02:00
|
|
|
* @brief Get application path.
|
|
|
|
* @return Application path.
|
|
|
|
*/
|
2014-11-20 14:20:09 +01:00
|
|
|
QString getPath() const {
|
2011-04-02 13:25:18 +02:00
|
|
|
return mPath;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2021-08-07 20:51:18 +02:00
|
|
|
* @brief Get application command line parameters.
|
|
|
|
* @return Application command line parameters.
|
|
|
|
*/
|
2014-11-20 14:20:09 +01:00
|
|
|
QString getParameters() const {
|
2011-04-02 13:25:18 +02:00
|
|
|
return mParameters;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2021-08-07 20:51:18 +02:00
|
|
|
* @brief Set application name.
|
|
|
|
* @param name Application name.
|
|
|
|
*/
|
2014-11-20 14:20:09 +01:00
|
|
|
void setName(const QString &name) {
|
2011-04-02 13:25:18 +02:00
|
|
|
mName = name;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2021-08-07 20:51:18 +02:00
|
|
|
* @brief Set application path.
|
|
|
|
* @param path Application path.
|
|
|
|
*/
|
2014-11-20 14:20:09 +01:00
|
|
|
void setPath(const QString &path) {
|
2011-04-02 13:25:18 +02:00
|
|
|
mPath = path;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2021-08-07 20:51:18 +02:00
|
|
|
* @brief Set application command line parameters.
|
|
|
|
* @param parameters Application command line parameters.
|
|
|
|
*/
|
2014-11-20 14:20:09 +01:00
|
|
|
void setParameters(const QString ¶meters) {
|
2011-04-02 13:25:18 +02:00
|
|
|
mParameters = parameters;
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
2011-04-02 12:35:52 +02:00
|
|
|
/**
|
2021-08-07 20:51:18 +02:00
|
|
|
* @brief Application's name
|
|
|
|
*/
|
2011-04-02 13:25:18 +02:00
|
|
|
QString mName;
|
2011-04-02 12:35:52 +02:00
|
|
|
|
|
|
|
/**
|
2021-08-07 20:51:18 +02:00
|
|
|
* @brief Application's path
|
|
|
|
*/
|
2011-04-02 13:25:18 +02:00
|
|
|
QString mPath;
|
2011-04-02 12:35:52 +02:00
|
|
|
|
|
|
|
/**
|
2021-08-07 20:51:18 +02:00
|
|
|
* @brief Application's parameters
|
|
|
|
*/
|
2011-04-02 13:25:18 +02:00
|
|
|
QString mParameters;
|
2011-04-02 12:35:52 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // APPLICATION_H
|