Add line for debugging
[kdevelopdvcssupport.git] / vcs / vcsmapping.h
blobacbea678fad69ba8a5b629c8ae92f73b29c48fbd
1 /* This file is part of KDevelop
3 * Copyright 2007 Andreas Pakulat <apaku@gmx.de>
4 * Copyright 2007 Matthew Woehlke <mw_triad@users.sourceforge.net>
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 * 02110-1301, USA.
22 #ifndef VCSMAPPING_H
23 #define VCSMAPPING_H
25 #include <QtCore/QVariant>
27 #include <kurl.h>
29 #include "vcsexport.h"
31 class QString;
32 class QStringList;
34 namespace KDevelop
37 class VcsLocation;
39 /**
40 * This class stores mappings of vcs locations. Usually one location is a local
41 * location, the other is a repository location.
43 class KDEVPLATFORMVCS_EXPORT VcsMapping
45 public:
46 enum MappingFlag
48 Recursive = 1 /**< do a recursive mapping */,
49 NonRecursive = 2 /**< do a non-recursive mapping */
52 VcsMapping();
53 virtual ~VcsMapping();
54 VcsMapping(const VcsMapping&);
56 void addMapping( const VcsLocation& sourceLocation,
57 const VcsLocation& destinationLocation,
58 MappingFlag recursion );
59 void removeMapping( const VcsLocation& sourceLocation);
60 QList<VcsLocation> sourceLocations() const;
61 VcsLocation destinationLocation( const VcsLocation& sourceLocation ) const;
62 MappingFlag mappingFlag( const VcsLocation& sourceLocation ) const;
64 VcsMapping& operator=( const VcsMapping& rhs);
65 private:
66 class VcsMappingPrivate* const d;
71 Q_DECLARE_METATYPE( KDevelop::VcsMapping )
73 #endif