summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Smith <glenn@vector35.com>2025-04-08 20:15:14 -0400
committerGlenn Smith <glenn@vector35.com>2025-04-08 20:22:38 -0400
commit5569896671215223047773321111725273168431 (patch)
tree40f7fe98e77994be8561935550922f5fbdff50fa
parent39b27a99522a2a1856b572d2b1729d38e8e65a3d (diff)
Action to push/pull all types to a Type Archive
-rw-r--r--ui/typebrowser.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/ui/typebrowser.h b/ui/typebrowser.h
index db23e22d..c319f77f 100644
--- a/ui/typebrowser.h
+++ b/ui/typebrowser.h
@@ -474,6 +474,8 @@ public:
std::optional<BinaryNinja::TypeContainer> selectedTypeContainer(bool makeSureItHasPlatform = true, bool preferView = false) const;
// Same as above, but if it returns nullopt, try again with m_data
std::optional<BinaryNinja::TypeContainer> selectedTypeContainerOrMData(bool makeSureItHasPlatform = true, bool preferView = false) const;
+ // Selected type container ids, or containers of selected types
+ std::unordered_set<std::string> selectedTypeContainerIds() const;
// TA selected or TA relevant to selected types, only if JUST ta stuff is selected and only 1 TA
std::optional<TypeArchiveRef> selectedTA() const;
@@ -512,10 +514,17 @@ public:
bool canSyncSelectedTypes();
void syncSelectedTypes();
+ bool pushTypesFromView(BinaryViewRef view, const std::unordered_set<BinaryNinja::QualifiedName>& names);
bool canPushSelectedTypes();
void pushSelectedTypes();
+ bool canPushAllTypes();
+ void pushAllTypes();
+ bool pullTypesFromView(BinaryViewRef view, const std::unordered_set<BinaryNinja::QualifiedName>& viewTypeNames);
+ bool pullTypesFromArchives(BinaryViewRef view, const std::unordered_map<std::string, std::unordered_set<std::string>>& archiveTypeIdSelection);
bool canPullSelectedTypes();
void pullSelectedTypes();
+ bool canPullAllTypes();
+ void pullAllTypes();
bool canDisassociateSelectedTypes();
void disassociateSelectedTypes();