diff options
Diffstat (limited to 'lldb/source/Utility/ModuleCache.h')
-rw-r--r-- | lldb/source/Utility/ModuleCache.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lldb/source/Utility/ModuleCache.h b/lldb/source/Utility/ModuleCache.h index edab6cbb29d..5b484aae523 100644 --- a/lldb/source/Utility/ModuleCache.h +++ b/lldb/source/Utility/ModuleCache.h @@ -16,6 +16,7 @@ #include "lldb/Core/Error.h" #include "lldb/Host/FileSpec.h" +#include <functional> #include <string> #include <unordered_map> @@ -44,6 +45,8 @@ class UUID; class ModuleCache { public: + using Downloader = std::function<Error (const ModuleSpec&, FileSpec&)>; + Error Put (const FileSpec &root_dir_spec, const char *hostname, @@ -57,6 +60,14 @@ public: lldb::ModuleSP &cached_module_sp, bool *did_create_ptr); + Error + GetAndPut(const FileSpec &root_dir_spec, + const char *hostname, + const ModuleSpec &module_spec, + const Downloader &downloader, + lldb::ModuleSP &cached_module_sp, + bool *did_create_ptr); + private: static FileSpec GetModuleDirectory (const FileSpec &root_dir_spec, const UUID &uuid); |