Package ghidra.app.merge.datatypes
Class DataTypeMergeManager
- java.lang.Object
-
- ghidra.app.merge.datatypes.DataTypeMergeManager
-
- All Implemented Interfaces:
MergeResolver
public class DataTypeMergeManager extends java.lang.Object implements MergeResolver
Manager for merging category and data type changes
-
-
Constructor Summary
Constructors Constructor Description DataTypeMergeManager(DomainObjectMergeManager mergeManager, DataTypeManagerDomainObject resultDomainObject, DataTypeManagerDomainObject myDomainObject, DataTypeManagerDomainObject originalDomainObject, DataTypeManagerDomainObject latestDomainObject, DataTypeChangeSet latestChanges, DataTypeChangeSet myChanges)Manager for merging the data types using the four programs.
-
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)Merge the data types using the four programs.
-
-
-
Constructor Detail
-
DataTypeMergeManager
public DataTypeMergeManager(DomainObjectMergeManager mergeManager, DataTypeManagerDomainObject resultDomainObject, DataTypeManagerDomainObject myDomainObject, DataTypeManagerDomainObject originalDomainObject, DataTypeManagerDomainObject latestDomainObject, DataTypeChangeSet latestChanges, DataTypeChangeSet myChanges)
Manager for merging the data types using the four programs.- Parameters:
mergeManager- overall merge manager for domain objectresultDomainObject- the program to be updated with the result of the merge. This is the program that will actually get checked in.myDomainObject- the program requesting to be checked in.originalDomainObject- the program that was checked out.latestDomainObject- the latest checked-in version of the program.latestChanges- the address set of changes between original and latest versioned program.myChanges- the address set of changes between original and my modified program.
-
-
Method Detail
-
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
-
getDescription
public java.lang.String getDescription()
Description copied from interface:MergeResolverGet the description of what this MergeResolver does.- Specified by:
getDescriptionin interfaceMergeResolver
-
getName
public java.lang.String getName()
Description copied from interface:MergeResolverGet the name of this MergeResolver.- Specified by:
getNamein interfaceMergeResolver
-
merge
public void merge(TaskMonitor monitor)
Merge the data types using the four programs.- Specified by:
mergein interfaceMergeResolver- Parameters:
monitor- merge task monitor- See Also:
MergeConstants
-
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.
-
-