summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorJosh Ferrell <josh@vector35.com>2020-07-10 14:07:48 -0400
committerJosh Ferrell <josh@vector35.com>2020-07-10 14:07:48 -0400
commitde77d8ad64a3ed39e362f4fa979132d47d5a056c (patch)
tree0966d00826570f9c51ead0ad5eab278c09d2301b /binaryninjaapi.h
parent045c1a93d032e96ef5647db51803efcd08b6551b (diff)
Add save settings
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h27
1 files changed, 19 insertions, 8 deletions
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<BNSaveSettings,
+ BNNewSaveSettingsReference, BNFreeSaveSettings>
+ {
+ public:
+ SaveSettings();
+ SaveSettings(BNSaveSettings* settings);
+
+ bool IsOptionSet(BNSaveOption option) const;
+ void SetOption(BNSaveOption option, bool state = true);
+ };
+
class FileMetadata: public CoreRefCountObject<BNFileMetadata, BNNewFileReference, BNFreeFileMetadata>
{
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<SaveSettings> settings);
bool CreateDatabase(const std::string& name, BinaryView* data,
- const std::function<void(size_t progress, size_t total)>& progressCallback, bool clean = false);
+ const std::function<void(size_t progress, size_t total)>& progressCallback, Ref<SaveSettings> settings);
Ref<BinaryView> OpenExistingDatabase(const std::string& path);
Ref<BinaryView> OpenExistingDatabase(const std::string& path,
const std::function<void(size_t progress, size_t total)>& progressCallback);
Ref<BinaryView> OpenDatabaseForConfiguration(const std::string& path);
- bool SaveAutoSnapshot(BinaryView* data, bool clean = false);
+ bool SaveAutoSnapshot(BinaryView* data, Ref<SaveSettings> settings);
bool SaveAutoSnapshot(BinaryView* data,
- const std::function<void(size_t progress, size_t total)>& progressCallback, bool clean = false);
+ const std::function<void(size_t progress, size_t total)>& progressCallback, Ref<SaveSettings> settings);
bool Rebase(BinaryView* data, uint64_t address);
bool Rebase(BinaryView* data, uint64_t address, const std::function<void(size_t progress, size_t total)>& 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<SaveSettings> settings = new SaveSettings());
bool CreateDatabase(const std::string& path,
- const std::function<void(size_t progress, size_t total)>& progressCallback, bool clean = false);
- bool SaveAutoSnapshot(bool clean = false);
- bool SaveAutoSnapshot(const std::function<void(size_t progress, size_t total)>& progressCallback, bool clean = false);
+ const std::function<void(size_t progress, size_t total)>& progressCallback, Ref<SaveSettings> settings = new SaveSettings());
+ bool SaveAutoSnapshot(Ref<SaveSettings> settings = new SaveSettings());
+ bool SaveAutoSnapshot(const std::function<void(size_t progress, size_t total)>& progressCallback, Ref<SaveSettings> settings = new SaveSettings());
void BeginUndoActions();
void AddUndoAction(UndoAction* action);