Re:commit: abi & abiword-plugins: simple plugin interface

From: Andrew Dunbar (hippietrail@yahoo.com)
Date: Sat Jul 13 2002 - 23:03:51 EDT

  • Next message: F J Franklin: "Re:commit: abi & abiword-plugins: simple plugin interface"

    Wow I just wanted to say that this sounds really
    impressive and will be a major improvement!

    Andrew Dunbar.

     --- "Kenneth J.Davis" <jeremyd@computer.org> 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
    > jeremyd@computer.org
    >
    >
    > F J Franklin <F.J.Franklin@sheffield.ac.uk> 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
    > >F.J.Franklin@shef.ac.uk
    > >
    > >"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



    This archive was generated by hypermail 2.1.4 : Sat Jul 13 2002 - 23:08:46 EDT