From de77d8ad64a3ed39e362f4fa979132d47d5a056c Mon Sep 17 00:00:00 2001 From: Josh Ferrell Date: Fri, 10 Jul 2020 14:07:48 -0400 Subject: Add save settings --- binaryninjaapi.h | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'binaryninjaapi.h') diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 0328b58f..195f9089 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -874,6 +874,17 @@ __attribute__ ((format (printf, 1, 2))) MergeResult(const BNMergeResult& result); }; + class SaveSettings: public CoreRefCountObject + { + public: + SaveSettings(); + SaveSettings(BNSaveSettings* settings); + + bool IsOptionSet(BNSaveOption option) const; + void SetOption(BNSaveOption option, bool state = true); + }; + class FileMetadata: public CoreRefCountObject { public: @@ -897,16 +908,16 @@ __attribute__ ((format (printf, 1, 2))) void MarkFileSaved(); bool IsBackedByDatabase() const; - bool CreateDatabase(const std::string& name, BinaryView* data, bool clean = false); + bool CreateDatabase(const std::string& name, BinaryView* data, Ref settings); bool CreateDatabase(const std::string& name, BinaryView* data, - const std::function& progressCallback, bool clean = false); + const std::function& progressCallback, Ref settings); Ref OpenExistingDatabase(const std::string& path); Ref OpenExistingDatabase(const std::string& path, const std::function& progressCallback); Ref OpenDatabaseForConfiguration(const std::string& path); - bool SaveAutoSnapshot(BinaryView* data, bool clean = false); + bool SaveAutoSnapshot(BinaryView* data, Ref settings); bool SaveAutoSnapshot(BinaryView* data, - const std::function& progressCallback, bool clean = false); + const std::function& progressCallback, Ref settings); bool Rebase(BinaryView* data, uint64_t address); bool Rebase(BinaryView* data, uint64_t address, const std::function& progressCallback); @@ -1450,11 +1461,11 @@ __attribute__ ((format (printf, 1, 2))) bool IsModified() const; bool IsAnalysisChanged() const; bool IsBackedByDatabase() const; - bool CreateDatabase(const std::string& path, bool clean = false); + bool CreateDatabase(const std::string& path, Ref settings = new SaveSettings()); bool CreateDatabase(const std::string& path, - const std::function& progressCallback, bool clean = false); - bool SaveAutoSnapshot(bool clean = false); - bool SaveAutoSnapshot(const std::function& progressCallback, bool clean = false); + const std::function& progressCallback, Ref settings = new SaveSettings()); + bool SaveAutoSnapshot(Ref settings = new SaveSettings()); + bool SaveAutoSnapshot(const std::function& progressCallback, Ref settings = new SaveSettings()); void BeginUndoActions(); void AddUndoAction(UndoAction* action); -- cgit v1.3.1