File indexing completed on 2024-04-21 05:44:10
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 // lib 0012 #include "global.h" 0013 // Qt 0014 #include <QStringList> 0015 0016 namespace KompareDiff2 0017 { 0018 0019 class DiffModelList; 0020 class ModelList; 0021 0022 class Parser 0023 { 0024 public: 0025 explicit Parser(const ModelList *list); 0026 ~Parser(); 0027 0028 public: 0029 DiffModelList *parse(QStringList &diffLines, bool *malformed = nullptr); 0030 0031 Generator generator() const 0032 { 0033 return m_generator; 0034 }; 0035 0036 Format format() const 0037 { 0038 return m_format; 0039 }; 0040 0041 private: 0042 /** Which program was used to generate the output */ 0043 Generator determineGenerator(const QStringList &diffLines); 0044 0045 int cleanUpCrap(QStringList &diffLines); 0046 0047 private: 0048 Generator m_generator; 0049 Format m_format; 0050 0051 const ModelList *m_list; 0052 }; 0053 0054 } // End of namespace KompareDiff2 0055 0056 #endif