/usr/include/kdevplatform/vcs/vcsdiff.h is in kdevelop-dev 4:5.2.1-1ubuntu4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | /* This file is part of KDevelop
*
* Copyright 2007 Andreas Pakulat <apaku@gmx.de>
* Copyright 2007 Matthew Woehlke <mw_triad@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef KDEVPLATFORM_VCSDIFF_H
#define KDEVPLATFORM_VCSDIFF_H
//Needed first as it provides a hash-function for QHash
#include "vcslocation.h"
#include <QHash>
#include "vcsexport.h"
class QString;
class QByteArray;
namespace KDevelop
{
class KDEVPLATFORMVCS_EXPORT VcsDiff
{
public:
/**
* Specify the type of difference the diff() method should create. Note that a
* request for DiffUnified may not be honored, e.g. if the items being diffed are
* binary rather than text.
*/
enum Type
{
DiffRaw /**< Request complete copies of both items. */,
DiffUnified /**< Request copy of first item with diff. */,
DiffDontCare /**< Don't care; plugin will return whichever is easiest. */
};
enum Content
{
Binary /**< Binary diff, using the full content of both files.*/,
Text /**< Textual diff.*/
};
VcsDiff();
virtual ~VcsDiff();
VcsDiff( const VcsDiff& );
/**
* @returns the type of diff, i.e. raw or unified
*/
Type type() const;
/**
* @returns the content type, i.e. binary or text
*/
Content contentType() const;
/**
* @returns the binary content of the first file of the difference or
* an empty QByteArray if this is a textual diff
*/
QHash<KDevelop::VcsLocation, QByteArray> leftBinaries() const;
/**
* @returns the binary content of the second file of the difference or
* an empty QByteArray if this is a textual diff
*/
QHash<KDevelop::VcsLocation, QByteArray> rightBinaries() const;
/**
* @returns the textual content of the first file of the difference or
* an empty QString if this is a binary diff
*/
QHash<KDevelop::VcsLocation, QString> leftTexts() const;
/**
* @returns the textual content of the second file of the difference or
* an empty QString if this is a unified or binary diff
*/
QHash<KDevelop::VcsLocation, QString> rightTexts() const;
/**
* @returns the difference between the first and the second file in
* unified diff format or an empty QString if this is a binary diff
* or a textual diff using raw format
*/
QString diff() const;
/** @returns the base directory of the diff. */
QUrl baseDiff() const;
/**
* Depth - number of directories to left-strip from paths in the patch - see "patch -p"
* Defaults to 0
*/
uint depth() const;
/** Sets the base directory of the diff to the @p url */
void setBaseDiff(const QUrl& url) const;
/** Sets the depth of the diff to @p depth */
void setDepth(const uint depth) const;
void setDiff( const QString& );
void addLeftBinary( const KDevelop::VcsLocation&, const QByteArray& );
void removeLeftBinary( const KDevelop::VcsLocation& );
void addRightBinary( const KDevelop::VcsLocation&, const QByteArray& );
void removeRightBinary( const KDevelop::VcsLocation& );
void addLeftText( const KDevelop::VcsLocation&, const QString& );
void removeLeftText( const KDevelop::VcsLocation& );
void addRightText( const KDevelop::VcsLocation&, const QString& );
void removeRightText( const KDevelop::VcsLocation& );
void setType( Type );
void setContentType( Content );
VcsDiff& operator=( const VcsDiff& rhs);
/** @returns whether there are not changes on the diff */
bool isEmpty() const;
private:
const QScopedPointer<class VcsDiffPrivate> d;
};
}
Q_DECLARE_METATYPE( KDevelop::VcsDiff )
#endif
|