Class MergeManagerPlugin

java.lang.Object
ghidra.framework.plugintool.Plugin
ghidra.app.merge.MergeManagerPlugin
All Implemented Interfaces:
ProgramaticUseOnly, DomainObjectListener, PluginEventListener, ServiceListener, ExtensionPoint, EventListener
Direct Known Subclasses:
DataTypeArchiveMergeManagerPlugin, ProgramMergeManagerPlugin

public abstract class MergeManagerPlugin extends Plugin implements ProgramaticUseOnly, DomainObjectListener
Plugin that provides a merge component provider.
  • Field Details

    • mergeManager

      protected MergeManager mergeManager
    • provider

      protected ghidra.app.merge.MergeManagerProvider provider
    • currentDomainObject MODIFIED

      protected DomainObject currentDomainObject
      type: UndoableDomainObject → DomainObject
      -ghidra.framework.model.UndoableDomainObject currentDomainObject
      +ghidra.framework.model.DomainObject currentDomainObject
  • Constructor Details

    • MergeManagerPlugin

      public MergeManagerPlugin(PluginTool tool, MergeManager mergeManager, DomainObject domainObject)
      Constructor for plugin that handles multi-user merge of programs.
      Parameters:
      tool - the tool with the active program to be merged
      mergeManager - the merge manager that will control the merge process
      domainObject - the current domain object
  • Method Details

    • createProvider

      public abstract ghidra.app.merge.MergeManagerProvider createProvider()
      Creates the provider that will be displayed in the merge tool. This shows the merge progress to the user and lets the user resolve conflicts. Any class that extends this plugin must provide its own MergeManagerProvider here that will be shown to the user for the merge.
      Returns:
      the merge provider associated with this plugin.
    • processEvent

      public abstract void processEvent(PluginEvent event)
      Description copied from class: Plugin
      Method called to process a plugin event. Plugins should override this method if the plugin processes PluginEvents;
      Overrides:
      processEvent in class Plugin
      Parameters:
      event - plugin to process
    • dispose

      protected void dispose()
      Description copied from class: Plugin
      Tells a plugin that it is no longer needed. The plugin should release any resources that it has. All actions, components, services will automatically be cleaned up.
      Overrides:
      dispose in class Plugin
    • getDescription

      public static String getDescription()
    • getDescriptiveName

      public static String getDescriptiveName()
    • getCategory

      public static String getCategory()
    • canClose

      protected boolean canClose()
      Description copied from class: Plugin
      Called to force this plugin to terminate any tasks it has running and apply any unsaved data to domain objects or files. If it can't do this or the user cancels then this returns false.
      Overrides:
      canClose in class Plugin
      Returns:
      true if this plugin can close.
    • domainObjectChanged

      public void domainObjectChanged(DomainObjectChangedEvent ev)
      Description copied from interface: DomainObjectListener
      Method called when a change is made to the domain object.
      Specified by:
      domainObjectChanged in interface DomainObjectListener
      Parameters:
      ev - event containing the change record and type of change that was made
    • closeAllDomainObjects

      public boolean closeAllDomainObjects(boolean ignoreChanges)
    • closeDomainObject

      public boolean closeDomainObject()
    • closeDomainObject NEW

      public boolean closeDomainObject(DomainObject domainObject, boolean ignoreChanges)
    • getAllOpenDomainObjects MODIFIED

      public DomainObject[] getAllOpenDomainObjects()
      return type: ghidra.framework.model.UndoableDomainObject[] → ghidra.framework.model.DomainObject[]
      -ghidra.framework.model.UndoableDomainObject[] getAllOpenDomainObjects()
      +ghidra.framework.model.DomainObject[] getAllOpenDomainObjects()
    • getCurrentDomainObject MODIFIED

      public DomainObject getCurrentDomainObject()
      return type: UndoableDomainObject → DomainObject
      -ghidra.framework.model.UndoableDomainObject getCurrentDomainObject()
      +ghidra.framework.model.DomainObject getCurrentDomainObject()
    • getSearchPriority NEW

      public int getSearchPriority(DomainObject domainObject)
    • isVisible NEW

      public boolean isVisible(DomainObject domainObject)
    • openDomainObject

      public Program openDomainObject(DomainFile domainFile)
    • openDomainObject

      public Program openDomainObject(DomainFile df, int version)
    • openDomainObject

      public Program openDomainObject(DomainFile domainFile, int version, int state)
    • openDomainObject NEW

      public void openDomainObject(DomainObject domainObject)
    • openDomainObject NEW

      public void openDomainObject(DomainObject domainObject, boolean current)
    • openDomainObject NEW

      public void openDomainObject(DomainObject domainObject, int state)
    • releaseDomainObject NEW

      public void releaseDomainObject(DomainObject domainObject, Object persistentOwner)
    • setCurrentDomainObject NEW

      public void setCurrentDomainObject(DomainObject domainObject)
    • setPersistentOwner NEW

      public boolean setPersistentOwner(DomainObject domainObject, Object owner)
    • setSearchPriority NEW

      public void setSearchPriority(DomainObject domainObject, int priority)