File indexing completed on 2024-04-28 16:01:31

0001 /******************************************************************************
0002  * This file is part of the libqgit2 library
0003  *
0004  * This library is free software; you can redistribute it and/or
0005  * modify it under the terms of the GNU Lesser General Public
0006  * License as published by the Free Software Foundation; either
0007  * version 2.1 of the License, or (at your option) any later version.
0008  *
0009  * This library is distributed in the hope that it will be useful,
0010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012  * Lesser General Public License for more details.
0013  *
0014  * You should have received a copy of the GNU Lesser General Public
0015  * License along with this library; if not, write to the Free Software
0016  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0017  */
0018 
0019 #ifndef LIBQGIT2_DIFF_H
0020 #define LIBQGIT2_DIFF_H
0021 
0022 #include <QSharedPointer>
0023 
0024 #include "git2.h"
0025 
0026 #include "libqgit2_export.h"
0027 
0028 namespace LibQGit2
0029 {
0030 
0031 class DiffDelta;
0032 
0033 /**
0034  * This class represents a diff.
0035  */
0036 class LIBQGIT2_EXPORT Diff
0037 {
0038 public:
0039     Diff(git_diff *diff = 0);
0040 
0041     /**
0042      * @brief Get the number of \c DiffDelta objects in this \c Diff.
0043      */
0044     size_t numDeltas() const;
0045 
0046     /**
0047      * @brief Get the \c DiffDelta for the specified index.
0048      *
0049      * If the given \a index is not on a valid range then a \c NULL \c DiffDelta
0050      * object is returned.
0051      *
0052      * @param index an index from the interval 0 <= index < numDeltas().
0053      * @return The \c DiffDelta member.
0054      */
0055     DiffDelta delta(size_t index) const;
0056 
0057 public:
0058     QSharedPointer<git_diff> d;
0059 };
0060 
0061 }
0062 
0063 #endif // LIBQGIT2_DIFF_H