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