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 }