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

0001 /*
0002     SPDX-FileCopyrightText: 2009 Andreas Pakulat <apaku@gmx.de>
0003     SPDX-FileCopyrightText: 2009 Niko Sams <niko.sams@gmail.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef KDEVPLATFORM_PLUGIN_IEXECUTESCRIPTPLUGIN_H
0009 #define KDEVPLATFORM_PLUGIN_IEXECUTESCRIPTPLUGIN_H
0010 
0011 #include <QObject>
0012 
0013 namespace KDevelop
0014 {
0015 class ILaunchConfiguration;
0016 }
0017 
0018 class QUrl;
0019 class QString;
0020 class QStringList;
0021 
0022 /**
0023 @author Andreas Pakulat
0024 @author Niko Sams
0025 */
0026 
0027 class IExecuteScriptPlugin
0028 {
0029 public:
0030     virtual ~IExecuteScriptPlugin() {}
0031 
0032     virtual QString interpreter( KDevelop::ILaunchConfiguration*, QString& ) const = 0;
0033     virtual QUrl script( KDevelop::ILaunchConfiguration*, QString& ) const = 0;
0034     virtual QString remoteHost( KDevelop::ILaunchConfiguration*, QString& ) const = 0;
0035     virtual QStringList arguments( KDevelop::ILaunchConfiguration*, QString& ) const = 0;
0036     virtual QUrl workingDirectory( KDevelop::ILaunchConfiguration* ) const = 0;
0037     virtual QString environmentProfileName(KDevelop::ILaunchConfiguration*) const = 0;
0038     virtual QString scriptAppConfigTypeId() const = 0;
0039     virtual int outputFilterModeId( KDevelop::ILaunchConfiguration* ) const = 0;
0040     virtual bool runCurrentFile( KDevelop::ILaunchConfiguration* ) const = 0;
0041 };
0042 
0043 Q_DECLARE_INTERFACE( IExecuteScriptPlugin, "org.kdevelop.IExecuteScriptPlugin" )
0044 
0045 #endif
0046