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

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 KDEVPLATFORM_PLUGIN_EXECUTESCRIPTPLUGIN_H
0009 #define KDEVPLATFORM_PLUGIN_EXECUTESCRIPTPLUGIN_H
0010 
0011 #include <interfaces/iplugin.h>
0012 #include <QVariant>
0013 #include "iexecutescriptplugin.h"
0014 
0015 class ScriptAppConfigType;
0016 class QUrl;
0017 
0018 class ExecuteScriptPlugin : public KDevelop::IPlugin, public IExecuteScriptPlugin
0019 {
0020     Q_OBJECT
0021     Q_INTERFACES( IExecuteScriptPlugin )
0022 
0023   public:
0024     explicit ExecuteScriptPlugin(QObject *parent, const QVariantList & = QVariantList() );
0025     ~ExecuteScriptPlugin() override;
0026 
0027     static constexpr const char* interpreterEntry = "Interpreter";
0028     static constexpr const char* runCurrentFileEntry = "Run current file";
0029     static constexpr const char* executableEntry = "Executable";
0030     static constexpr const char* argumentsEntry = "Arguments";
0031     static constexpr const char* workingDirEntry = "Working Directory";
0032     // TODO: migrate to more consistent key term "EnvironmentProfile"
0033     static constexpr const char* environmentProfileEntry = "EnvironmentGroup";
0034     static constexpr const char* outputFilteringEntry = "Output Filtering Mode";
0035     static constexpr const char* executeOnRemoteHostEntry = "Execute on Remote Host";
0036     static constexpr const char* remoteHostEntry = "Remote Host";
0037 
0038     void unload() override;
0039     
0040     QString interpreter( KDevelop::ILaunchConfiguration*, QString& err ) const override;
0041     QUrl script( KDevelop::ILaunchConfiguration*, QString& err ) const override;
0042     QString remoteHost(KDevelop::ILaunchConfiguration* , QString& err) const override;
0043     QStringList arguments( KDevelop::ILaunchConfiguration*, QString& err ) const override;
0044     QUrl workingDirectory( KDevelop::ILaunchConfiguration* ) const override;
0045     QString environmentProfileName(KDevelop::ILaunchConfiguration*) const override;
0046     QString scriptAppConfigTypeId() const override;
0047     int outputFilterModeId( KDevelop::ILaunchConfiguration* ) const override;
0048     bool runCurrentFile(KDevelop::ILaunchConfiguration*) const override;
0049 
0050     ScriptAppConfigType* m_configType;
0051 };
0052 
0053 #endif // KDEVPLATFORM_PLUGIN_EXECUTESCRIPTPLUGIN_H