1 /* 2 SPDX-FileCopyrightText: 2007 Hamish Rodda <rodda@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #ifndef KDEVPLATFORM_PLUGIN_EXECUTEPLUGIN_H 8 #define KDEVPLATFORM_PLUGIN_EXECUTEPLUGIN_H 9 10 #include <interfaces/iplugin.h> 11 #include <QVariant> 12 #include "iexecuteplugin.h" 13 14 class QUrl; 15 class KJob; 16 17 class NativeAppConfigType; 18 19 class ExecutePlugin : public KDevelop::IPlugin, public IExecutePlugin 20 { 21 Q_OBJECT 22 Q_INTERFACES( IExecutePlugin ) 23 24 public: 25 explicit ExecutePlugin(QObject *parent, const QVariantList & = QVariantList() ); 26 ~ExecutePlugin() override; 27 28 static constexpr const char* projectTargetEntry = "Project Target"; 29 static constexpr const char* argumentsEntry = "Arguments"; 30 static constexpr const char* configuredByCTest = "ConfiguredByCTest"; 31 static constexpr const char* killBeforeExecutingAgain = "Kill Before Executing Again"; 32 static constexpr const char* dependencyActionEntry = "Dependency Action"; 33 static constexpr const char* dependencyEntry = "Dependencies"; 34 35 void unload() override; 36 37 QUrl executable( KDevelop::ILaunchConfiguration*, QString& err ) const override; 38 QStringList arguments( KDevelop::ILaunchConfiguration*, QString& err ) const override; 39 QUrl workingDirectory( KDevelop::ILaunchConfiguration* ) const override; 40 KJob* dependencyJob( KDevelop::ILaunchConfiguration* ) const override; 41 QString environmentProfileName(KDevelop::ILaunchConfiguration*) const override; 42 bool useTerminal( KDevelop::ILaunchConfiguration* ) const override; 43 QString terminal( KDevelop::ILaunchConfiguration* ) const override; 44 QString nativeAppConfigTypeId() const override; 45 46 NativeAppConfigType* m_configType; 47 }; 48 49 #endif // KDEVPLATFORM_PLUGIN_EXECUTEPLUGIN_H 50