diff options
| -rw-r--r-- | binaryninjaapi.h | 2 | ||||
| -rw-r--r-- | binaryninjacore.h | 2 | ||||
| -rw-r--r-- | filemetadata.cpp | 26 |
3 files changed, 30 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 5c04816b..964e0636 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -1530,6 +1530,8 @@ namespace BinaryNinja { std::vector<UndoEntry> GetRedoEntries(); std::optional<UndoEntry> GetLastUndoEntry(); std::optional<UndoEntry> GetLastRedoEntry(); + std::optional<std::string> GetLastUndoEntryTitle(); + std::optional<std::string> GetLastRedoEntryTitle(); void ClearUndoEntries(); bool OpenProject(); diff --git a/binaryninjacore.h b/binaryninjacore.h index 0087c9bf..fcd7deb4 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -3192,6 +3192,8 @@ extern "C" BINARYNINJACOREAPI BNUndoEntry* BNGetRedoEntries(BNFileMetadata* file, size_t* count); BINARYNINJACOREAPI BNUndoEntry BNGetLastUndoEntry(BNFileMetadata* file); BINARYNINJACOREAPI BNUndoEntry BNGetLastRedoEntry(BNFileMetadata* file); + BINARYNINJACOREAPI char* BNGetLastUndoEntryTitle(BNFileMetadata* file); + BINARYNINJACOREAPI char* BNGetLastRedoEntryTitle(BNFileMetadata* file); BINARYNINJACOREAPI void BNFreeUndoEntries(BNUndoEntry* entries, size_t count); BINARYNINJACOREAPI void BNClearUndoEntries(BNFileMetadata* file); diff --git a/filemetadata.cpp b/filemetadata.cpp index 5d01c3b0..9b1dfee3 100644 --- a/filemetadata.cpp +++ b/filemetadata.cpp @@ -453,6 +453,32 @@ std::optional<UndoEntry> FileMetadata::GetLastRedoEntry() } +std::optional<std::string> FileMetadata::GetLastUndoEntryTitle() +{ + char* title = BNGetLastUndoEntryTitle(m_object); + if (!title) + { + return std::nullopt; + } + std::string titleStr = title; + BNFreeString(title); + return titleStr; +} + + +std::optional<std::string> FileMetadata::GetLastRedoEntryTitle() +{ + char* title = BNGetLastRedoEntryTitle(m_object); + if (!title) + { + return std::nullopt; + } + std::string titleStr = title; + BNFreeString(title); + return titleStr; +} + + void FileMetadata::ClearUndoEntries() { BNClearUndoEntries(m_object); |
