summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binaryninjaapi.h4
-rw-r--r--binaryninjacore.h4
-rw-r--r--filemetadata.cpp18
-rw-r--r--python/filemetadata.py9
4 files changed, 35 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 75d83ccc..85c9c51b 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -939,6 +939,10 @@ __attribute__ ((format (printf, 1, 2)))
std::vector<Ref<User>> GetUsers();
std::vector<UndoEntry> GetUndoEntries();
+ bool OpenProject();
+ void CloseProject();
+ bool IsProjectOpen();
+
std::string GetCurrentView();
uint64_t GetCurrentOffset();
bool Navigate(const std::string& view, uint64_t offset);
diff --git a/binaryninjacore.h b/binaryninjacore.h
index b64427ed..4eab7a44 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -2635,6 +2635,10 @@ __attribute__ ((format (printf, 1, 2)))
BINARYNINJACOREAPI char* BNGetUserEmail(BNUser* user);
BINARYNINJACOREAPI char* BNGetUserId(BNUser* user);
+ BINARYNINJACOREAPI bool BNOpenProject(BNFileMetadata* file);
+ BINARYNINJACOREAPI void BNCloseProject(BNFileMetadata* file);
+ BINARYNINJACOREAPI bool BNIsProjectOpen(BNFileMetadata* file);
+
BINARYNINJACOREAPI char* BNGetCurrentView(BNFileMetadata* file);
BINARYNINJACOREAPI uint64_t BNGetCurrentOffset(BNFileMetadata* file);
BINARYNINJACOREAPI bool BNNavigate(BNFileMetadata* file, const char* view, uint64_t offset);
diff --git a/filemetadata.cpp b/filemetadata.cpp
index 9559b041..46292095 100644
--- a/filemetadata.cpp
+++ b/filemetadata.cpp
@@ -320,6 +320,24 @@ vector<UndoEntry> FileMetadata::GetUndoEntries()
}
+bool FileMetadata::OpenProject()
+{
+ return BNOpenProject(m_object);
+}
+
+
+void FileMetadata::CloseProject()
+{
+ BNCloseProject(m_object);
+}
+
+
+bool FileMetadata::IsProjectOpen()
+{
+ return BNIsProjectOpen(m_object);
+}
+
+
string FileMetadata::GetCurrentView()
{
char* view = BNGetCurrentView(m_object);
diff --git a/python/filemetadata.py b/python/filemetadata.py
index 3f2e88ef..46a399f1 100644
--- a/python/filemetadata.py
+++ b/python/filemetadata.py
@@ -454,6 +454,15 @@ class FileMetadata(object):
return None
return binaryninja.binaryview.BinaryView(file_metadata = self, handle = view)
+ def open_project(self):
+ return core.BNOpenProject(self.handle)
+
+ def close_project(self):
+ core.BNCloseProject(self.handle)
+
+ def is_project_open(self):
+ return core.BNIsProjectOpen(self.handle)
+
@property
def existing_views(self):
length = ctypes.c_ulonglong()