HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
hal::CliExtensionInterface Class Referenceabstract

#include <hal_core/plugin_system/cli_extension_interface.h>

Inheritance diagram for hal::CliExtensionInterface:
Inheritance graph
Collaboration diagram for hal::CliExtensionInterface:
Collaboration graph

Public Member Functions

 CliExtensionInterface ()
 
virtual ProgramOptions get_cli_options () const =0
 
virtual bool handle_cli_call (Netlist *netlist, ProgramArguments &args)=0
 
- Public Member Functions inherited from hal::AbstractExtensionInterface
 AbstractExtensionInterface ()
 
virtual ~AbstractExtensionInterface ()
 

Detailed Description

A plugin extension that adds a command line interface to a plugin. It declares the options that the plugin accepts and provides the entry point that is called when one of them is used.

Definition at line 36 of file cli_extension_interface.h.

Constructor & Destructor Documentation

◆ CliExtensionInterface()

hal::CliExtensionInterface::CliExtensionInterface ( )
inline

Definition at line 39 of file cli_extension_interface.h.

Member Function Documentation

◆ get_cli_options()

virtual ProgramOptions hal::CliExtensionInterface::get_cli_options ( ) const
pure virtual

Returns command line interface options

Returns
The program options description.

Implemented in hal::CliExtensionPythonShell, hal::CliExtensionsPerfTest, hal::CliExtensionsGui, and hal::CliExtensionDataflow.

Referenced by hal::plugin_manager::load(), and hal::GuiPluginEntry::updateFromLoaded().

◆ handle_cli_call()

virtual bool hal::CliExtensionInterface::handle_cli_call ( Netlist netlist,
ProgramArguments args 
)
pure virtual

Entry point to handle command line interface call

Parameters
[in]netlist- The netlist.
[in]args- Program options.
Returns
true on success, false otherwise.

Implemented in hal::CliExtensionDataflow, hal::CliExtensionPythonShell, hal::CliExtensionsGui, and hal::CliExtensionsPerfTest.


The documentation for this class was generated from the following file: