summaryrefslogtreecommitdiffstats
path: root/lldb/source/Utility/ModuleCache.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Utility/ModuleCache.h')
-rw-r--r--lldb/source/Utility/ModuleCache.h11
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);
OpenPOWER on IntegriCloud