File indexing completed on 2024-04-28 04:38:39
0001 /* 0002 SPDX-FileCopyrightText: 2007 Hamish Rodda <rodda@kde.org> 0003 SPDX-FileCopyrightText: 2009 Niko Sams <niko.sams@gmail.com> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #ifndef EXECUTEPLASMOIDPLUGIN_H 0009 #define EXECUTEPLASMOIDPLUGIN_H 0010 0011 #include <interfaces/iplugin.h> 0012 #include <execute/iexecuteplugin.h> 0013 #include <QVariantList> 0014 0015 class PlasmoidExecutionConfigType; 0016 class QUrl; 0017 class KJob; 0018 0019 class ExecutePlasmoidPlugin : public KDevelop::IPlugin, public IExecutePlugin 0020 { 0021 Q_OBJECT 0022 Q_INTERFACES( IExecutePlugin ) 0023 public: 0024 explicit ExecutePlasmoidPlugin(QObject *parent, const QVariantList & = QVariantList() ); 0025 ~ExecutePlasmoidPlugin() override; 0026 void unload() override; 0027 0028 QUrl executable(KDevelop::ILaunchConfiguration* config, QString& error) const override; 0029 QStringList arguments(KDevelop::ILaunchConfiguration* config, QString& error) const override; 0030 KJob* dependencyJob(KDevelop::ILaunchConfiguration* config) const override; 0031 QString environmentProfileName(KDevelop::ILaunchConfiguration* config) const override; 0032 QString nativeAppConfigTypeId() const override; 0033 QString terminal(KDevelop::ILaunchConfiguration* config) const override; 0034 bool useTerminal(KDevelop::ILaunchConfiguration* config) const override; 0035 QUrl workingDirectory(KDevelop::ILaunchConfiguration* config) const override; 0036 0037 private: 0038 PlasmoidExecutionConfigType* m_configType; 0039 }; 0040 0041 #endif // EXECUTEPLASMOIDPLUGIN_H