From da698e7e15231ea1af75aab36cd87d03ae842424 Mon Sep 17 00:00:00 2001 From: Xusheng Date: Thu, 23 May 2024 15:52:36 +0800 Subject: Add a rebased callback for binary view --- binaryview.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'binaryview.cpp') diff --git a/binaryview.cpp b/binaryview.cpp index 68e6206b..0fd19d6d 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -523,6 +523,15 @@ void BinaryDataNotification::RedoEntryTakenCallback(void* ctxt, BNBinaryView* da } +void BinaryDataNotification::RebasedCallback(void *ctxt, BNBinaryView *oldView, BNBinaryView *newView) +{ + BinaryDataNotification* notify = (BinaryDataNotification*)ctxt; + Ref view1 = new BinaryView(BNNewViewReference(oldView)); + Ref view2 = new BinaryView(BNNewViewReference(newView)); + notify->OnRebased(view1, view2); +} + + BinaryDataNotification::BinaryDataNotification() { m_callbacks.context = this; @@ -578,6 +587,7 @@ BinaryDataNotification::BinaryDataNotification() m_callbacks.undoEntryAdded = UndoEntryAddedCallback; m_callbacks.undoEntryTaken = UndoEntryTakenCallback; m_callbacks.redoEntryTaken = RedoEntryTakenCallback; + m_callbacks.rebased = RebasedCallback; } @@ -636,6 +646,7 @@ BinaryDataNotification::BinaryDataNotification(NotificationTypes notifications) m_callbacks.undoEntryAdded = (notifications & NotificationType::UndoEntryAdded) ? UndoEntryAddedCallback : nullptr; m_callbacks.undoEntryTaken = (notifications & NotificationType::UndoEntryTaken) ? UndoEntryTakenCallback : nullptr; m_callbacks.redoEntryTaken = (notifications & NotificationType::RedoEntryTaken) ? RedoEntryTakenCallback : nullptr; + m_callbacks.rebased = (notifications & NotificationType::Rebased) ? RebasedCallback : nullptr; } -- cgit v1.3.1