Package ghidra.app.merge.memory
Class MemoryMergeManager
- java.lang.Object
-
- ghidra.app.merge.memory.MemoryMergeManager
-
- All Implemented Interfaces:
MergeResolver
public class MemoryMergeManager extends java.lang.Object implements MergeResolver
Merge memory blocks that have changes to the name, permissions or comments.
-
-
Constructor Summary
Constructors Constructor Description MemoryMergeManager(ProgramMultiUserMergeManager mergeManager, Program resultProgram, Program myProgram, Program originalProgram, Program latestProgram)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidapply()Notification that the apply button was hit.voidcancel()Notification that the merge process was canceled.java.lang.StringgetDescription()Get the description of what this MergeResolver does.java.lang.StringgetName()Get the name of this MergeResolver.java.lang.String[][]getPhases()Gets identifiers for the merge phases handled by this MergeResolver.voidmerge(TaskMonitor monitor)Perform the merge process.
-
-
-
Constructor Detail
-
MemoryMergeManager
public MemoryMergeManager(ProgramMultiUserMergeManager mergeManager, Program resultProgram, Program myProgram, Program originalProgram, Program latestProgram)
Constructor- Parameters:
mergeManager- merge managerresultProgram- program where changes will be applied tomyProgram- source program with changes that will be applied to result programoriginalProgram- original program that was checked outlatestProgram- latest program that was checked in; the result program and latest program are initially identical
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:MergeResolverGet the name of this MergeResolver.- Specified by:
getNamein interfaceMergeResolver
-
getDescription
public java.lang.String getDescription()
Description copied from interface:MergeResolverGet the description of what this MergeResolver does.- Specified by:
getDescriptionin interfaceMergeResolver
-
apply
public void apply()
Description copied from interface:MergeResolverNotification that the apply button was hit.- Specified by:
applyin interfaceMergeResolver
-
cancel
public void cancel()
Description copied from interface:MergeResolverNotification that the merge process was canceled.- Specified by:
cancelin interfaceMergeResolver
-
merge
public void merge(TaskMonitor monitor)
Description copied from interface:MergeResolverPerform the merge process.- Specified by:
mergein interfaceMergeResolver- Parameters:
monitor- monitor that allows the user to cancel the merge operation
-
getPhases
public java.lang.String[][] getPhases()
Description copied from interface:MergeResolverGets identifiers for the merge phases handled by this MergeResolver. If the merge has no sub-phases then return an array with a single string array. Each inner String array indicates a path for a single merge phase. Each outer array element represents a phase whose progress we wish to indicate.
Examples:
So for a simple phase which has no sub-phases returnnew String[][] {new String[] {"Phase A"}}
So for a phase with 2 sub-phases returnnew String[][] { new String[] {"Phase A"}, new String[] {"Phase A", "Sub-Phase 1}, new String[] {"Phase A", "Sub-Phase 2} }.- Specified by:
getPhasesin interfaceMergeResolver- Returns:
- an array of phases.
-
-