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

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 "massif_tool.h"
0021 
0022 #include "massif_configpage.h"
0023 #include "massif_job.h"
0024 
0025 #include <KLocalizedString>
0026 
0027 namespace Valgrind
0028 {
0029 
0030 MassifTool* MassifTool::m_self = nullptr;
0031 
0032 MassifTool::MassifTool()
0033     : Tool(
0034         QStringLiteral("Massif"),
0035         i18n("Massif"),
0036         i18n("Massif (Heap Profiler)"),
0037         QStringLiteral("massif"),
0038         QStringLiteral("massif_tool"),
0039         true)
0040 {
0041     m_self = this;
0042 }
0043 
0044 MassifTool::~MassifTool()
0045 {
0046     m_self = nullptr;
0047 }
0048 
0049 MassifTool* MassifTool::self()
0050 {
0051     return m_self ? m_self : new MassifTool;
0052 }
0053 
0054 Job* MassifTool::createJob(KDevelop::ILaunchConfiguration* launchConfig) const
0055 {
0056     return new MassifJob(launchConfig);
0057 }
0058 
0059 KDevelop::LaunchConfigurationPageFactory* MassifTool::createConfigPageFactory() const
0060 {
0061     return new MassifConfigPageFactory;
0062 }
0063 
0064 }