Boost logo

Boost :

From: Stephan Diederich (stephan.diederich_at_[hidden])
Date: 2007-05-09 13:29:29


Hi,

I've some questions regarding boost.extension which I think is
currently prepared to review by Mariano Gabriel Consoni as one of the
SoC Projects.

We want to use a plugin loading mechanism in one of our projects and
have some ideas currently not included in the boost.extensions library.

- Some kind of versioning of interfaces and implementations.
The idea is to give an interface (whose implementation is loaded as
an extension) a version, which can be later compared to the version
of the loaded implementation. As one of boost.extension's goal is NOT
to modify a class-header to make it loadable, this should possibly be
an optional feature. Another option would be to give non versioned
interfaces always version 0 or 1.

- It would be nice, if the plugin-loader provides functionality to
"switch" the interface of an instance of an implementation.
IIRC, the zone object knows, which interfaces are implemented by a
loadable class. (when the dll is loaded, the export-function
registers all the possible interfaces of one class to the zone). With
that information it should be possible to determine if a given
instance of a loaded class can be casted to another interface. (I
think that casting has to be done in the loaded extension, as this is
the only place where the layout it known. )

Are there any plans to include above mentioned functionality in
boost.extension?

Thanks in advance,
Stephan


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk