#pragma once #include "ModuleVersion.h" #include #include #include #include struct Module { std::string moduleId; ModuleVersion version; std::set filePaths; }; class IModuleDatabase { public: virtual std::map listModules() = 0; virtual boost::optional findModule(const std::string& moduleId) = 0; virtual void storeModule(const Module& module) = 0; public: virtual ~IModuleDatabase() {} };