public interface

INativeCodeAnalyzerExtensionsManager

implements INativeCodeAnalyzerExtension<InsnType extends IInstruction>
com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzerExtensionsManager<InsnType extends com.pnfsoftware.jeb.core.units.code.IInstruction>

Class Overview

Interface for the extensions manager of the INativeCodeAnalyzer. This manager should be instantiated from the analyzer in question.

Extensions implement INativeCodeAnalyzerExtension, as does the manager. For each method of this interface, the manager asks extensions in the order of their priority (see INativeCodeAnalyzerExtensionsManager.ExtensionPriority), and each of them can provide a final result, or let the following extensions be asked (see ChainedOperationResult). For now we do not attempt to merge conflicting results; the last extension to have provided a meaningful result has the final word.

For now, clients can only register extensions; those extensions can have priority over the default extensions if they are registered with HIGH_PRIORITY.

Summary

Nested Classes
enum INativeCodeAnalyzerExtensionsManager.ExtensionPriority Priorities that can be attributed to an extension. 
Public Methods
abstract void registerExtension(INativeCodeAnalyzerExtension<InsnType> ext)
Register an extension with a MEDIUM_PRIORITY.
abstract void registerExtension(INativeCodeAnalyzerExtension<InsnType> ext, INativeCodeAnalyzerExtensionsManager.ExtensionPriority priority)
Register an extension with the given priority.
abstract void registerExtensions(List<INativeCodeAnalyzerExtension<InsnType>> listExt, boolean removePreviousExtensions)
Register a list of extensions with a MEDIUM_PRIORITY.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzerExtension

Public Methods

public abstract void registerExtension (INativeCodeAnalyzerExtension<InsnType> ext)

Register an extension with a MEDIUM_PRIORITY. The extension will be initialized.

public abstract void registerExtension (INativeCodeAnalyzerExtension<InsnType> ext, INativeCodeAnalyzerExtensionsManager.ExtensionPriority priority)

Register an extension with the given priority. The extension will be initialized.

public abstract void registerExtensions (List<INativeCodeAnalyzerExtension<InsnType>> listExt, boolean removePreviousExtensions)

Register a list of extensions with a MEDIUM_PRIORITY. The extensions will be initialized.

Parameters
removePreviousExtensions if true the currently registered extensions are removed before adding the new ones.