diff options
Diffstat (limited to 'src/lib/corelib/language/moduleproviderinfo.h')
-rw-r--r-- | src/lib/corelib/language/moduleproviderinfo.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/lib/corelib/language/moduleproviderinfo.h b/src/lib/corelib/language/moduleproviderinfo.h index 4f757d3d9..8ed6f008d 100644 --- a/src/lib/corelib/language/moduleproviderinfo.h +++ b/src/lib/corelib/language/moduleproviderinfo.h @@ -76,17 +76,33 @@ public: template<PersistentPool::OpType opType> void completeSerializationOp(PersistentPool &pool) { - pool.serializationOp<opType>(reinterpret_cast<QStringList &>(name), config, searchPaths); + pool.serializationOp<opType>( + reinterpret_cast<QStringList &>(name), config, providerFile, searchPaths); } QualifiedId name; QVariantMap config; + QString providerFile; QStringList searchPaths; bool transientOutput = false; // Not to be serialized. }; using ModuleProviderInfoList = std::vector<ModuleProviderInfo>; +// Persistent info stored between sessions +struct StoredModuleProviderInfo +{ + using CacheKey = std::tuple<QString /*name*/, QVariantMap /*config*/, int /*lookup*/>; + using ModuleProvidersCache = QHash<CacheKey, ModuleProviderInfo>; + + ModuleProvidersCache providers; + + template<PersistentPool::OpType opType> void completeSerializationOp(PersistentPool &pool) + { + pool.serializationOp<opType>(providers); + } +}; + } // namespace Internal } // namespace qbs |