Wow I just wanted to say that this sounds really impressive and will be a major improvement!
Andrew Dunbar. --- "Kenneth J.Davis" <[EMAIL PROTECTED]> wrote: > As I have been doing something similar (an exported > C api), this is an > interesting approach. Presently I am doing it as a > plugin itself, that > exports a simplistic API. I'm still testing the > feasibility > of my ideas, but presently I have a test plugin > AbiCapiTest, all the > tools plugins that presently work on Windows > (AbiPaint, AbiBabelfish, > AbiURLDict, AbiWikipedia, with Festvox as-is also > working though it > does nothing), along with the graphics imp/exp that > presently work > on Windows (AbiBMP, AbiJPEG, AbiMagick) are > supported. My next major > step in my feasibility testing is to see if I can > reasonably support > the importers/exporters with relative coding ease on > the importer/exporter > side. > > Notes about my approach: > - Presently I'm only doing this on Windows, though > with some minor > changes (adding appropriate > dllload/dllunload/getProcAddress) for > other platforms then it may also work on them. > - It involves some duplication, because I am trying > to avoid changing > AbiWord's source (which I did have to add a few > ABI_EXPORTS to correct > linking issues, but this is fixing proper linkage of > existing plugins) > and using any class in AbiWord's source causes an > entry in the plugins > import table for AbiWord.exe [a big no-no for what > I'm trying for] > (Some of this could be avoided by enabling > ABI_EXPORT to be defined to > nothing.) As such, a few really useful things, like > UT_String and > various other tidbits were extracted; this means > only what is exposed > through my plugin (or taken out and slightly > modified) is available to > other plugins that use my approach, though the > supported API is easily > expandable without breaking existing binary > compatibility. > - Plugins are no longer dependant on a given AbiWord > build. As a method > of testing this, all the above plugins in binary > form [compiled only > once] can be used with both AbiWord HEAD branch and > AbiWord STABLE > branch. > - To ease my life, the plugins all link with their > existing but modified > code and another file abiCapiGeneric.cpp that > handles AbiWord's plugin > interface and handles testing the AbiCapi plugin's > exported version > along with getting the address of all C API > functions. The plugin > DLLs contain no imports for AbiCapi.1.dll nor > AbiWord.exe. > - Mixing of plugins compiled with MS VC 5 or 6 > probably works (as that > worked before), but I presently rely (by my lack of > checking and ensuring) > on using the same C/C++ runtime libary. > - While they work for me, I don't claim them to be > bug free, especially > for non english languages, after all I'm still just > seeing if my > approach is usable [which I'm still undecided upon, > hence my delay > in mentioning it]. > > :-) > Jeremy Davis > [EMAIL PROTECTED] > > > F J Franklin <[EMAIL PROTECTED]> wrote on > 7/13/2002 10:57:24 AM: > > > >baby steps... > > > >o preliminary/experimental support for a Simple > Plugin Interface (SPI): a > > passive "C"-style interface with support for > strict versioning and inter- > > plugin dependencies; XAP_Spider is the module > manager for SPI plugins. > > > .. > >o experimental plugin for testing SPI (Simple > Plugin Interface) currently > > being developed > > > .. > >Regards, Frank > > > >Francis James Franklin > >[EMAIL PROTECTED] > > > >"No, she really likes me. She told me I look like > Britney Spears, and why > >would you say that to somebody you don't like?" > > > --- Elle Woods > > ===== http://linguaphile.sourceforge.net http://www.abisource.com __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com
