summaryrefslogtreecommitdiff
path: root/plugins/warp/ui/shared/misc.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/warp/ui/shared/misc.h')
-rw-r--r--plugins/warp/ui/shared/misc.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/plugins/warp/ui/shared/misc.h b/plugins/warp/ui/shared/misc.h
index 35f640f5..57d71070 100644
--- a/plugins/warp/ui/shared/misc.h
+++ b/plugins/warp/ui/shared/misc.h
@@ -112,3 +112,30 @@ struct ParsedQuery
return it.value();
}
};
+
+constexpr const char* ALLOWED_TAGS_SETTING = "warp.fetcher.allowedSourceTags";
+constexpr const char* BATCH_SIZE_SETTING = "warp.fetcher.fetchBatchSize";
+
+inline std::vector<Warp::SourceTag> GetAllowedTagsFromView(const BinaryViewRef& view)
+{
+ auto settings = BinaryNinja::Settings::Instance();
+ if (!settings->Contains(ALLOWED_TAGS_SETTING))
+ return {};
+ return settings->Get<std::vector<std::string>>(ALLOWED_TAGS_SETTING, view);
+}
+
+inline void SetTagsToView(const BinaryViewRef& view, const std::vector<Warp::SourceTag>& tags)
+{
+ auto settings = BinaryNinja::Settings::Instance();
+ if (!settings->Contains(ALLOWED_TAGS_SETTING))
+ return;
+ settings->Set(ALLOWED_TAGS_SETTING, tags, view);
+}
+
+inline int GetBatchSizeFromView(const BinaryViewRef& view)
+{
+ auto settings = BinaryNinja::Settings::Instance();
+ if (!settings->Contains(BATCH_SIZE_SETTING))
+ return 100;
+ return settings->Get<uint64_t>(BATCH_SIZE_SETTING, view);
+} \ No newline at end of file