summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2015-03-20 22:39:14 -0400
committerRusty Wagner <rusty@vector35.com>2015-03-20 22:39:14 -0400
commite044ab55ef7204237507465074b54a113c8aae4d (patch)
treee9c39f63370b5fb83e9d662017d50aae301069e3
parentc9e5aed3001ebb119ee6f3184449327731ec0d32 (diff)
Load PDB symbols on Windows
-rw-r--r--binaryninjaapi.h4
-rw-r--r--filemetadata.cpp22
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);