Interface IUnitPlugin

All Superinterfaces:
IPlugin
All Known Subinterfaces:
IDebuggerUnitIdentifier, INativeDecompilerPlugin<InsnType>, INativeDisassemblerPlugin<InsnType>, INativePlugin<InsnType>, IUnitIdentifier
All Known Implementing Classes:
AbstractNativeDecompilerPlugin, AbstractNativeDisassemblerPlugin, AbstractNativePlugin, AbstractUnitIdentifier, AbstractUnitPlugin

public interface IUnitPlugin extends IPlugin
Definition of a unit plugin. Unit plugins are either identifiers or specialized native plugins.
  • Method Details

    • initialize

      void initialize(IPropertyDefinitionManager parent)
      Create and initialize the property manager for this identifier. This method is usually called after construction on the identifier.

      Overrides are allowed if a plugin needs to define its own properties, but a call to the superclass method should take place first. If not, the implementor is responsible for creating the plugins' PDM.

      Parameters:
      parent - the parent PDM
    • getPropertyDefinitionManager

      IPropertyDefinitionManager getPropertyDefinitionManager()
      Retrieve the property definition manager (PDM) used by this plugin.
      Returns:
      the PDM
    • getFormatType

      String getFormatType()
      Retrieve the identity of the unit type. The type should be unique across all units.
      Returns:
      the non-null type
    • getPriority

      double getPriority()
      Get the identifier priority. Priority can be negative. Priorities are used by identifier managers (eg, Processors) to ensure that identifiers are called in a (partially) predictable order, if need be. The higher the number, the higher the priority.

      Recommendation: typical priority is zero. Relying on priority for proper identification should be used as a last resort measure.

      Returns:
      the identifier priority
    • getTypeIdProvider

      ITypeIdProvider getTypeIdProvider()
      The type-id provider for this type of units. Currently, This method is not intended to use by third-party clients.
      Returns:
      a type-id provider, null if none