1 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2    file Copyright.txt or https://cmake.org/licensing for details.  */
3 #pragma once
4 
5 #include "cmConfigure.h" // IWYU pragma: keep
6 
7 #include <string>
8 #include <vector>
9 
10 class cmCTest;
11 class cmCTestCoverageHandlerContainer;
12 
13 /** \class cmParseDelphiCoverage
14  * \brief Parse Delphi coverage information
15  *
16  * This class is used to parse Delphi(Pascal) coverage information
17  * generated by the Delphi-Code-Coverage tool
18  *
19  * https://code.google.com/p/delphi-code-coverage/
20  */
21 
22 class cmParseDelphiCoverage
23 {
24 public:
25   cmParseDelphiCoverage(cmCTestCoverageHandlerContainer& cont, cmCTest* ctest);
26   bool LoadCoverageData(std::vector<std::string> const& files);
27   bool ReadDelphiHTML(const char* file);
28   // Read a single HTML file from output
29   bool ReadHTMLFile(const char* f);
30 
31 protected:
32   class HTMLParser;
33 
34   cmCTestCoverageHandlerContainer& Coverage;
35   cmCTest* CTest;
36 };
37