HAL  v4.5.0-124-g47ab54673
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
hal::UIPluginInterface Class Referenceabstract

#include <hal_core/plugin_system/plugin_interface_ui.h>

Inheritance diagram for hal::UIPluginInterface:
Inheritance graph
Collaboration diagram for hal::UIPluginInterface:
Collaboration graph

Public Member Functions

 UIPluginInterface ()=default
 
virtual ~UIPluginInterface ()=default
 
virtual bool exec (ProgramArguments &args)=0
 
virtual void set_layout_locker (bool enable)=0
 
virtual void set_progress (int percent, const std::string &message)
 
- Public Member Functions inherited from hal::BasePluginInterface
 BasePluginInterface ()=default
 
virtual ~BasePluginInterface ()
 
virtual void initialize ()
 
virtual std::string get_name () const =0
 
virtual std::string get_version () const =0
 
virtual std::string get_description () const
 
virtual std::set< std::string > get_dependencies () const
 
template<typename... Args>
void log (const Args &... args) const
 
virtual void on_load ()
 
virtual void on_unload ()
 
virtual void initialize_logging ()
 
virtual std::vector< AbstractExtensionInterface * > get_extensions () const
 
template<typename T >
T * get_first_extension () const
 
void delete_extension (AbstractExtensionInterface *aeif)
 

Additional Inherited Members

- Protected Attributes inherited from hal::BasePluginInterface
std::vector< AbstractExtensionInterface * > m_extensions
 

Detailed Description

generic plugin instance interface

Definition at line 39 of file plugin_interface_ui.h.

Constructor & Destructor Documentation

◆ UIPluginInterface()

hal::UIPluginInterface::UIPluginInterface ( )
default

◆ ~UIPluginInterface()

virtual hal::UIPluginInterface::~UIPluginInterface ( )
virtualdefault

Member Function Documentation

◆ exec()

virtual bool hal::UIPluginInterface::exec ( ProgramArguments args)
pure virtual

Generic call to run the interactive UI.

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

Implemented in hal::PluginPythonShell, and hal::PluginGui.

◆ set_layout_locker()

virtual void hal::UIPluginInterface::set_layout_locker ( bool  enable)
pure virtual

Generic call to block layouter.

Can be enabled multiple times, but each enable must be match by disable to remove the lock.

Parameters
[in]enableEnable lock on true, disable on false

Implemented in hal::PluginPythonShell, and hal::PluginGui.

Referenced by hal::user_feedback::LayoutLocker::LayoutLocker(), and hal::user_feedback::LayoutLocker::~LayoutLocker().

◆ set_progress()

virtual void hal::UIPluginInterface::set_progress ( int  percent,
const std::string &  message 
)
inlinevirtual

Generic call to report the progress of a long-running operation to the user.

A percentage of 100 indicates that the operation is done and dismisses the progress display again, so it must be reported exactly once per operation. Prefer ProgressScope over calling this directly, as it takes care of that. The default implementation does nothing.

Parameters
[in]percent- The progress in percent, where 100 means done.
[in]message- The message to display alongside the progress.

Reimplemented in hal::PluginGui.

Definition at line 71 of file plugin_interface_ui.h.

References UNUSED.


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