File indexing completed on 2024-05-05 10:06:13
0001 /* 0002 SPDX-FileCopyrightText: 2002-2004 Otto Bruggeman <otto.bruggeman@home.nl> 0003 SPDX-FileCopyrightText: 2010 Kevin Kofler <kevin.kofler@chello.at> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef KOMPAREDIFF2_PARSER_H 0009 #define KOMPAREDIFF2_PARSER_H 0010 0011 #include "kompare.h" 0012 0013 namespace Diff2 0014 { 0015 0016 class DiffModelList; 0017 class KompareModelList; 0018 0019 class Parser 0020 { 0021 public: 0022 explicit Parser(const KompareModelList* list); 0023 ~Parser(); 0024 0025 public: 0026 DiffModelList* parse(QStringList& diffLines, bool* malformed = nullptr); 0027 0028 enum Kompare::Generator generator() const { return m_generator; }; 0029 enum Kompare::Format format() const { return m_format; }; 0030 0031 private: 0032 /** Which program was used to generate the output */ 0033 enum Kompare::Generator determineGenerator(const QStringList& diffLines); 0034 0035 int cleanUpCrap(QStringList& diffLines); 0036 0037 private: 0038 enum Kompare::Generator m_generator; 0039 enum Kompare::Format m_format; 0040 0041 const KompareModelList* m_list; 0042 }; 0043 0044 } // End of namespace Diff2 0045 0046 #endif 0047