Package ghidra.framework.plugintool
Class ToolServicesAdapter
java.lang.Object
ghidra.framework.plugintool.ToolServicesAdapter
- All Implemented Interfaces:
ToolServices
-
Field Summary
Fields inherited from interface ghidra.framework.model.ToolServices
DEFAULT_TOOLNAME
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
canAutoSave
(PluginTool tool) Returns true if this tool should be saved base on the state of other running instances of the same toolvoid
closeTool
(PluginTool tool) Notify the framework that the tool is closing.exportTool
(ToolTemplate tool) Save the tool to the given location on the local file system.getCompatibleTools
(Class<? extends DomainObject> domainClass) Returns a set of tools that can open the given domain file class.Returns theassociations
, which describe content types and the tools used to open them, for all content types known to the system.getDefaultToolTemplate
(DomainFile domainFile) Returns the default/preferred tool template which should be used to open the specified domain file, whether defined by the user or the system default.getDefaultToolTemplate
(String contentType) Returns the default/preferred tool template which should be used to open the specified domain file content type, whether defined by the user or the system default.Return array of running toolsGet the tool chest for the projectlaunchDefaultTool
(Collection<DomainFile> domainFile) Launch the defaulttool
and open the specified domainFiles.Launch the default tool and open the specified Ghidra URL resource.launchTool
(String toolName, Collection<DomainFile> domainFile) Launch thetool
with the given name and open the specified domainFiles.launchToolWithURL
(String toolName, URL url) Launch the tool with the given name and attempt to open the specified Ghidra URL resource.void
saveTool
(PluginTool tool) Saves the tool's configuration in the standard tool location.void
Sets theassociations
, which describe content types and the tools used to open them, for the system.
-
Constructor Details
-
ToolServicesAdapter
public ToolServicesAdapter()
-
-
Method Details
-
canAutoSave
Description copied from interface:ToolServices
Returns true if this tool should be saved base on the state of other running instances of the same tool- Specified by:
canAutoSave
in interfaceToolServices
- Parameters:
tool
- the tool to check for saving- Returns:
- true if the tool should be saved
-
closeTool
Description copied from interface:ToolServices
Notify the framework that the tool is closing.- Specified by:
closeTool
in interfaceToolServices
- Parameters:
tool
- tool that is closing
-
exportTool
Description copied from interface:ToolServices
Save the tool to the given location on the local file system.- Specified by:
exportTool
in interfaceToolServices
- Parameters:
tool
- the tool template to write- Returns:
- the file to which the tool was saved
- Throws:
FileNotFoundException
- thrown if the file's directory doesn't exist.IOException
- thrown if there is an error writing the file.
-
getCompatibleTools
Description copied from interface:ToolServices
Returns a set of tools that can open the given domain file class.- Specified by:
getCompatibleTools
in interfaceToolServices
- Parameters:
domainClass
- The domain file class type for which to get tools- Returns:
- the tools
-
getContentTypeToolAssociations
Description copied from interface:ToolServices
Returns theassociations
, which describe content types and the tools used to open them, for all content types known to the system.- Specified by:
getContentTypeToolAssociations
in interfaceToolServices
- Returns:
- the associations
- See Also:
-
getDefaultToolTemplate
Description copied from interface:ToolServices
Returns the default/preferred tool template which should be used to open the specified domain file, whether defined by the user or the system default.- Specified by:
getDefaultToolTemplate
in interfaceToolServices
- Parameters:
domainFile
- The file whose preferred tool should be found.- Returns:
- The preferred tool that should be used to open the given file or null if none found.
-
getDefaultToolTemplate
Description copied from interface:ToolServices
Returns the default/preferred tool template which should be used to open the specified domain file content type, whether defined by the user or the system default.- Specified by:
getDefaultToolTemplate
in interfaceToolServices
- Parameters:
contentType
- The content type whose preferred tool should be found.- Returns:
- The preferred tool that should be used to open the given file or null if none found.
-
getRunningTools
Description copied from interface:ToolServices
Return array of running tools- Specified by:
getRunningTools
in interfaceToolServices
- Returns:
- array of Tools
-
getToolChest
Description copied from interface:ToolServices
Get the tool chest for the project- Specified by:
getToolChest
in interfaceToolServices
- Returns:
- the tool chest
-
launchDefaultTool
Description copied from interface:ToolServices
Launch the defaulttool
and open the specified domainFiles. NOTE: running tool reuse is implementation dependent- Specified by:
launchDefaultTool
in interfaceToolServices
- Parameters:
domainFile
- the files to open. A null or empty list will results in an immediate return of a nullPluginTool
. Null entries are not permitted.- Returns:
- the launched tool. Null returned if a suitable default tool for the file content type was not found or failed to launch.
-
launchTool
Description copied from interface:ToolServices
Launch thetool
with the given name and open the specified domainFiles. Only those domainFiles with a content type supported by the specified tool will be opened. NOTE: running tool reuse is implementation dependent.- Specified by:
launchTool
in interfaceToolServices
- Parameters:
toolName
- name of thetool template
to launch or re-usedomainFile
- the files to open; may be null or empty. Null entries are not permitted.- Returns:
- the resulting
tool
or null if the specified tool was not found or failed to launch
-
launchDefaultToolWithURL
Description copied from interface:ToolServices
Launch the default tool and open the specified Ghidra URL resource. The tool chosen will be based upon the content type of the specified resource. NOTE: running tool re-use is implementation dependent- Specified by:
launchDefaultToolWithURL
in interfaceToolServices
- Parameters:
url
- resource to be opened (seeGhidraURL
)- Returns:
- the launched tool. Null returned if a failure occurs while accessing the specified resource or a suitable default tool for the file content type was not found.
-
launchToolWithURL
Description copied from interface:ToolServices
Launch the tool with the given name and attempt to open the specified Ghidra URL resource.- Specified by:
launchToolWithURL
in interfaceToolServices
- Parameters:
toolName
- name of the tool to launchurl
- resource to be opened (seeGhidraURL
)- Returns:
- the requested tool or null if the specified tool not found.
-
saveTool
Description copied from interface:ToolServices
Saves the tool's configuration in the standard tool location.- Specified by:
saveTool
in interfaceToolServices
- Parameters:
tool
- tool to save.
-
setContentTypeToolAssociations
Description copied from interface:ToolServices
Sets theassociations
, which describe content types and the tools used to open them, for the system.- Specified by:
setContentTypeToolAssociations
in interfaceToolServices
- Parameters:
infos
- The associations to be applied- See Also:
-