Package ghidra.plugins.fsbrowser.tasks
Class GFileSystemExtractAllTask
- java.lang.Object
-
- ghidra.util.task.Task
-
- ghidra.formats.gfilesystem.AbstractFileExtractorTask
-
- ghidra.plugins.fsbrowser.tasks.GFileSystemExtractAllTask
-
- All Implemented Interfaces:
MonitoredRunnable
public class GFileSystemExtractAllTask extends AbstractFileExtractorTask
Task
that recursively extracts all files from aGFileSystem
directory and writes them to a local filesystem.
-
-
Field Summary
-
Fields inherited from class ghidra.formats.gfilesystem.AbstractFileExtractorTask
fs, rootOutputDirectory
-
Fields inherited from class ghidra.util.task.Task
taskMonitor, waitForTaskCompleted
-
-
Constructor Summary
Constructors Constructor Description GFileSystemExtractAllTask(FSRL srcFSRL, java.io.File outputDirectory, java.awt.Component parentComponent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.io.InputStream
getSourceFileInputStream(GFile file, TaskMonitor monitor)
protected boolean
handleUnexpectedException(GFile file, java.lang.Exception e)
Allows custom handling of exceptions that occur during file extraction.void
run(TaskMonitor monitor)
This is the method that will be called to do the work-
Methods inherited from class ghidra.formats.gfilesystem.AbstractFileExtractorTask
extractFile, getTotalBytesExportedCount, getTotalDirsExportedCount, getTotalFilesExportedCount, mapSourceFilenameToDest, processDirectory, processFile, startExtract
-
Methods inherited from class ghidra.util.task.Task
addTaskListener, canCancel, cancel, getStatusTextAlignment, getTaskTitle, hasProgress, isModal, monitoredRun, notifyTaskListeners, setHasProgress
-
-
-
-
Constructor Detail
-
GFileSystemExtractAllTask
public GFileSystemExtractAllTask(FSRL srcFSRL, java.io.File outputDirectory, java.awt.Component parentComponent)
-
-
Method Detail
-
run
public void run(TaskMonitor monitor)
Description copied from class:Task
This is the method that will be called to do the workNote: The run(TaskMonitor) method should not make any calls directly on Swing components, as these calls are not thread safe. Place Swing calls in a Runnable, then call
SystemUtilities.runSwingLater(Runnable)
orSystemUtilities.runSwingNow(Runnable)
to schedule the Runnable inside of the AWT Event Thread.
-
handleUnexpectedException
protected boolean handleUnexpectedException(GFile file, java.lang.Exception e)
Description copied from class:AbstractFileExtractorTask
Allows custom handling of exceptions that occur during file extraction.Return true if the exception should be ignored by the file extraction process, otherwise return false if it should be propagated up the call stack.
- Overrides:
handleUnexpectedException
in classAbstractFileExtractorTask
- Parameters:
file
- file that was being extracted when the exception happenede
- the exception- Returns:
- true if the exception should be suppressed, false if the exception should be thrown
-
getSourceFileInputStream
protected java.io.InputStream getSourceFileInputStream(GFile file, TaskMonitor monitor) throws CancelledException, java.io.IOException
- Overrides:
getSourceFileInputStream
in classAbstractFileExtractorTask
- Throws:
CancelledException
java.io.IOException
-
-