aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language/moduleproviderinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/language/moduleproviderinfo.h')
-rw-r--r--src/lib/corelib/language/moduleproviderinfo.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/lib/corelib/language/moduleproviderinfo.h b/src/lib/corelib/language/moduleproviderinfo.h
index 8ed6f008d..c35ed220a 100644
--- a/src/lib/corelib/language/moduleproviderinfo.h
+++ b/src/lib/corelib/language/moduleproviderinfo.h
@@ -83,18 +83,25 @@ public:
QualifiedId name;
QVariantMap config;
QString providerFile;
+ bool isEager{true};
QStringList searchPaths;
+ QHash<QString, QStringList> searchPathsByModule;
bool transientOutput = false; // Not to be serialized.
};
-using ModuleProviderInfoList = std::vector<ModuleProviderInfo>;
+using ModuleProvidersCacheKey = std::tuple<
+ QString /*name*/,
+ QString /*moduleName*/,
+ QVariantMap /*config*/,
+ QVariantMap /*qbsModule*/,
+ int /*lookup*/
+>;
+using ModuleProvidersCache = QHash<ModuleProvidersCacheKey, ModuleProviderInfo>;
// Persistent info stored between sessions
-struct StoredModuleProviderInfo
+class StoredModuleProviderInfo
{
- using CacheKey = std::tuple<QString /*name*/, QVariantMap /*config*/, int /*lookup*/>;
- using ModuleProvidersCache = QHash<CacheKey, ModuleProviderInfo>;
-
+public:
ModuleProvidersCache providers;
template<PersistentPool::OpType opType> void completeSerializationOp(PersistentPool &pool)