File indexing completed on 2024-05-12 04:39:19

0001 #ifndef KDEV_CLANG_TEST_PROVIDER_H
0002 #define KDEV_CLANG_TEST_PROVIDER_H
0003 
0004 #include <custom-definesandincludes/idefinesandincludesmanager.h>
0005 
0006 #include <QHash>
0007 
0008 class TestEnvironmentProvider final : public KDevelop::IDefinesAndIncludesManager::BackgroundProvider
0009 {
0010 public:
0011     ~TestEnvironmentProvider() override = default;
0012     QHash<QString, QString> definesInBackground(const QString& /*path*/) const override
0013     {
0014         return defines;
0015     }
0016 
0017     KDevelop::Path::List includesInBackground(const QString& /*path*/) const override
0018     {
0019         return includes;
0020     }
0021 
0022     KDevelop::Path::List frameworkDirectoriesInBackground(const QString&) const override
0023     {
0024         return {};
0025     }
0026 
0027     KDevelop::IDefinesAndIncludesManager::Type type() const override
0028     {
0029         return KDevelop::IDefinesAndIncludesManager::UserDefined;
0030     }
0031 
0032     QString parserArgumentsInBackground(const QString&) const override
0033     {
0034         return parserArguments;
0035     }
0036 
0037     void clear()
0038     {
0039         defines.clear();
0040         includes.clear();
0041         parserArguments.clear();
0042     }
0043 
0044     QHash<QString, QString> defines;
0045     KDevelop::Path::List includes;
0046     QString parserArguments;
0047 };
0048 
0049 #endif // KDEV_CLANG_TEST_PROVIDER_H
0050