• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • KDevelop Platform Libraries
  • Sitemap
  • Contact Us
 

project

iprojectbuilder.h

00001 /* This file is part of KDevelop
00002     Copyright 2004 Roberto Raggi <roberto@kdevelop.org>
00003     Copyright 2007 Andreas Pakulat <apaku@gmx.de>
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Library General Public
00007     License as published by the Free Software Foundation; either
00008     version 2 of the License, or (at your option) any later version.
00009 
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     Library General Public License for more details.
00014 
00015     You should have received a copy of the GNU Library General Public License
00016     along with this library; see the file COPYING.LIB.  If not, write to
00017     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018     Boston, MA 02110-1301, USA.
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

project

Skip menu "project"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

KDevelop Platform Libraries

Skip menu "KDevelop Platform Libraries"
  • interfaces
  • language
  •   duchain
  •   editor
  • outputview
  • project
  • shell
  • sublime
  • util
  • vcs
Generated for KDevelop Platform Libraries by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal