project
iprojectbuilder.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef IPROJECTBUILDER_H
00021 #define IPROJECTBUILDER_H
00022
00023 #include <interfaces/iextension.h>
00024 #include "../projectexport.h"
00025
00026 class KJob;
00027
00028 namespace KDevelop
00029 {
00030 class IProject;
00031 class ProjectBaseItem;
00032
00040 class KDEVPLATFORMPROJECT_EXPORT IProjectBuilder
00041 {
00042 public:
00043
00044 virtual ~IProjectBuilder();
00045
00050 virtual KJob* install(ProjectBaseItem* item) = 0;
00051
00056 virtual KJob* build(ProjectBaseItem *dom) = 0;
00057
00064 virtual KJob* clean(ProjectBaseItem *dom) = 0;
00065
00073 virtual KJob* configure(IProject*);
00074
00083 virtual KJob* prune(IProject*);
00084
00085 Q_SIGNALS:
00089 void built(ProjectBaseItem *dom);
00093 void installed(ProjectBaseItem*);
00097 void cleaned(ProjectBaseItem*);
00101 void failed(ProjectBaseItem *dom);
00105 void configured(IProject*);
00109 void pruned(IProject*);
00110 };
00111
00112 }
00113
00114 KDEV_DECLARE_EXTENSION_INTERFACE_NS( KDevelop, IProjectBuilder, "org.kdevelop.IProjectBuilder" )
00115 Q_DECLARE_INTERFACE( KDevelop::IProjectBuilder, "org.kdevelop.IProjectBuilder" )
00116
00117 #endif