#ifndef PARSER_H #define PARSER_H #include #include #include #include "utility/file/FilePath.h" class ParserClient; class TextAccess; class Parser { public: struct Arguments { Arguments(); std::vector headerSearchPaths; std::vector systemHeaderSearchPaths; std::vector frameworkSearchPaths; std::vector compilerFlags; bool logErrors; }; Parser(ParserClient* client); virtual ~Parser(); virtual void parseFiles(const std::vector& filePaths, const Arguments& arguments) = 0; virtual void parseFile(const FilePath& filePath, std::shared_ptr textAccess, const Arguments& arguments) = 0; protected: ParserClient* m_client; }; #endif // PARSER_H