summaryrefslogtreecommitdiff
path: root/filemetadata.cpp
diff options
context:
space:
mode:
authorJosh Ferrell <josh@vector35.com>2024-01-22 16:11:19 -0500
committerJosh Ferrell <josh@vector35.com>2024-01-22 16:11:19 -0500
commit3dd22f40996fc128ffce6026e8e747ca66bcc21d (patch)
treea5e7fc57dc620fc4d4a408ffdbf114bb66dcf91d /filemetadata.cpp
parent96053ffc711aa27fcaeeb6cbfa89df0c253361f8 (diff)
Project support
Diffstat (limited to 'filemetadata.cpp')
-rw-r--r--filemetadata.cpp42
1 files changed, 24 insertions, 18 deletions
diff --git a/filemetadata.cpp b/filemetadata.cpp
index 89e759af..656fbce7 100644
--- a/filemetadata.cpp
+++ b/filemetadata.cpp
@@ -19,6 +19,7 @@
// IN THE SOFTWARE.
#include <cstring>
#include "binaryninjaapi.h"
+#include "binaryninjacore.h"
using namespace BinaryNinja;
using namespace Json;
@@ -69,6 +70,14 @@ FileMetadata::FileMetadata(const string& filename)
}
+FileMetadata::FileMetadata(Ref<ProjectFile> projectFile)
+{
+ m_object = BNCreateFileMetadata();
+ BNSetProjectFile(m_object, projectFile->m_object);
+ BNSetFilename(m_object, projectFile->GetPathOnDisk().c_str());
+}
+
+
FileMetadata::FileMetadata(BNFileMetadata* file)
{
m_object = file;
@@ -489,24 +498,6 @@ void FileMetadata::ClearUndoEntries()
}
-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);
@@ -569,6 +560,21 @@ void FileMetadata::UnregisterViewOfType(const std::string& type, BinaryNinja::Re
}
+void FileMetadata::SetProjectFile(Ref<ProjectFile> projectFile)
+{
+ BNSetProjectFile(m_object, projectFile ? projectFile->m_object : nullptr);
+}
+
+
+Ref<ProjectFile> FileMetadata::GetProjectFile() const
+{
+ BNProjectFile* bin = BNGetProjectFile(m_object);
+ if (!bin)
+ return nullptr;
+ return new ProjectFile(bin);
+}
+
+
SaveSettings::SaveSettings()
{
m_object = BNCreateSaveSettings();