#ifndef COATI_SOLUTIONPARSERCOMPILATIONDATABASE_H #define COATI_SOLUTIONPARSERCOMPILATIONDATABASE_H #include "utility/solution/ISolutionParser.h" #include #include class FilePath; namespace clang { namespace tooling { class JSONCompilationDatabase; } } class SolutionParserCompilationDatabase : public ISolutionParser { public: SolutionParserCompilationDatabase(); ~SolutionParserCompilationDatabase(); virtual std::string getSolutionName(); virtual std::vector getProjects(); virtual std::vector getProjectFiles(); virtual std::vector getProjectItems(); virtual std::vector getIncludePaths(); private: std::shared_ptr m_database; clang::tooling::JSONCompilationDatabase* getDatabase(); std::string getIncludePath(const std::string& argument, const std::string& dir); }; #endif //COATI_SOLUTIONPARSERCOMPILATIONDATABASE_H