From 43730ec61dc280d0915a9db0fdbd38bb1cdc8f9a Mon Sep 17 00:00:00 2001 From: Glenn Smith Date: Wed, 13 Apr 2022 22:40:28 -0400 Subject: Add Database::TrimSnapshot api --- binaryninjaapi.h | 1 + binaryninjacore.h | 1 + database.cpp | 9 +++++++++ python/database.py | 4 ++++ 4 files changed, 15 insertions(+) diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 04cdfd12..95a3a677 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -962,6 +962,7 @@ namespace BinaryNinja { Ref GetCurrentSnapshot(); int64_t WriteSnapshotData(std::vector parents, Ref file, const std::string& name, const Ref& data, bool autoSave, const std::function& progress); + void TrimSnapshot(int64_t id); void RemoveSnapshot(int64_t id); std::vector GetGlobalKeys() const; diff --git a/binaryninjacore.h b/binaryninjacore.h index 05eb44fa..32c88fd2 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -2978,6 +2978,7 @@ extern "C" BINARYNINJACOREAPI int64_t BNWriteDatabaseSnapshotData(BNDatabase* database, int64_t* parents, size_t parentCount, BNBinaryView* file, const char* name, BNKeyValueStore* data, bool autoSave, void* ctxt, bool (*progress)(void*, size_t, size_t)); + BINARYNINJACOREAPI bool BNTrimDatabaseSnapshot(BNDatabase* database, int64_t id); BINARYNINJACOREAPI bool BNRemoveDatabaseSnapshot(BNDatabase* database, int64_t id); BINARYNINJACOREAPI char** BNGetDatabaseGlobalKeys(BNDatabase* database, size_t* count); BINARYNINJACOREAPI int BNDatabaseHasGlobal(BNDatabase* database, const char* key); diff --git a/database.cpp b/database.cpp index 0a846f09..326b57f2 100644 --- a/database.cpp +++ b/database.cpp @@ -403,6 +403,15 @@ int64_t Database::WriteSnapshotData(std::vector parents, Ref