Package ghidra.app.util.bin.format.elf.info

# Interface ElfInfoProducer

All Superinterfaces:
  `ExtensionPoint`

All Known Implementing Classes:
  `GolangElfInfoProducer`, `StandardElfInfoProducer`

public interface ElfInfoProducer extends ExtensionPoint
Something that adds nice-to-have markup and program info to Elf binaries.

Classes that implement this ExtensionPoint must have names that end with "ElfInfoProducer" for the class searcher to find them.

Instances are created for each Elf binary that is being loaded.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static List<ElfInfoProducer>`
  `getElfInfoProducers(ElfLoadHelper elfLoadHelper)`
  Returns a sorted list of new and initialized ElfInfoProducer instances.
  `void`
  `init(ElfLoadHelper elfLoadHelper)`
  Initializes this instance.
  `void`
  `markupElfInfo(TaskMonitor monitor)`
  Called by the Elf loader to give this ElfInfoProducer the opportunity to markup the Elf binary.

- ## Method Details

  - ### getElfInfoProducers

    static List<ElfInfoProducer> getElfInfoProducers(ElfLoadHelper elfLoadHelper)
    Returns a sorted list of new and initialized ElfInfoProducer instances.
    Parameters:
      `elfLoadHelper` - `ElfLoadHelper` with contents of file being loaded
    Returns:
      List of ElfInfoProducers

  - ### init

    void init(ElfLoadHelper elfLoadHelper)
    Initializes this instance.
    Parameters:
      `elfLoadHelper` - the Elf binary

  - ### markupElfInfo

    void markupElfInfo(TaskMonitor monitor) throws CancelledException
    Called by the Elf loader to give this ElfInfoProducer the opportunity to markup the Elf binary.
    Parameters:
      `monitor` - `TaskMonitor`
    Throws:
      `CancelledException`