-
-
Notifications
You must be signed in to change notification settings - Fork 336
Plugin Development
edb uses QtPlugin for plugins, this means that all plugins must be built using this system. All includes relating to plugins and data they can access can be found in <PROJECT_ROOT>/include, you should add this to the include path of the .pro file you use to compile your plugins. The simplest way to do this is to put your plugin code in the same directory structure as edb and have your .pro file include plugins.pri
Currently, there are two main types of plugins.
-
IPlugin, which is the more common type general purpose type -
IDebugger, which is used to implement the core debugging functionality.
Most likely you will want to create a IPlugin.
To create a plugin of either type, of course first you must have a base class which inherits from one of these type interfaces (found in either IPlugin.h or IDebugger.h. Each has a set of required and optional virtual functions which you will want to implement.
For IPlugin, the only currently required function is
virtual QMenu *menu(QWidget *parent = 0) = 0;
This will return a menu object which will be added to the "Plugins" menu in edb. When this menu item is activated, you may do whatever you wish.
Basic operations for implementing functionality can be found in <PROJECT_ROOT>/include/edb.h which defines the edb namespace. Most things are found specifically in the edb::v1 namespace so that API changes won't be breaking going forward.