Package ghidra.app.services
Interface EclipseIntegrationService
-
public interface EclipseIntegrationService
Service that provides Eclipse-related functionality.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ghidra.app.plugin.core.eclipse.EclipseConnection
connectToEclipse(int port)
Attempts to connect to Eclipse on the given port.java.io.File
getEclipseExecutableFile()
Gets the Eclipse executable file.ToolOptions
getEclipseIntegrationOptions()
Gets the Eclipse Integration options.java.io.File
getEclipseWorkspaceDir()
Gets the Eclipse workspace directory.void
handleEclipseError(java.lang.String error, boolean askAboutOptions, java.lang.Throwable t)
Displays the given Eclipse related error message in an error dialog.boolean
isEclipseFeatureInstalled(java.io.FilenameFilter filter)
Checks to see if a feature is installed in Eclipse.void
offerGhidraDevInstallation(TaskMonitor monitor)
Offers to install GhidraDev into Eclipse's dropins directory.
-
-
-
Method Detail
-
getEclipseIntegrationOptions
ToolOptions getEclipseIntegrationOptions()
Gets the Eclipse Integration options.- Returns:
- The Eclipse Integration options.
-
getEclipseExecutableFile
java.io.File getEclipseExecutableFile() throws java.io.FileNotFoundException
Gets the Eclipse executable file.- Returns:
- The Eclipse executable file.
- Throws:
java.io.FileNotFoundException
- if the executable file does not exist.
-
getEclipseWorkspaceDir
java.io.File getEclipseWorkspaceDir()
Gets the Eclipse workspace directory. If it is defined, the directory may or may not exist. If it is undefined, Eclipse will be in control of selecting a workspace directory to use.- Returns:
- The Eclipse workspace directory. The directory may or may not exist. Could return null if the workspace directory is undefined.
-
isEclipseFeatureInstalled
boolean isEclipseFeatureInstalled(java.io.FilenameFilter filter) throws java.io.FileNotFoundException
Checks to see if a feature is installed in Eclipse.- Parameters:
filter
- A filename filter that matches the feature file to check.- Returns:
- True if the specified feature is installed.
- Throws:
java.io.FileNotFoundException
- if Eclipse is not installed.
-
connectToEclipse
ghidra.app.plugin.core.eclipse.EclipseConnection connectToEclipse(int port)
Attempts to connect to Eclipse on the given port. This may result in Eclipse being launched. If the launch and/or connection fails, an error message will be displayed.- Parameters:
port
- The port to connect to.- Returns:
- The (possibly failed) connection. Check the status of the
EclipseConnection
for details on the connection.
-
offerGhidraDevInstallation
void offerGhidraDevInstallation(TaskMonitor monitor)
Offers to install GhidraDev into Eclipse's dropins directory.- Parameters:
monitor
- The task monitor used to cancel the installation.
-
handleEclipseError
void handleEclipseError(java.lang.String error, boolean askAboutOptions, java.lang.Throwable t)
Displays the given Eclipse related error message in an error dialog.- Parameters:
error
- The error message to display in a dialog.askAboutOptions
- True if we should ask the user if they want to be taken to the Eclipse options; otherwise, false.t
- An optional throwable to tie to the message.
-
-