Class ImporterUtilities

java.lang.Object
ghidra.plugin.importer.ImporterUtilities

public class ImporterUtilities extends Object
Utilities for importing files.

Note: if a method takes a TaskMonitor, then that method should only be called from a background task.

  • Field Details

    • LOADABLE_FILES_FILTER

      public static final GhidraFileFilter LOADABLE_FILES_FILTER
      File extension filter for well known 'loadable' files for GhidraFileChoosers. TODO: will be refactored to use file_extension_icon.xml file info.
    • CONTAINER_FILES_FILTER

      public static final GhidraFileFilter CONTAINER_FILES_FILTER
      File extension filter for well known 'container' files for GhidraFileChoosers. TODO: will be refactored to use file_extension_icon.xml file info.
  • Constructor Details

    • ImporterUtilities

      public ImporterUtilities()
  • Method Details

    • showImportDialog

      public static void showImportDialog(PluginTool tool, ProgramManager programManager, FSRL fsrl, DomainFolder destinationFolder, String suggestedPath)
      Displays the appropriate import dialog for the specified file.

      If the file is a container of other files, a batch import dialog will be used, otherwise the normal single file import dialog will be shown.

      Parameters:
      tool - PluginTool will be used as the parent tool for dialogs
      programManager - optional ProgramManager instance to use to open imported binaries with, or null
      fsrl - FSRL of the file to import
      destinationFolder - DomainFolder destination folder where the imported file will default to. (the user will be able to choose a different location)
      suggestedPath - optional string path that will automatically be pre-pended to the destination filename
    • showImportDialog

      public static void showImportDialog(PluginTool tool, ProgramManager programManager, FSRL fsrl, DomainFolder destinationFolder, String suggestedPath, TaskMonitor monitor)
      Displays the appropriate import dialog for the specified file.

      If the file is a container of other files, a batch import dialog will be used, otherwise the normal single file import dialog will be shown.]

      If you are not in a monitored task, then call showImportDialog(PluginTool, ProgramManager, FSRL, DomainFolder, String).

      Parameters:
      tool - PluginTool will be used as the parent tool for dialogs
      programManager - optional ProgramManager instance to use to open imported binaries with, or null
      fsrl - FSRL of the file to import
      destinationFolder - DomainFolder destination folder where the imported file will default to. (the user will be able to choose a different location)
      suggestedPath - optional string path that will automatically be pre-pended to the destination filename
      monitor - the task monitor to use for monitoring; cannot be null
    • showAddToProgramDialog

      public static void showAddToProgramDialog(FSRL fsrl, Program program, PluginTool tool, TaskMonitor monitor)
    • importSingleFile

      public static void importSingleFile(PluginTool tool, ProgramManager programManager, FSRL fsrl, DomainFolder destFolder, LoadSpec loadSpec, String programName, List<Option> options, TaskMonitor monitor)
      Perform file import and open using optional programManager
      Parameters:
      tool - tool to which popup dialogs should be associated
      programManager - program manager to open imported file with or null
      fsrl - import file location
      destFolder - project destination folder
      loadSpec - import LoadSpec
      programName - program name
      options - import options
      monitor - task monitor
    • addContentToProgram

      public static void addContentToProgram(PluginTool tool, Program program, FSRL fsrl, LoadSpec loadSpec, List<Option> options, TaskMonitor monitor)