interfaces
irunprovider.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef IRUNPROVIDER_H
00021 #define IRUNPROVIDER_H
00022
00023 #include "irun.h"
00024
00025 #include "iextension.h"
00026
00027 class KJob;
00028
00029 namespace KDevelop
00030 {
00031
00035 class KDEVPLATFORMINTERFACES_EXPORT IRunProvider
00036 {
00037 public:
00038 virtual ~IRunProvider();
00039
00040 enum OutputTypes {
00041 StandardOutput ,
00042 StandardError ,
00043 RunProvider
00044 };
00045
00049 virtual QStringList instrumentorsProvided() const = 0;
00050
00054 virtual QString translatedInstrumentor(const QString& instrumentor) const = 0;
00055
00059 virtual bool execute(const IRun& run, KJob* job) = 0;
00060
00064 virtual void abort(KJob* job) = 0;
00065
00066 Q_SIGNALS:
00070 void output(int serial, const QString& line, KDevelop::IRunProvider::OutputTypes type);
00071 };
00072
00073 }
00074
00075 KDEV_DECLARE_EXTENSION_INTERFACE_NS(KDevelop, IRunProvider, "org.kdevelop.IRunProvider")
00076 Q_DECLARE_INTERFACE(KDevelop::IRunProvider, "org.kdevelop.IRunProvider")
00077 Q_DECLARE_METATYPE(KDevelop::IRunProvider::OutputTypes)
00078
00079 #endif