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