File indexing completed on 2024-05-12 04:38:53
0001 /* 0002 SPDX-FileCopyrightText: 2007 Andreas Pakulat <apaku@gmx.de> 0003 SPDX-FileCopyrightText: 2007 Matthew Woehlke <mw_triad@users.sourceforge.net> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef KDEVPLATFORM_IREPOSITORYVERSIONCONTROL_H 0009 #define KDEVPLATFORM_IREPOSITORYVERSIONCONTROL_H 0010 0011 #include <QObject> 0012 0013 class QString; 0014 class QStringList; 0015 0016 namespace KDevelop 0017 { 0018 0019 class VcsRevision; 0020 class VcsJob; 0021 0022 class IRepositoryVersionControl 0023 { 0024 public: 0025 virtual ~IRepositoryVersionControl() {} 0026 0027 /** 0028 * Copies the source location in the repository to the destination 0029 */ 0030 virtual VcsJob* copy( const QString& commitMessage, 0031 const QString& repoSrc, 0032 const QString& repoDst, 0033 const VcsRevision& srcRev ) = 0; 0034 0035 /** 0036 * Moves the source location in the repository to the destination 0037 */ 0038 virtual VcsJob* move( const QString& commitMessage, 0039 const QString& repoSrc, 0040 const QString& repoDst, 0041 const VcsRevision& srcRev ) = 0; 0042 0043 0044 /** 0045 * Removes the source locations in the repository 0046 */ 0047 virtual VcsJob* remove( const QString& commitMessage, 0048 const QStringList& repoLocations ) = 0; 0049 }; 0050 0051 } 0052 0053 Q_DECLARE_INTERFACE( KDevelop::IRepositoryVersionControl, "org.kdevelop.IRepositoryVersionControl" ) 0054 0055 #endif 0056