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_DIFFDELTA_H 0020 #define LIBQGIT2_DIFFDELTA_H 0021 0022 #include "libqgit2_export.h" 0023 0024 #include "git2.h" 0025 0026 namespace LibQGit2 { 0027 0028 class DiffFile; 0029 0030 /** 0031 * @brief Wrapper class for git_diff_delta. 0032 * 0033 * @ingroup LibQGit2 0034 * @{ 0035 */ 0036 class LIBQGIT2_EXPORT DiffDelta 0037 { 0038 public: 0039 DiffDelta(const git_diff_delta *d); 0040 0041 enum Type { 0042 Unknown = GIT_DELTA_UNMODIFIED - 1, ///< unknown type 0043 Unmodified = GIT_DELTA_UNMODIFIED, ///< no changes 0044 Added = GIT_DELTA_ADDED, ///< entry does not exist in old version 0045 Deleted = GIT_DELTA_DELETED, ///< entry does not exist in new version 0046 Modified = GIT_DELTA_MODIFIED, ///< entry content changed between old and new 0047 Renamed = GIT_DELTA_RENAMED, ///< entry was renamed between old and new 0048 Copied = GIT_DELTA_COPIED, ///< entry was copied from another old entry 0049 Ignored = GIT_DELTA_IGNORED, ///< entry is ignored item in workdir 0050 Untracked = GIT_DELTA_UNTRACKED, ///< entry is untracked item in workdir 0051 Typechange = GIT_DELTA_TYPECHANGE, ///< type of entry changed between old and new 0052 }; 0053 0054 /** 0055 * Gets the type of this delta. 0056 */ 0057 Type type() const; 0058 0059 /** 0060 * Returns the information of the file on the "old" side of the diff. 0061 */ 0062 DiffFile oldFile() const; 0063 0064 /** 0065 * Returns the information of the file on the "new" side of the diff. 0066 */ 0067 DiffFile newFile() const; 0068 0069 private: 0070 const git_diff_delta *m_diff_delta; 0071 }; 0072 0073 /** @} */ 0074 0075 } 0076 0077 #endif // LIBQGIT2_DIFFDELTA_H