|
Boost : |
From: Vladimir Volod'ko (ustas_at_[hidden])
Date: 2007-03-19 00:58:23
Jeremy Pack wrote:
> Did you check out the code that I put up at
> http://sourceforge.net/projects/boost-extension/? I'm currently working on
> the documentation and unit tests for it (there are a few unit tests in it
> already). It should run on OS X, Windows and *nixes.
Hello!
I'm very interesting in such library for my project and would like to
help. Sorry for my English I'm not a native speaker.
> I actually work for Google, so I can help out with SoC.
> I really would not mind assistance with the library - this is only one of a
> few projects that I'm working on in my free time. I'm especially interested
> in any new ideas.
> The library needs:
> 1 - More unit tests
> 2 - Performance analysis
> 3 - Good documentation
I really want to help with it.
> I've thought of the following possible extensions for the library:
> 1 - A mechanism for, optionally, automatically closing linked libraries when
> they are no longer needed.
> 2 - An option to not use RTTI, which is currently required (there are
> various ways to do this - there have been suggestions to use some of the
> features in Boost.Serialization, and there are various slightly hacky
> techniques for it).
> 3 - Other bits of expanded linked library functionality.
> I built very full featured versions of the library earlier, but decided in
> the end that a very clean, extensible interface was more important. So I
> started from scratch about a month ago, resulting in what you see on
> Sourceforge.
> What features do you think are important?
Here is requirements for my project's plug-in system (actually, it is a
framework for _services_):
1. Locate and load plug-ins at start.
2. Load and unload plug-ins dynamically.
3. Track and resolve dependencies between plug-ins.
4. Plug-ins can add services and/or resources to service registry when
loaded and remove them when unloaded.
5. One can ask list of registered services' identifiers with concrete
name or satisfying custom condition.
6. After that one can acquire service by identifier.
7. If requested to unload plug-in is marked as removed and its services
are removed from the registry. Plug-in does unload when all its services
are released.
8. It is possible to register services without loading plug-in's dynamic
library. Framework will load the plug-in on demand.
9. There can be many plug-in loaders in the framework also registered as
services.
My attempt was to mimic OSGI ( www.osgi.org/ ) bundles. Have you any
ideas about it?
Vladimir Volod'ko
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk