Package ghidra.app.merge
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 Summary
FieldsChangeModifier and TypeFieldDescriptionMODIFIEDprotected DomainObjectprotected MergeManagerprotected ghidra.app.merge.MergeManagerProviderFields inherited from class ghidra.framework.plugintool.Plugin
name, pluginDescription, tool -
Constructor Summary
ConstructorsChangeConstructorDescriptionMergeManagerPlugin(PluginTool tool, MergeManager mergeManager, DomainObject domainObject) Constructor for plugin that handles multi-user merge of programs. -
Method Summary
ChangeModifier and TypeMethodDescriptionprotected booleancanClose()Called to force this plugin to terminate any tasks it has running and apply any unsaved data to domain objects or files.booleancloseAllDomainObjects(boolean ignoreChanges) booleanNEWbooleancloseDomainObject(DomainObject domainObject, boolean ignoreChanges) abstract ghidra.app.merge.MergeManagerProviderCreates the provider that will be displayed in the merge tool.protected voiddispose()Tells a plugin that it is no longer needed.voidMethod called when a change is made to the domain object.MODIFIEDstatic StringMODIFIEDstatic Stringstatic StringNEWintgetSearchPriority(DomainObject domainObject) NEWbooleanisVisible(DomainObject domainObject) openDomainObject(DomainFile domainFile) openDomainObject(DomainFile df, int version) openDomainObject(DomainFile domainFile, int version, int state) NEWvoidopenDomainObject(DomainObject domainObject) NEWvoidopenDomainObject(DomainObject domainObject, boolean current) NEWvoidopenDomainObject(DomainObject domainObject, int state) abstract voidprocessEvent(PluginEvent event) Method called to process a plugin event.NEWvoidreleaseDomainObject(DomainObject domainObject, Object persistentOwner) NEWvoidsetCurrentDomainObject(DomainObject domainObject) NEWbooleansetPersistentOwner(DomainObject domainObject, Object owner) NEWvoidsetSearchPriority(DomainObject domainObject, int priority) REMOVEDbooleancloseDomainObject(UndoableDomainObject domainObject, boolean ignoreChanges) RemovedREMOVEDintgetSearchPriority(UndoableDomainObject domainObject) RemovedREMOVEDbooleanisVisible(UndoableDomainObject domainObject) RemovedREMOVEDvoidopenDomainObject(UndoableDomainObject domainObject) RemovedREMOVEDvoidopenDomainObject(UndoableDomainObject domainObject, boolean current) RemovedREMOVEDvoidopenDomainObject(UndoableDomainObject domainObject, int state) RemovedREMOVEDvoidreleaseDomainObject(UndoableDomainObject domainObject, Object persistentOwner) RemovedREMOVEDvoidsetCurrentDomainObject(UndoableDomainObject domainObject) RemovedREMOVEDbooleansetPersistentOwner(UndoableDomainObject domainObject, Object owner) RemovedREMOVEDvoidsetSearchPriority(UndoableDomainObject domainObject, int priority) RemovedMethods inherited from class ghidra.framework.plugintool.Plugin
accept, acceptData, canCloseDomainObject, cleanup, close, dataStateRestoreCompleted, dependsUpon, deregisterService, equals, eventSent, firePluginEvent, getData, getMissingRequiredServices, getName, getPluginDescription, getServicesRequired, getSupportedDataTypes, getTool, getTransientState, getUndoRedoState, hashCode, hasMissingRequiredService, hasUnsaveData, init, internalRegisterEventConsumed, isDisposed, prepareToSave, readConfigState, readDataState, registerDynamicServiceProvided, registerServiceProvided, restoreTransientState, restoreUndoRedoState, saveData, serviceAdded, serviceRemoved, writeConfigState, writeDataState
-
Field Details
-
mergeManager
-
provider
protected ghidra.app.merge.MergeManagerProvider provider -
currentDomainObject MODIFIED
type: UndoableDomainObject → DomainObject-ghidra.framework.model.UndoableDomainObject currentDomainObject+ghidra.framework.model.DomainObject currentDomainObject
-
-
Constructor Details
-
MergeManagerPlugin
Constructor for plugin that handles multi-user merge of programs.- Parameters:
tool- the tool with the active program to be mergedmergeManager- the merge manager that will control the merge processdomainObject- 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
Description copied from class:PluginMethod called to process a plugin event. Plugins should override this method if the plugin processes PluginEvents;- Overrides:
processEventin classPlugin- Parameters:
event- plugin to process
-
dispose
protected void dispose()Description copied from class:PluginTells 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. -
getDescription
-
getDescriptiveName
-
getCategory
-
canClose
protected boolean canClose()Description copied from class:PluginCalled 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. -
domainObjectChanged
Description copied from interface:DomainObjectListenerMethod called when a change is made to the domain object.- Specified by:
domainObjectChangedin interfaceDomainObjectListener- 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
-
getAllOpenDomainObjects MODIFIED
return type: ghidra.framework.model.UndoableDomainObject[] → ghidra.framework.model.DomainObject[]-ghidra.framework.model.UndoableDomainObject[] getAllOpenDomainObjects()+ghidra.framework.model.DomainObject[] getAllOpenDomainObjects() -
getCurrentDomainObject MODIFIED
return type: UndoableDomainObject → DomainObject-ghidra.framework.model.UndoableDomainObject getCurrentDomainObject()+ghidra.framework.model.DomainObject getCurrentDomainObject() -
getSearchPriority NEW
-
isVisible NEW
-
openDomainObject
-
openDomainObject
-
openDomainObject
-
openDomainObject NEW
-
openDomainObject NEW
-
openDomainObject NEW
-
releaseDomainObject NEW
-
setCurrentDomainObject NEW
-
setPersistentOwner NEW
-
setSearchPriority NEW
-