Interface GFileSystemProgramProvider


  • public interface GFileSystemProgramProvider
    GFileSystem add-on interface that allows a filesystem publish the fact that it supports an import feature allowing the caller to import binaries directly into Ghidra without going through a Loader.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean canProvideProgram​(GFile file)
      Returns true if this GFileSystem can convert the specified GFile instance into a Ghidra Program.
      Program getProgram​(GFile file, LanguageService languageService, TaskMonitor monitor, java.lang.Object consumer)
      NOTE: ONLY OVERRIDE THIS METHOD IF YOU CANNOT PROVIDE AN INPUT STREAM TO THE INTERNAL FILES OF THIS FILE SYSTEM!
      BE SURE TO REGISTER THE GIVEN CONSUMER ON THE PROGRAM.
    • Method Detail

      • getProgram

        Program getProgram​(GFile file,
                           LanguageService languageService,
                           TaskMonitor monitor,
                           java.lang.Object consumer)
                    throws java.lang.Exception
        NOTE: ONLY OVERRIDE THIS METHOD IF YOU CANNOT PROVIDE AN INPUT STREAM TO THE INTERNAL FILES OF THIS FILE SYSTEM!
        BE SURE TO REGISTER THE GIVEN CONSUMER ON THE PROGRAM.
        Returns a program for the given file.
        Parameters:
        file - the file to convert into a program
        languageService - the language service for locating languages and compiler specifications
        monitor - a task monitor
        consumer - the consumer for the program to be returned
        Returns:
        a program for the given file
        Throws:
        java.lang.Exception - if errors occur
      • canProvideProgram

        boolean canProvideProgram​(GFile file)
        Returns true if this GFileSystem can convert the specified GFile instance into a Ghidra Program.
        Parameters:
        file - GFile file or directory instance.
        Returns:
        boolean true if calls to getProgram(GFile, LanguageService, TaskMonitor, Object) will be able to convert the file into a program.