summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2015-04-27 18:55:44 -0400
committerRusty Wagner <rusty@vector35.com>2015-04-27 18:55:44 -0400
commit26093c952f60de3c0510e76f28ccfc0290824eec (patch)
treeea5992f4b1972145692fd288d009e71672d932a1
parent190c491d4f6ea4cdb089f5efee15e4fcf65715d3 (diff)
Restore defined functions from database
-rw-r--r--binaryninjaapi.h4
-rw-r--r--filemetadata.cpp15
2 files changed, 19 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 1cd89be1..ecacba34 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -282,6 +282,8 @@ namespace BinaryNinja
BNFileMetadata* GetFileObject() const { return m_file; }
+ void Close();
+
void SetNavigationHandler(NavigationHandler* handler);
std::string GetFilename() const;
@@ -306,6 +308,8 @@ namespace BinaryNinja
std::string GetCurrentView();
uint64_t GetCurrentOffset();
bool Navigate(const std::string& view, uint64_t offset);
+
+ BinaryNinja::Ref<BinaryNinja::BinaryView> GetViewOfType(const std::string& name);
};
class BinaryView;
diff --git a/filemetadata.cpp b/filemetadata.cpp
index bfa7c97a..13a285fe 100644
--- a/filemetadata.cpp
+++ b/filemetadata.cpp
@@ -158,6 +158,12 @@ FileMetadata::~FileMetadata()
}
+void FileMetadata::Close()
+{
+ BNCloseFile(m_file);
+}
+
+
void FileMetadata::SetNavigationHandler(NavigationHandler* handler)
{
BNSetFileMetadataNavigationHandler(m_file, handler->GetCallbacks());
@@ -273,3 +279,12 @@ bool FileMetadata::Navigate(const string& view, uint64_t offset)
{
return BNNavigate(m_file, view.c_str(), offset);
}
+
+
+Ref<BinaryView> FileMetadata::GetViewOfType(const string& name)
+{
+ BNBinaryView* view = BNGetFileViewOfType(m_file, name.c_str());
+ if (!view)
+ return nullptr;
+ return new BinaryView(view);
+}