Class ImporterUtilities


  • public class ImporterUtilities
    extends java.lang.Object
    • Field Detail

      • 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 Detail

      • ImporterUtilities

        public ImporterUtilities()
    • Method Detail

      • setProgramProperties

        public static void setProgramProperties​(Program program,
                                                FSRL fsrl,
                                                TaskMonitor monitor)
                                         throws CancelledException,
                                                java.io.IOException
        Ensure that a Program's metadata includes its import origin.
        Parameters:
        program - imported Program to modify
        fsrl - FSRL of the import source.
        monitor - TaskMonitor to use when accessing filesystem stuff.
        Throws:
        CancelledException - if user cancels
        java.io.IOException - if IO error
      • showImportDialog

        public static void showImportDialog​(FSRL fsrl,
                                            DomainFolder destFolder,
                                            java.lang.String suggestedDestinationPath,
                                            PluginTool tool,
                                            ProgramManager programManager)
        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:
        fsrl - FSRL of the file to import.
        destFolder - DomainFolder destination folder where the imported file will default to. (the user will be able to choose a different location).
        suggestedDestinationPath - optional string path that will automatically be pre-pended to the destination filename.
        tool - PluginTool will be used as the parent tool for dialogs.
        programManager - optional ProgramManager instance to use to open imported binaries with, or null.
      • doSingleImport

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