Subject: Re: Plugins
From: Dom Lachowicz (dominicl@seas.upenn.edu)
Date: Mon Oct 22 2001 - 08:41:45 CDT
Quoting David Welch <dwelch@zianet.com>:
> 
> I am interested in understanding more about the plugin capability of
> abiword.  Where can I find docmentation on the plugin interface (win32)?
Hi David,
AbiWord's plugin architecture is very simple at the present time, but that 
doesn't mean that things like importers/exporters and dialogs can't be done as 
plugins. Here's a *short* write-up on Abi and plugins. I promise to write up 
something more thorough and comprehensive shortly. 
A plugin must implement 3 simple "extern C" functions:
ABI_FAR_CALL abi_plugin_register
ABI_FAR_CALL abi_plugin_unregister
ABI_FAR_CALL abi_plugin_supports_version
*Once* in every plugin, you must globally call ABI_PLUGIN_DECLARE(<string>) 
which will expand to the appropriate code to allow plugins to be loaded & run 
(i.e. nothing on Unix, DllMain() on Win32)
After that, you can do *anything* in your plugin. You can use *any* AbiWord 
interface, function, or class, so long as the function/class has been declared 
with ABI_EXPORT (which evaluates to nothing on unix and the appropriate 
__declspec() call on Win32)
I'll get something better written up as soon as I have time. Suffice it to say 
that plugins work on unix and win32 now.
Dom
This archive was generated by hypermail 2b25 : Mon Oct 22 2001 - 08:41:53 CDT