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
25 #include <QtCore/QVariant>
29 #include "vcsexport.h"
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
48 Recursive
= 1 /**< do a recursive mapping */,
49 NonRecursive
= 2 /**< do a non-recursive mapping */
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
);
66 class VcsMappingPrivate
* const d
;
71 Q_DECLARE_METATYPE( KDevelop::VcsMapping
)