diff options
| -rw-r--r-- | binaryninjaapi.h | 4 | ||||
| -rw-r--r-- | binaryninjacore.h | 4 | ||||
| -rw-r--r-- | filemetadata.cpp | 18 | ||||
| -rw-r--r-- | python/filemetadata.py | 9 |
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() |
