From 26093c952f60de3c0510e76f28ccfc0290824eec Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Mon, 27 Apr 2015 18:55:44 -0400 Subject: Restore defined functions from database --- binaryninjaapi.h | 4 ++++ filemetadata.cpp | 15 +++++++++++++++ 2 files changed, 19 insertions(+) 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 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 FileMetadata::GetViewOfType(const string& name) +{ + BNBinaryView* view = BNGetFileViewOfType(m_file, name.c_str()); + if (!view) + return nullptr; + return new BinaryView(view); +} -- cgit v1.3.1