Package ghidra.framework.plugintool
Class ToolServicesAdapter
- java.lang.Object
-
- ghidra.framework.plugintool.ToolServicesAdapter
-
- All Implemented Interfaces:
ToolServices
public class ToolServicesAdapter extends java.lang.Object implements ToolServices
-
-
Field Summary
-
Fields inherited from interface ghidra.framework.model.ToolServices
DEFAULT_TOOLNAME
-
-
Constructor Summary
Constructors Constructor Description ToolServicesAdapter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDefaultToolChangeListener(DefaultToolChangeListener listener)Add a listener that will be notified when the default tool specification changes.booleancanAutoSave(Tool tool)Returns true if this tool should be saved base on the state of other runnings instances of the same toolvoidcloseTool(Tool tool)Notify the framework that the tool is closing.voiddisplaySimilarTool(Tool tool, DomainFile domainFile, PluginEvent event)Find a running tool like the one specified that has the named domain file.java.io.FileexportTool(ToolTemplate tool)Save the tool to the given location on the local file system.java.util.Set<ToolTemplate>getCompatibleTools(java.lang.Class<? extends DomainObject> domainClass)Returns a set of tools that can open the given domain file class.java.util.Set<ToolAssociationInfo>getContentTypeToolAssociations()Returns theassociations, which describe content types and the tools used to open them, for all content types known to the system.ToolTemplategetDefaultToolTemplate(DomainFile domainFile)Returns the default tool template used to open the tool.Tool[]getRunningTools()Return array of running toolsToolChestgetToolChest()Get the tool chest for the project.ToollaunchDefaultTool(DomainFile domainFile)Launch the default tool; if domainFile is not null, this file will be opened in the tool.ToollaunchTool(java.lang.String toolName, DomainFile domainFile)Launch the tool with the given namevoidremoveDefaultToolChangeListener(DefaultToolChangeListener listener)Remove the listener.voidsaveTool(Tool tool)Saves the tool's configuration in the standard tool location.voidsetContentTypeToolAssociations(java.util.Set<ToolAssociationInfo> infos)Sets theassociations, which describe content types and the tools used to open them, for the system.
-
-
-
Method Detail
-
addDefaultToolChangeListener
public void addDefaultToolChangeListener(DefaultToolChangeListener listener)
Description copied from interface:ToolServicesAdd a listener that will be notified when the default tool specification changes.- Specified by:
addDefaultToolChangeListenerin interfaceToolServices
-
canAutoSave
public boolean canAutoSave(Tool tool)
Description copied from interface:ToolServicesReturns true if this tool should be saved base on the state of other runnings instances of the same tool- Specified by:
canAutoSavein interfaceToolServices- Parameters:
tool- the tool to check for saving- Returns:
- true if the tool should be saved
-
closeTool
public void closeTool(Tool tool)
Description copied from interface:ToolServicesNotify the framework that the tool is closing.- Specified by:
closeToolin interfaceToolServices- Parameters:
tool- tool that is closing
-
displaySimilarTool
public void displaySimilarTool(Tool tool, DomainFile domainFile, PluginEvent event)
Description copied from interface:ToolServicesFind a running tool like the one specified that has the named domain file. If it finds a matching tool, then it is brought to the front. Otherwise, it creates one and runs it. It then invokes the specified event on the running tool.- Specified by:
displaySimilarToolin interfaceToolServices- Parameters:
tool- find/create a tool like this one.domainFile- open this file in the found/created tool.event- invoke this event on the found/created tool
-
exportTool
public java.io.File exportTool(ToolTemplate tool) throws java.io.FileNotFoundException, java.io.IOException
Description copied from interface:ToolServicesSave the tool to the given location on the local file system.- Specified by:
exportToolin interfaceToolServices- Parameters:
tool- the tool template to write- Returns:
- the file to which the tool was saved
- Throws:
java.io.FileNotFoundException- thrown if the file's directory doesn't exist.java.io.IOException- thrown if there is an error writing the file.
-
getCompatibleTools
public java.util.Set<ToolTemplate> getCompatibleTools(java.lang.Class<? extends DomainObject> domainClass)
Description copied from interface:ToolServicesReturns a set of tools that can open the given domain file class.- Specified by:
getCompatibleToolsin interfaceToolServices- Parameters:
domainClass- The domain file class type for which to get tools
-
getContentTypeToolAssociations
public java.util.Set<ToolAssociationInfo> getContentTypeToolAssociations()
Description copied from interface:ToolServicesReturns theassociations, which describe content types and the tools used to open them, for all content types known to the system.- Specified by:
getContentTypeToolAssociationsin interfaceToolServices- See Also:
ToolServices.setContentTypeToolAssociations(Set)
-
getDefaultToolTemplate
public ToolTemplate getDefaultToolTemplate(DomainFile domainFile)
Description copied from interface:ToolServicesReturns the default tool template used to open the tool. Here default means the tool that should be used to open the given file, whether defined by the user or the system default.- Specified by:
getDefaultToolTemplatein interfaceToolServices- Parameters:
domainFile- The file for which to find the preferred tool.- Returns:
- The preferred tool that should be used to open the given file.
-
getRunningTools
public Tool[] getRunningTools()
Description copied from interface:ToolServicesReturn array of running tools- Specified by:
getRunningToolsin interfaceToolServices- Returns:
- array of Tools
-
getToolChest
public ToolChest getToolChest()
Description copied from interface:ToolServicesGet the tool chest for the project.- Specified by:
getToolChestin interfaceToolServices
-
launchDefaultTool
public Tool launchDefaultTool(DomainFile domainFile)
Description copied from interface:ToolServicesLaunch the default tool; if domainFile is not null, this file will be opened in the tool.- Specified by:
launchDefaultToolin interfaceToolServices- Parameters:
domainFile- the file to open; may be null- See Also:
#setDefaultTool(ToolTemplate)
-
launchTool
public Tool launchTool(java.lang.String toolName, DomainFile domainFile)
Description copied from interface:ToolServicesLaunch the tool with the given name- Specified by:
launchToolin interfaceToolServices- Parameters:
toolName- name of the tool to launchdomainFile- the file to open; may be null
-
removeDefaultToolChangeListener
public void removeDefaultToolChangeListener(DefaultToolChangeListener listener)
Description copied from interface:ToolServicesRemove the listener.- Specified by:
removeDefaultToolChangeListenerin interfaceToolServices
-
saveTool
public void saveTool(Tool tool)
Description copied from interface:ToolServicesSaves the tool's configuration in the standard tool location.- Specified by:
saveToolin interfaceToolServices- Parameters:
tool- tool to save.
-
setContentTypeToolAssociations
public void setContentTypeToolAssociations(java.util.Set<ToolAssociationInfo> infos)
Description copied from interface:ToolServicesSets theassociations, which describe content types and the tools used to open them, for the system.- Specified by:
setContentTypeToolAssociationsin interfaceToolServices- Parameters:
infos- The associations to be applied- See Also:
ToolServices.getContentTypeToolAssociations()
-
-