File indexing completed on 2024-04-28 12:23:23

0001 /* This file is part of KDevelop
0002    Copyright 2011 Mathieu Lornac <mathieu.lornac@gmail.com>
0003    Copyright 2011 Damien Coppel <damien.coppel@gmail.com>
0004    Copyright 2011 Lionel Duc <lionel.data@gmail.com>
0005    Copyright 2011 Sebastien Rannou <mxs@sbrk.org>
0006    Copyright 2011 Lucas Sarie <lucas.sarie@gmail.com>
0007    Copyright 2016-2017 Anton Anikin <anton@anikin.xyz>
0008 
0009    This program is free software; you can redistribute it and/or
0010    modify it under the terms of the GNU General Public
0011    License as published by the Free Software Foundation; either
0012    version 2 of the License, or (at your option) any later version.
0013 
0014    This program is distributed in the hope that it will be useful,
0015    but WITHOUT ANY WARRANTY; without even the implied warranty of
0016    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0017    General Public License for more details.
0018 
0019    You should have received a copy of the GNU General Public License
0020    along with this program; see the file COPYING.  If not, write to
0021    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0022    Boston, MA 02110-1301, USA.
0023 */
0024 
0025 #pragma once
0026 
0027 #include "job.h"
0028 
0029 class QTemporaryFile;
0030 
0031 namespace Valgrind
0032 {
0033 
0034 class CallgrindFunctionsModel;
0035 
0036 class CallgrindJob : public Job
0037 {
0038     Q_OBJECT
0039 
0040 public:
0041     explicit CallgrindJob(KDevelop::ILaunchConfiguration* launchConfig);
0042     ~CallgrindJob() override = default;
0043 
0044     QWidget* createView() override;
0045 
0046 protected:
0047     bool processEnded() override;
0048     void addToolArgs(QStringList& args) const override;
0049 
0050     CallgrindFunctionsModel* m_model;
0051     QTemporaryFile* m_outputFile;
0052 };
0053 
0054 }