File indexing completed on 2024-04-21 04:36:00

0001 /* This file is part of KDevelop
0002    Copyright 2017 Anton Anikin <anton@anikin.xyz>
0003 
0004    This program is free software; you can redistribute it and/or
0005    modify it under the terms of the GNU General Public
0006    License as published by the Free Software Foundation; either
0007    version 2 of the License, or (at your option) any later version.
0008 
0009    This program is distributed in the hope that it will be useful,
0010    but WITHOUT ANY WARRANTY; without even the implied warranty of
0011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0012    General Public License for more details.
0013 
0014    You should have received a copy of the GNU General Public License
0015    along with this program; see the file COPYING. If not, write to
0016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017    Boston, MA 02110-1301, USA.
0018 */
0019 
0020 #include "drd_tool.h"
0021 
0022 #include "drd_configpage.h"
0023 #include "drd_job.h"
0024 
0025 #include <KLocalizedString>
0026 
0027 namespace Valgrind
0028 {
0029 
0030 DrdTool* DrdTool::m_self = nullptr;
0031 
0032 DrdTool::DrdTool()
0033     : Tool(
0034         QStringLiteral("DRD"),
0035         i18n("DRD"),
0036         i18n("DRD (Thread Error Detector)"),
0037         QStringLiteral("drd"),
0038         QStringLiteral("drd_tool"),
0039         false)
0040 {
0041     m_self = this;
0042 }
0043 
0044 DrdTool::~DrdTool()
0045 {
0046     m_self = nullptr;
0047 }
0048 
0049 DrdTool* DrdTool::self()
0050 {
0051     return m_self ? m_self : new DrdTool;
0052 }
0053 
0054 Job* DrdTool::createJob(KDevelop::ILaunchConfiguration* launchConfig) const
0055 {
0056     return new DrdJob(launchConfig);
0057 }
0058 
0059 KDevelop::LaunchConfigurationPageFactory* DrdTool::createConfigPageFactory() const
0060 {
0061     return new DrdConfigPageFactory;
0062 }
0063 
0064 }