File indexing completed on 2024-04-21 04:35:58

0001 /* This file is part of KDevelop
0002    Copyright 2006-2008 Hamish Rodda <rodda@kde.org>
0003    Copyright 2009 Andreas Pakulat <apaku@gmx.de>
0004    Copyright 2011 Lionel Duc <lionel.data@gmail.com>
0005    Copyright 2011 Mathieu Lornac <mathieu.lornac@gmail.com>
0006    Copyright 2016-2017 Anton Anikin <anton@anikin.xyz>
0007 
0008    This program is free software; you can redistribute it and/or
0009    modify it under the terms of the GNU General Public
0010    License as published by the Free Software Foundation; either
0011    version 2 of the License, or (at your option) any later version.
0012 
0013    This program is distributed in the hope that it will be useful,
0014    but WITHOUT ANY WARRANTY; without even the implied warranty of
0015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0016    General Public License for more details.
0017 
0018    You should have received a copy of the GNU General Public License
0019    along with this program; see the file COPYING.  If not, write to
0020    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0021    Boston, MA 02110-1301, USA.
0022 */
0023 
0024 #pragma once
0025 
0026 #include <interfaces/ilauncher.h>
0027 
0028 class KJob;
0029 
0030 namespace Valgrind
0031 {
0032 
0033 class Tool;
0034 
0035 class Launcher : public KDevelop::ILauncher
0036 {
0037 public:
0038     explicit Launcher(const Tool* tool);
0039     ~Launcher() override;
0040 
0041     QString name() const override final;
0042     QString description() const override final;
0043     QString id() override final;
0044 
0045     QStringList supportedModes() const override final;
0046 
0047     QList<KDevelop::LaunchConfigurationPageFactory*> configPages() const override final;
0048 
0049     KJob* start(const QString& launchMode, KDevelop::ILaunchConfiguration* launchConfig) override final;
0050 
0051 protected:
0052     const Tool* m_tool;
0053 
0054     QList<KDevelop::LaunchConfigurationPageFactory*> m_configPageFactories;
0055 };
0056 
0057 }