diff options
| -rw-r--r-- | binaryninjaapi.h | 4 | ||||
| -rw-r--r-- | filemetadata.cpp | 22 |
2 files changed, 26 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 8ec7a5f9..a0dfe693 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -230,6 +230,7 @@ namespace BinaryNinja public: FileMetadata(); + FileMetadata(const std::string& filename); FileMetadata(BNFileMetadata* file); ~FileMetadata(); @@ -237,6 +238,9 @@ namespace BinaryNinja void SetNavigationHandler(NavigationHandler* handler); + const std::string& GetFilename() const; + void SetFilename(const std::string& name); + bool IsModified() const; void MarkFileModified(); void MarkFileSaved(); diff --git a/filemetadata.cpp b/filemetadata.cpp index b214e826..2a563f40 100644 --- a/filemetadata.cpp +++ b/filemetadata.cpp @@ -61,6 +61,13 @@ FileMetadata::FileMetadata() } +FileMetadata::FileMetadata(const string& filename) +{ + m_file = BNCreateFileMetadata(); + BNSetFilename(m_file, filename.c_str()); +} + + FileMetadata::FileMetadata(BNFileMetadata* file) { m_file = file; @@ -79,6 +86,21 @@ void FileMetadata::SetNavigationHandler(NavigationHandler* handler) } +const string& FileMetadata::GetFilename() const +{ + char* str = BNGetFilename(m_file); + string result = str; + BNFreeString(str); + return result; +} + + +void FileMetadata::SetFilename(const string& name) +{ + BNSetFilename(m_file, name.c_str()); +} + + bool FileMetadata::IsModified() const { return BNIsFileModified(m_file); |
