diff options
Diffstat (limited to 'view/sharedcache/ui/SharedCacheBDNotifications.cpp')
| -rw-r--r-- | view/sharedcache/ui/SharedCacheBDNotifications.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/view/sharedcache/ui/SharedCacheBDNotifications.cpp b/view/sharedcache/ui/SharedCacheBDNotifications.cpp new file mode 100644 index 00000000..f59f313c --- /dev/null +++ b/view/sharedcache/ui/SharedCacheBDNotifications.cpp @@ -0,0 +1,69 @@ +// +// Created by kat on 8/22/24. +// + +#include "SharedCacheBDNotifications.h" + + +SharedCacheBDNotifications::SharedCacheBDNotifications(Ref<BinaryView> view) + : BinaryDataNotification(FunctionUpdates | DataVariableUpdates) +{ +} + +void SharedCacheBDNotifications::OnAnalysisFunctionAdded(BinaryView* view, Function* func) +{ + // + // We just cannot do this until one of: + // "Component::AddAutoFunction" + // BinaryView::BeginIgnoredUndoActions + // some similar fix + + /* + if (view->GetTypeName() == VIEW_NAME) + { + auto sections = view->GetSectionsAt(func->GetStart()); + if (sections.size() > 0) + { + auto section = sections[0]; + auto imageName = section->GetName().substr(0, section->GetName().find("::")); + auto id = view->BeginUndoActions(); + auto comp = view->GetComponentByPath(imageName); + if (!comp) + { + comp = view->CreateComponentWithName(imageName); + } + comp.value()->AddFunction(func); + view->ForgetUndoActions(id); + } + } + */ +} + + +void SharedCacheBDNotifications::OnSectionAdded(BinaryView* data, Section* section) +{ + +} + + +void SharedCacheBDNotifications::OnDataVariableAdded(BinaryView* view, const DataVariable& var) +{ + /* + if (view->GetTypeName() == VIEW_NAME) + { + auto sections = view->GetSectionsAt(var.address); + if (sections.size() > 0) + { + auto section = sections[0]; + auto imageName = section->GetName().substr(0, section->GetName().find("::")); + auto comp = view->GetComponentByPath(imageName); + auto id = view->BeginUndoActions(); + if (!comp) + { + comp = view->CreateComponentWithName(imageName); + } + comp.value()->AddDataVariable(var); + view->ForgetUndoActions(id); + } + }*/ +} |
