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

vcs

ibasicversioncontrol.h

00001 /* This file is part of KDevelop
00002  *
00003  * Copyright 2007 Andreas Pakulat <apaku@gmx.de>
00004  * Copyright 2007 Matthew Woehlke <mw_triad@users.sourceforge.net>
00005  *
00006  * This program is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU General Public License
00008  * as published by the Free Software Foundation; either version 2
00009  * of the License, or (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
00019  * 02110-1301, USA.
00020  */
00021 
00022 #ifndef IBASICVERSIONCONTROL_H
00023 #define IBASICVERSIONCONTROL_H
00024 
00025 #include <interfaces/iextension.h>
00026 #include <kurl.h>
00027 #include "../vcsrevision.h"
00028 #include "../vcsdiff.h"
00029 
00030 class QString;
00031 
00032 namespace KDevelop
00033 {
00034 
00035 class VcsJob;
00036 class VcsMapping;
00037 class VcsLocation;
00038 class VcsImportMetadataWidget;
00049 class IBasicVersionControl
00050 {
00051 public:
00052 
00053     enum RecursionMode
00054     {
00055         Recursive    ,
00056         NonRecursive 
00057     };
00058     virtual ~IBasicVersionControl(){}
00059 
00067     virtual QString name() const = 0;
00078     virtual VcsImportMetadataWidget* createImportMetadataWidget( QWidget* parent ) = 0;
00079 
00096     virtual bool isVersionControlled( const KUrl& localLocation ) = 0;
00097 
00101     virtual VcsJob* repositoryLocation( const KUrl& localLocation ) = 0;
00102 
00110     virtual VcsJob* add( const KUrl::List& localLocations,
00111                          RecursionMode recursion = KDevelop::IBasicVersionControl::Recursive ) = 0;
00112 
00118     virtual VcsJob* remove( const KUrl::List& localLocations ) = 0;
00119 
00124     virtual VcsJob* copy( const KUrl& localLocationSrc,
00125                           const KUrl& localLocationDstn ) = 0;
00126 
00131     virtual VcsJob* move( const KUrl& localLocationSrc,
00132                           const KUrl& localLocationDst ) = 0;
00133 
00134     virtual VcsJob* status( const KUrl::List& localLocations,
00135                             RecursionMode recursion = KDevelop::IBasicVersionControl::Recursive ) = 0;
00136 
00142     virtual VcsJob* revert( const KUrl::List& localLocations,
00143                             RecursionMode recursion = KDevelop::IBasicVersionControl::Recursive ) = 0;
00144 
00155     virtual VcsJob* update( const KUrl::List& localLocations,
00156                             const VcsRevision& rev = VcsRevision::createSpecialRevision( VcsRevision::Head ),
00157                             RecursionMode recursion = KDevelop::IBasicVersionControl::Recursive ) = 0;
00158 
00162     virtual VcsJob* commit( const QString& message,
00163                             const KUrl::List& localLocations,
00164                             RecursionMode recursion = KDevelop::IBasicVersionControl::Recursive ) = 0;
00165 
00171     virtual VcsJob* diff( const VcsLocation& localOrRepoLocationSrc,
00172                           const VcsLocation& localOrRepoLocationDst,
00173                           const VcsRevision& srcRevision,
00174                           const VcsRevision& dstRevision,
00175                           VcsDiff::Type = KDevelop::VcsDiff::DiffUnified,
00176                           IBasicVersionControl::RecursionMode recursion
00177                                        = KDevelop::IBasicVersionControl::Recursive ) = 0;
00178 
00190     virtual VcsJob* log( const KUrl& localLocation,
00191                          const VcsRevision& rev = VcsRevision::createSpecialRevision( VcsRevision::Head ),
00192                          unsigned long limit = 0 ) = 0;
00193 
00205     virtual VcsJob* log( const KUrl& localLocation,
00206                          const VcsRevision& rev,
00207                          const VcsRevision& limit ) = 0;
00208 
00223     virtual VcsJob* annotate( const KUrl& localLocation,
00224                               const VcsRevision& rev = VcsRevision::createSpecialRevision( VcsRevision::Head ) ) = 0;
00225 
00231     virtual VcsJob* merge( const VcsLocation& localOrRepoLocationSrc,
00232                            const VcsLocation& localOrRepoLocationDst,
00233                            const VcsRevision& srcRevision,
00234                            const VcsRevision& dstRevision,
00235                            const KUrl& localLocation ) = 0;
00236 
00241     virtual VcsJob* resolve( const KUrl::List& localLocations,
00242                              RecursionMode recursion ) = 0;
00243 
00249     virtual VcsJob* checkout( const VcsMapping& mapping ) = 0;
00250 
00251 };
00252 
00253 }
00254 
00255 KDEV_DECLARE_EXTENSION_INTERFACE_NS( KDevelop, IBasicVersionControl, "org.kdevelop.IBasicVersionControl" )
00256 Q_DECLARE_INTERFACE( KDevelop::IBasicVersionControl, "org.kdevelop.IBasicVersionControl" )
00257 
00258 #endif
00259 

vcs

Skip menu "vcs"
  • 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