File indexing completed on 2024-04-28 04:38:38

0001 /*
0002     SPDX-FileCopyrightText: 2007 Hamish Rodda <rodda@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef KDEVPLATFORM_PLUGIN_EXECUTEPLUGIN_H
0008 #define KDEVPLATFORM_PLUGIN_EXECUTEPLUGIN_H
0009 
0010 #include <interfaces/iplugin.h>
0011 #include <QVariant>
0012 #include "iexecuteplugin.h"
0013 
0014 class QUrl;
0015 class KJob;
0016 
0017 class NativeAppConfigType;
0018 
0019 class ExecutePlugin : public KDevelop::IPlugin, public IExecutePlugin
0020 {
0021     Q_OBJECT
0022     Q_INTERFACES( IExecutePlugin )
0023 
0024   public:
0025     explicit ExecutePlugin(QObject *parent, const QVariantList & = QVariantList() );
0026     ~ExecutePlugin() override;
0027 
0028     static constexpr const char* projectTargetEntry = "Project Target";
0029     static constexpr const char* argumentsEntry = "Arguments";
0030     static constexpr const char* configuredByCTest = "ConfiguredByCTest";
0031     static constexpr const char* killBeforeExecutingAgain = "Kill Before Executing Again";
0032     static constexpr const char* dependencyActionEntry = "Dependency Action";
0033     static constexpr const char* dependencyEntry = "Dependencies";
0034 
0035     void unload() override;
0036     
0037     QUrl executable( KDevelop::ILaunchConfiguration*, QString& err ) const override;
0038     QStringList arguments( KDevelop::ILaunchConfiguration*, QString& err ) const override;
0039     QUrl workingDirectory( KDevelop::ILaunchConfiguration* ) const override;
0040     KJob* dependencyJob( KDevelop::ILaunchConfiguration* ) const override;
0041     QString environmentProfileName(KDevelop::ILaunchConfiguration*) const override;
0042     bool useTerminal( KDevelop::ILaunchConfiguration* ) const override;
0043     QString terminal( KDevelop::ILaunchConfiguration* ) const override;
0044     QString nativeAppConfigTypeId() const override;
0045 
0046     NativeAppConfigType* m_configType;
0047 };
0048 
0049 #endif // KDEVPLATFORM_PLUGIN_EXECUTEPLUGIN_H