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

From: Kenneth J.Davis (jeremyd@computer.org)
Date: Sun Jul 14 2002 - 19:02:10 EDT

  • Next message: Kenneth J.Davis: "commit: Win32 minor plugin stuff"

    F J Franklin <F.J.Franklin@sheffield.ac.uk> wrote on 7/14/2002 6:06:29 AM:
    >
    >On Sat, 13 Jul 2002, Kenneth J.Davis 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.
    >
    >Sounds like we're trying to do the same thing. I don't see any reason why
    >we can't both continue. I was going to create interfaces for image import
    >etc. (and may still do yet) but since you've done it already I'll
    >concentrate on other aspects. :-)
    >

    I concur. By the way, my source is on my site (http://abiword.pchasm.org/builds/)
    periodically updated as I make reasonable progress, in case anyone wants
    to look at it. At present the interface/API is still subject to
    changes/cleanup, so its not ready for general use yet. Later this week
    I will try to get some of the importers/exporters done. Today I've
    gone through and tried to figure out what was causing memory leaks
    (per the debug dump at AbiWord.exe exit), which it ended up being that
    the plugins were never unloaded, so they didn't get a chance to cleanup.
    I'm going to apply a fix shortly, without which trying to use the
    link-grammar plugin will make AbiWord appear locked on exit in a debug
    build as it tries to show all the memory never free'd.

    Once my API is stabilized enough and I have a chance, I will add some
    documentation for using it.

    What are your ideas [API you've been considering] for supporting importers
    and exporters?

    >BTW, I think there's nothing to stop plugins using my SPI interface for
    >loading/unloading registration/unregistration (in HEAD, anyway) and still
    >using your API for interacting with AbiWord. (That way you can ensure
    >that your CAPI plugin is loaded before any of the others that require
    >it...)

    I'm trying to follow your commits, as I do think in the end the best
    support will probably be a combination of what you are doing and a
    little of my stuff. Load order isn't an issue for me, presently
    AbiWord loads the plugin as usual, which has no imports from AbiWord
    so that goes well, AbiWord calls the plugins register function, which
    then in turn explicitely loads my AbiCapi plugin, which causes it
    to be loaded and it does has imports from AbiWord so Windows goes
    ahead and resolves them [at least I think thats what happens].
    Now that I have it so it does unload them, I need to check to make
    sure the unload order doesn't actually make any difference.
    If it does, then I'll will probably make my AbiCapi plugin just a
    DLL [which works fine, just doesn't give it a chance for one time
    [de]initialization].

    >
    >Ciao, 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

    Anyway, I'm just having fun playing with the plugins.
    :-)
    Jeremy Davis
    jeremyd@computer.org



    This archive was generated by hypermail 2.1.4 : Sun Jul 14 2002 - 19:07:24 EDT